Skip to content

Commit

Permalink
chore(release): Test v7.17.0 (#9448)
Browse files Browse the repository at this point in the history
* chore(env vars): Stripe vars moved to the Integrations section (#9427)

* chore: fix misleading `isLead` field name on `Team` (#9413)

* chore: fix misleading `isLead` field name on `Team`

The field indicates whether the viewer is the lead, but when used in a
query for a different user, the result could be read wrong.

* Fix Team.isLead dependencies

* feat: remove team template limit (#9424)

* update error message and increase template limit

* remove max team template limits

* remove canClone prop from CloneTemplate

* remove unused threshold

* remove unused threshold

* feat: Add Google calendar meeting series for recurrence (#9380)

* feat: Add recurrence to GCal events

* Fun with timezones

* fix: Increase the number of projects fetched per request from Atlassian (#9435)

We ran into timeouts in `getAllProjects`, presumably because we're doing
too many roundtrips. As a quick fix, increse the number of projects
fetched per request from 50 to 500.

* chore(deps): bump ip from 1.1.8 to 1.1.9 (#9442)

Bumps [ip](https://github.com/indutny/node-ip) from 1.1.8 to 1.1.9.
- [Commits](indutny/node-ip@v1.1.8...v1.1.9)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): release v7.17.0 (#9428)

Co-authored-by: parabol-release-bot[bot] <150284312+parabol-release-bot[bot]@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Rafa <101704572+rafaelromcar-parabol@users.noreply.github.com>
Co-authored-by: Georg Bremer <github@dschoordsch.de>
Co-authored-by: Nick O'Ferrall <nickoferrall@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: parabol-release-bot[bot] <150284312+parabol-release-bot[bot]@users.noreply.github.com>
  • Loading branch information
6 people authored Feb 27, 2024
1 parent c0ed2c7 commit 6a0ddb5
Show file tree
Hide file tree
Showing 31 changed files with 203 additions and 125 deletions.
6 changes: 3 additions & 3 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,9 @@ RETHINKDB_SSL='false'
# RECALL_AI_KEY=''
# SLACK_CLIENT_ID='key_SLACK_CLIENT_ID'
# SLACK_CLIENT_SECRET='key_SLACK_CLIENT_SECRET'
# STRIPE_SECRET_KEY='sk_test_4eC39HqLyjWDarjtT1zdp7dc'
# STRIPE_PUBLISHABLE_KEY='pk_test_TYooMQauvdEDq54NiTphI7jx'
# STRIPE_WEBHOOK_SECRET='sk_test_4eC39HqLyjWDarjtT1zdp7dc'

# MAIL
# MAIL GLOBALS. PROVIDER: mailgun | google | debug | smtp
Expand All @@ -127,9 +130,6 @@ MAIL_PROVIDER='debug'
# MAIL_SMTP_PASSWORD='key_MAIL_SMTP_PASSWORD'
# MAIL_SMTP_USE_TLS='1' # set to '0' for false
# MAIL_SMTP_CIPHERS='HIGH:MEDIUM:!aNULL:!eNULL:@STRENGTH:!DH:!kEDH'
# STRIPE_SECRET_KEY='sk_test_4eC39HqLyjWDarjtT1zdp7dc'
# STRIPE_PUBLISHABLE_KEY='pk_test_TYooMQauvdEDq54NiTphI7jx'
# STRIPE_WEBHOOK_SECRET='sk_test_4eC39HqLyjWDarjtT1zdp7dc'

# DEVELOPER VARIABLES
# CI='true'
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "7.16.0"
".": "7.17.0"
}
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,26 @@ This project adheres to [Semantic Versioning](http://semver.org/).

This CHANGELOG follows conventions [outlined here](http://keepachangelog.com/).

## [7.17.0](https://github.com/ParabolInc/parabol/compare/v7.16.0...v7.17.0) (2024-02-21)


### Added

* Add Google calendar meeting series for recurrence ([#9380](https://github.com/ParabolInc/parabol/issues/9380)) ([02dc6fa](https://github.com/ParabolInc/parabol/commit/02dc6fa6e4687021bb46a6774eb5f0be859e4d3f))
* remove team template limit ([#9424](https://github.com/ParabolInc/parabol/issues/9424)) ([f042628](https://github.com/ParabolInc/parabol/commit/f042628fef5bbdbf566c49bab729f5b9dec058f1))


### Fixed

* Increase the number of projects fetched per request from Atlassian ([#9435](https://github.com/ParabolInc/parabol/issues/9435)) ([b0b76f9](https://github.com/ParabolInc/parabol/commit/b0b76f9f45789f60b55243f78eba7b656c751658))


### Changed

* **deps:** bump ip from 1.1.8 to 1.1.9 ([#9442](https://github.com/ParabolInc/parabol/issues/9442)) ([c2a31e6](https://github.com/ParabolInc/parabol/commit/c2a31e6b8ef2c4f4d375323f8afbef6874024593))
* **env vars:** Stripe vars moved to the Integrations section ([#9427](https://github.com/ParabolInc/parabol/issues/9427)) ([a0af0c1](https://github.com/ParabolInc/parabol/commit/a0af0c1230a1dbc93a28977d6d61180319220c88))
* fix misleading `isLead` field name on `Team` ([#9413](https://github.com/ParabolInc/parabol/issues/9413)) ([c0a2fdf](https://github.com/ParabolInc/parabol/commit/c0a2fdf8fb3deaa34f7935ae8a87d30f43381ecd))

## [7.16.0](https://github.com/ParabolInc/parabol/compare/v7.15.2...v7.16.0) (2024-02-14)


Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"description": "An open-source app for building smarter, more agile teams.",
"author": "Parabol Inc. <love@parabol.co> (http://github.com/ParabolInc)",
"license": "AGPL-3.0",
"version": "7.16.0",
"version": "7.17.0",
"repository": {
"type": "git",
"url": "https://github.com/ParabolInc/parabol"
Expand Down
4 changes: 2 additions & 2 deletions packages/chronos/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "chronos",
"version": "7.16.0",
"version": "7.17.0",
"description": "A cron job scheduler",
"author": "Matt Krick <matt.krick@gmail.com>",
"homepage": "https://github.com/ParabolInc/parabol/tree/master/packages/chronos#readme",
Expand All @@ -25,6 +25,6 @@
},
"dependencies": {
"cron": "^2.3.1",
"parabol-server": "7.16.0"
"parabol-server": "7.17.0"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ export const TemplateDetails = (props: Props) => {
/>
</div>
<div className='rounded-full border border-solid border-slate-400'>
<CloneTemplate canClone={true} onClick={toggleTeamPickerPortal} />
<CloneTemplate onClick={toggleTeamPickerPortal} />
</div>
</>
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,11 @@ import graphql from 'babel-plugin-relay/macro'
import * as RadioGroup from '@radix-ui/react-radio-group'
import clsx from 'clsx'
import {Link} from 'react-router-dom'

import newTemplate from '../../../../../static/images/illustrations/newTemplate.png'
import estimatedEffortTemplate from '../../../../../static/images/illustrations/estimatedEffortTemplate.png'

import {CreateNewActivityQuery} from '~/__generated__/CreateNewActivityQuery.graphql'
import {ActivityCard, ActivityCardImage} from '../ActivityCard'
import {ActivityBadge} from '../ActivityBadge'

import IconLabel from '../../IconLabel'
import NewMeetingTeamPicker from '../../NewMeetingTeamPicker'
import sortByTier from '../../../utils/sortByTier'
Expand All @@ -20,7 +17,6 @@ import {AddReflectTemplateMutation$data} from '../../../__generated__/AddReflect
import useAtmosphere from '../../../hooks/useAtmosphere'
import useMutationProps from '../../../hooks/useMutationProps'
import AddReflectTemplateMutation from '../../../mutations/AddReflectTemplateMutation'
import {Threshold} from '../../../types/constEnums'
import useRouter from '../../../hooks/useRouter'
import {CATEGORY_ID_TO_NAME, CATEGORY_THEMES, CategoryID, DEFAULT_CARD_THEME} from '../Categories'
import BaseButton from '../../BaseButton'
Expand Down Expand Up @@ -111,15 +107,6 @@ const query = graphql`
...NewMeetingTeamPicker_selectedTeam
...NewMeetingTeamPicker_teams
}
availableTemplates(first: 2000) @connection(key: "ActivityLibrary_availableTemplates") {
edges {
node {
name
teamId
type
}
}
}
}
}
`
Expand Down Expand Up @@ -148,7 +135,7 @@ export const CreateNewActivity = (props: Props) => {
return selectedActivity
})
const {viewer} = data
const {teams, availableTemplates, preferredTeamId, featureFlags} = viewer
const {teams, preferredTeamId, featureFlags} = viewer
const [selectedTeam, setSelectedTeam] = useState(
teams.find((team) => team.id === preferredTeamId) ?? sortByTier(teams)[0]!
)
Expand All @@ -160,16 +147,6 @@ export const CreateNewActivity = (props: Props) => {
return
}

const teamTemplates = availableTemplates.edges.filter(
(template) =>
template.node.teamId === selectedTeam.id && template.node.type === 'retrospective'
)

if (teamTemplates.length >= Threshold.MAX_RETRO_TEAM_TEMPLATES) {
onError(new Error('You may only have 20 templates per team. Please remove one first.'))
return
}

submitMutation()
AddReflectTemplateMutation(
atmosphere,
Expand All @@ -195,15 +172,6 @@ export const CreateNewActivity = (props: Props) => {
return
}

const teamTemplates = availableTemplates.edges.filter(
(template) => template.node.teamId === selectedTeam.id && template.node.type === 'poker'
)

if (teamTemplates.length >= Threshold.MAX_POKER_TEAM_TEMPLATES) {
onError(new Error('You may only have 20 templates per team. Please remove one first.'))
return
}

submitMutation()
AddPokerTemplateMutation(
atmosphere,
Expand Down
2 changes: 1 addition & 1 deletion packages/client/components/ReviewRequestToJoinOrgModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ const ReviewRequestToJoinOrgModalViewerFragment = graphql`
teams {
id
name
isLead
isViewerLead
teamMembers(sortBy: "preferredName") {
userId
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import TooltipStyled from '../../../components/TooltipStyled'
import useAtmosphere from '../../../hooks/useAtmosphere'
import useMutationProps from '../../../hooks/useMutationProps'
import AddPokerTemplateMutation from '../../../mutations/AddPokerTemplateMutation'
import {Threshold} from '../../../types/constEnums'
import {AddNewPokerTemplate_pokerTemplates$key} from '../../../__generated__/AddNewPokerTemplate_pokerTemplates.graphql'
import {AddNewPokerTemplate_team$key} from '../../../__generated__/AddNewPokerTemplate_team.graphql'

Expand Down Expand Up @@ -79,17 +78,6 @@ const AddNewPokerTemplate = (props: Props) => {
displayUpgradeDetails()
return
}
if (pokerTemplates.length >= Threshold.MAX_RETRO_TEAM_TEMPLATES) {
onError(
new Error(
`You may only have ${Threshold.MAX_RETRO_TEAM_TEMPLATES} templates per team. Please remove one first.`
)
)
errorTimerId.current = window.setTimeout(() => {
onCompleted()
}, 8000)
return
}
if (pokerTemplates.find((template) => template.name.startsWith('*New Template'))) {
onError(new Error('You already have a new template. Try renaming that one first.'))
errorTimerId.current = window.setTimeout(() => {
Expand All @@ -106,7 +94,7 @@ const AddNewPokerTemplate = (props: Props) => {
template.name.startsWith('*New Template')
)

if (pokerTemplates.length > Threshold.MAX_POKER_TEAM_TEMPLATES || containsNewTemplate) return null
if (containsNewTemplate) return null
return (
<div>
{error && <ErrorLine>{error.message}</ErrorLine>}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import TooltipStyled from '../../../components/TooltipStyled'
import useAtmosphere from '../../../hooks/useAtmosphere'
import useMutationProps from '../../../hooks/useMutationProps'
import AddReflectTemplateMutation from '../../../mutations/AddReflectTemplateMutation'
import {Threshold} from '../../../types/constEnums'
import {AddNewReflectTemplate_reflectTemplates$key} from '../../../__generated__/AddNewReflectTemplate_reflectTemplates.graphql'
import {AddNewReflectTemplate_team$key} from '../../../__generated__/AddNewReflectTemplate_team.graphql'

Expand Down Expand Up @@ -79,13 +78,6 @@ const AddNewReflectTemplate = (props: Props) => {
displayUpgradeDetails()
return
}
if (reflectTemplates.length >= Threshold.MAX_RETRO_TEAM_TEMPLATES) {
onError(new Error('You may only have 20 templates per team. Please remove one first.'))
errorTimerId.current = window.setTimeout(() => {
onCompleted()
}, 8000)
return
}
if (reflectTemplates.find((template) => template.name.startsWith('*New Template'))) {
onError(new Error('You already have a new template. Try renaming that one first.'))
errorTimerId.current = window.setTimeout(() => {
Expand All @@ -102,8 +94,7 @@ const AddNewReflectTemplate = (props: Props) => {
template.name.startsWith('*New Template')
)

if (reflectTemplates.length > Threshold.MAX_RETRO_TEAM_TEMPLATES || containsNewTemplate)
return null
if (containsNewTemplate) return null
return (
<div>
{error && <ErrorLine>{error.message}</ErrorLine>}
Expand Down
9 changes: 3 additions & 6 deletions packages/client/modules/meeting/components/CloneTemplate.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,12 @@ import React from 'react'
import DetailAction from '../../../components/DetailAction'

interface Props {
canClone: boolean
onClick: () => void
}

const CloneTemplate = (props: Props) => {
const {canClone, onClick} = props
const tooltip = canClone ? 'Clone & Edit Template' : 'Too many team templates! Remove one first'
return (
<DetailAction disabled={!canClone} icon={'content_copy'} tooltip={tooltip} onClick={onClick} />
)
const {onClick} = props
const tooltip = 'Clone & Edit Template'
return <DetailAction icon={'content_copy'} tooltip={tooltip} onClick={onClick} />
}
export default CloneTemplate
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import useAtmosphere from '../../../hooks/useAtmosphere'
import useMutationProps from '../../../hooks/useMutationProps'
import AddPokerTemplateMutation from '../../../mutations/AddPokerTemplateMutation'
import {PALETTE} from '../../../styles/paletteV3'
import {Threshold} from '../../../types/constEnums'
import getTemplateList from '../../../utils/getTemplateList'
import useTemplateDescription from '../../../utils/useTemplateDescription'
import {PokerTemplateDetails_settings$key} from '../../../__generated__/PokerTemplateDetails_settings.graphql'
Expand Down Expand Up @@ -108,12 +107,10 @@ const PokerTemplateDetails = (props: Props) => {
const lowestScope = getTemplateList(teamId, orgId, activeTemplate)
const isOwner = activeTemplate.teamId === teamId
const description = useTemplateDescription(lowestScope, activeTemplate, tier)
const templateCount = teamTemplates.length
const atmosphere = useAtmosphere()
const {onError, onCompleted, submitting, submitMutation} = useMutationProps()
const canClone = templateCount < Threshold.MAX_POKER_TEAM_TEMPLATES
const onClone = () => {
if (submitting || !canClone) return
if (submitting) return
submitMutation()
AddPokerTemplateMutation(
atmosphere,
Expand Down Expand Up @@ -145,7 +142,7 @@ const PokerTemplateDetails = (props: Props) => {
type='poker'
/>
)}
{showClone && <CloneTemplate onClick={onClone} canClone={canClone} />}
{showClone && <CloneTemplate onClick={onClone} />}
</FirstLine>
<Description>{description}</Description>
</TemplateHeader>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import useAtmosphere from '../../../hooks/useAtmosphere'
import useMutationProps from '../../../hooks/useMutationProps'
import AddReflectTemplateMutation from '../../../mutations/AddReflectTemplateMutation'
import {PALETTE} from '../../../styles/paletteV3'
import {Threshold} from '../../../types/constEnums'
import getTemplateList from '../../../utils/getTemplateList'
import useTemplateDescription from '../../../utils/useTemplateDescription'
import {ReflectTemplateDetails_settings$key} from '../../../__generated__/ReflectTemplateDetails_settings.graphql'
Expand Down Expand Up @@ -116,12 +115,10 @@ const ReflectTemplateDetails = (props: Props) => {
const lowestScope = getTemplateList(teamId, orgId, activeTemplate)
const isOwner = activeTemplate.teamId === teamId
const description = useTemplateDescription(lowestScope, activeTemplate, tier)
const templateCount = teamTemplates.length
const atmosphere = useAtmosphere()
const {onError, onCompleted, submitting, submitMutation} = useMutationProps()
const canClone = templateCount < Threshold.MAX_RETRO_TEAM_TEMPLATES
const onClone = () => {
if (submitting || !canClone) return
if (submitting) return
submitMutation()
AddReflectTemplateMutation(
atmosphere,
Expand Down Expand Up @@ -153,7 +150,7 @@ const ReflectTemplateDetails = (props: Props) => {
type='retrospective'
/>
)}
{showClone && <CloneTemplate onClick={onClone} canClone={canClone} />}
{showClone && <CloneTemplate onClick={onClone} />}
</FirstLine>
<Description>{description}</Description>
</TemplateHeader>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ const ManageTeamList = (props: Props) => {
const team = useFragment(
graphql`
fragment ManageTeamList_team on Team {
isLead
isViewerLead
isOrgAdmin
teamMembers(sortBy: "preferredName") {
id
Expand All @@ -36,7 +36,7 @@ const ManageTeamList = (props: Props) => {
`,
props.team
)
const {isLead: isViewerLead, isOrgAdmin: isViewerOrgAdmin, teamMembers} = team
const {isViewerLead, isOrgAdmin: isViewerOrgAdmin, teamMembers} = team
return (
<List>
{teamMembers.map((teamMember) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ const query = graphql`
viewer {
team(teamId: $teamId) {
...ArchiveTeam_team
isLead
isViewerLead
id
name
tier
Expand Down
2 changes: 1 addition & 1 deletion packages/client/mutations/PromoteToTeamLeadMutation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {PromoteToTeamLeadMutation as TPromoteToTeamLeadMutation} from '../__gene
graphql`
fragment PromoteToTeamLeadMutation_team on PromoteToTeamLeadPayload {
team {
isLead
isViewerLead
}
oldLeader {
...DashboardAvatar_teamMember
Expand Down
2 changes: 1 addition & 1 deletion packages/client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"description": "An open-source app for building smarter, more agile teams.",
"author": "Parabol Inc. <love@parabol.co> (http://github.com/ParabolInc)",
"license": "AGPL-3.0",
"version": "7.16.0",
"version": "7.17.0",
"repository": {
"type": "git",
"url": "https://github.com/ParabolInc/parabol"
Expand Down
2 changes: 0 additions & 2 deletions packages/client/types/constEnums.ts
Original file line number Diff line number Diff line change
Expand Up @@ -397,8 +397,6 @@ export const enum Threshold {
MAX_POKER_TEMPLATE_SCALES = 12,
MAX_POKER_SCALE_VALUES = 30,
POKER_SCALE_VALUE_MAX_LENGTH = 3,
MAX_RETRO_TEAM_TEMPLATES = 20,
MAX_POKER_TEAM_TEMPLATES = 20,
MAX_POKER_DIMENSION_NAME = 50,
MAX_QUAL_AI_MEETINGS = 3,
MAX_REACTJIS = 12,
Expand Down
6 changes: 3 additions & 3 deletions packages/gql-executor/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "gql-executor",
"version": "7.16.0",
"version": "7.17.0",
"description": "A Stateless GraphQL Executor",
"author": "Matt Krick <matt.krick@gmail.com>",
"homepage": "https://github.com/ParabolInc/parabol/tree/master/packages/gqlExecutor#readme",
Expand All @@ -27,8 +27,8 @@
},
"dependencies": {
"dd-trace": "^4.2.0",
"parabol-client": "7.16.0",
"parabol-server": "7.16.0",
"parabol-client": "7.17.0",
"parabol-server": "7.17.0",
"undici": "^5.26.2"
}
}
Loading

0 comments on commit 6a0ddb5

Please sign in to comment.