Skip to content

Commit

Permalink
chore(release): Test v7.25.4 (#9616)
Browse files Browse the repository at this point in the history
Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Matt Krick <[email protected]>
Co-authored-by: Rafa <[email protected]>
Co-authored-by: Georg Bremer <[email protected]>
Co-authored-by: Nick O'Ferrall <[email protected]>
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>
Co-authored-by: Matt Krick <[email protected]>
Co-authored-by: Jordan Husney <[email protected]>
Co-authored-by: adaniels-parabol <[email protected]>
Co-authored-by: snyk-bot <[email protected]>
Co-authored-by: Dale Bumblis <[email protected]>
Co-authored-by: Bartosz Jarocki <[email protected]>
Co-authored-by: Marcus Wermuth <[email protected]>
Co-authored-by: Rafael Romero <[email protected]>
Co-authored-by: Bruce Tian <[email protected]>
Co-authored-by: GitHub Action <[email protected]>
Co-authored-by: Mohd Muneeb <[email protected]>
Co-authored-by: Muneeb-Ventures <[email protected]>
Co-authored-by: github-actions <[email protected]>
  • Loading branch information
19 people authored Apr 10, 2024
1 parent fec143b commit 8b42a5d
Show file tree
Hide file tree
Showing 57 changed files with 346 additions and 706 deletions.
1 change: 0 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ AI_EMBEDDER_WORKERS='1'
# AWS_SECRET_ACCESS_KEY='key_AWS_SECRET_ACCESS_KEY'

# MONITORING
# SEGMENT_WRITE_KEY='key_SEGMENT_WRITE_KEY'
# SENTRY_DSN='key_SENTRY_DSN'

# CDN SETTINGS
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/ironbank.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ jobs:
run: |
docker cp temp-container:/home/node/parabol/dist ./dist
docker cp temp-container:/home/node/parabol/build ./build
docker cp temp-container:/home/node/tools/ip-to-server_id ./tools/ip-to-server_id
- name: Zip the files
run: zip -r ${{ github.event.inputs.version_number }}.zip dist build
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-to-staging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:
--header 'PRIVATE-TOKEN: ${{ secrets.GITLAB_DEPLOYMENT_ACCESS_TOKEN }}')
PIPELINE_ID=$(echo $PIPELINES | jq ".[] | select(.sha == \"${{ env.COMMIT_ID }}\")" | jq .id)
[ -z "$PIPELINE_ID" ] && exit 1
JOBS=$(curl "https://gitlab.com/api/v4/projects/${{ vars.GITLAB_PROJECT_ID }}/pipelines/$PIPELINE_ID/jobs" \
JOBS=$(curl "https://gitlab.com/api/v4/projects/${{ vars.GITLAB_PROJECT_ID }}/pipelines/$PIPELINE_ID/jobs?per_page=100" \
--header 'PRIVATE-TOKEN: ${{ secrets.GITLAB_DEPLOYMENT_ACCESS_TOKEN }}')
JOB_ID=$(echo $JOBS | jq '.[] | select(.name == "${{ env.STAGING_JOB }}")' | jq .id)
PROD_JOB_ID=$(echo $JOBS | jq '.[] | select(.name == "${{ env.PRODUCTION_JOB}}")' | jq .id)
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.24.1"
".": "7.25.4"
}
67 changes: 67 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,73 @@ This project adheres to [Semantic Versioning](http://semver.org/).

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

## [7.25.4](https://github.com/ParabolInc/parabol/compare/v7.25.3...v7.25.4) (2024-04-09)


### Fixed

* Revert "[Snyk] Upgrade graphql from 15.7.2 to 15.8.0 ([#9569](https://github.com/ParabolInc/parabol/issues/9569))" ([#9614](https://github.com/ParabolInc/parabol/issues/9614)) ([ecc2cdc](https://github.com/ParabolInc/parabol/commit/ecc2cdc4b67e1788763af601984e1cbf76f02235))

## [7.25.3](https://github.com/ParabolInc/parabol/compare/v7.25.2...v7.25.3) (2024-04-09)


### Fixed

* Add AuthIdentityMicrosoft ([#9612](https://github.com/ParabolInc/parabol/issues/9612)) ([e3d8b38](https://github.com/ParabolInc/parabol/commit/e3d8b3899845b565e91259217e96f222d116b70c))
* remove top level graphql-relay dependency ([#9611](https://github.com/ParabolInc/parabol/issues/9611)) ([72fc294](https://github.com/ParabolInc/parabol/commit/72fc2940bb912f9c81056d2d3ac539602a6aa8b2))


### Changed

* **segment:** remove Segment ([#9599](https://github.com/ParabolInc/parabol/issues/9599)) ([537a8af](https://github.com/ParabolInc/parabol/commit/537a8afce7702251337bc8946a6703c25d668133))

## [7.25.2](https://github.com/ParabolInc/parabol/compare/v7.25.1...v7.25.2) (2024-04-08)


### Fixed

* return 100 gitlab pipeline jobs ([#9607](https://github.com/ParabolInc/parabol/issues/9607)) ([7a26009](https://github.com/ParabolInc/parabol/commit/7a26009931fdb55d298390eb7871937d3a09eca7))

## [7.25.1](https://github.com/ParabolInc/parabol/compare/v7.25.0...v7.25.1) (2024-04-08)


### Fixed

* fallback for missing avatar images ([#9603](https://github.com/ParabolInc/parabol/issues/9603)) ([1a7e298](https://github.com/ParabolInc/parabol/commit/1a7e298a6fbd4c6a06acdfdca4d815029811178f))
* fix an issue where upcoming invoice doesn't have the nextPeriodCharges field ([#9580](https://github.com/ParabolInc/parabol/issues/9580)) ([cb52596](https://github.com/ParabolInc/parabol/commit/cb52596c2f69b4b6e1641654610bb2335cefd0f2))
* fix the issue where timer doesn't work in TEAM_HEALTH phase ([#9597](https://github.com/ParabolInc/parabol/issues/9597)) ([96f29b5](https://github.com/ParabolInc/parabol/commit/96f29b56e7a5bd63cb8ec5c879a7c2fb80ef803d))
* type error in invite email ([#9606](https://github.com/ParabolInc/parabol/issues/9606)) ([6ead321](https://github.com/ParabolInc/parabol/commit/6ead321741734cff47a953b3b1ac1e8999f16594))


### Changed

* Add inviter name to invite email subject ([#9604](https://github.com/ParabolInc/parabol/issues/9604)) ([cd5a3a8](https://github.com/ParabolInc/parabol/commit/cd5a3a844a90d5160f11ff38ee63b3db87894b20))
* update ironbank GH action to copy ip-to-server-id script ([#9594](https://github.com/ParabolInc/parabol/issues/9594)) ([89aeea3](https://github.com/ParabolInc/parabol/commit/89aeea362ac46d365cb2ff9ab9971c30f816103c))

## [7.25.0](https://github.com/ParabolInc/parabol/compare/v7.24.1...v7.25.0) (2024-04-04)


### Added

* update pricing page with template changes ([#9596](https://github.com/ParabolInc/parabol/issues/9596)) ([01f69de](https://github.com/ParabolInc/parabol/commit/01f69de9eb809ef16ac954e5d75ac884b11f8342))


### Fixed

* Add graphql-relay to predeploy ([#9595](https://github.com/ParabolInc/parabol/issues/9595)) ([b92d96e](https://github.com/ParabolInc/parabol/commit/b92d96e2972560ee16f83d90a82ebbb946e39dc0))
* Don't reuse another team members integrated task ([#9600](https://github.com/ParabolInc/parabol/issues/9600)) ([9794033](https://github.com/ParabolInc/parabol/commit/9794033249ee5c20a8f014a8b5ae38ce87294ead))
* **single-tenant:** application upgrades do not need --profile databases ([#9593](https://github.com/ParabolInc/parabol/issues/9593)) ([9486587](https://github.com/ParabolInc/parabol/commit/9486587c9f7d4b1c40a0eff549e819ed4565aa23))
* trim inet address ([#9598](https://github.com/ParabolInc/parabol/issues/9598)) ([c6da00c](https://github.com/ParabolInc/parabol/commit/c6da00c06929d377b8b698c82352559d1da85467))


### Changed

* **deps-dev:** bump webpack-dev-middleware from 4.0.2 to 5.3.4 ([#9561](https://github.com/ParabolInc/parabol/issues/9561)) ([dbc9f09](https://github.com/ParabolInc/parabol/commit/dbc9f091a4c93efc0eca24c5cd42b80bae95cff3))
* **deps:** bump express from 4.18.2 to 4.19.2 ([#9566](https://github.com/ParabolInc/parabol/issues/9566)) ([8ab86b4](https://github.com/ParabolInc/parabol/commit/8ab86b4cd8698ba6f0a4cdec8eca2bf31a290599))
* **deps:** bump follow-redirects from 1.15.2 to 1.15.6 ([#9536](https://github.com/ParabolInc/parabol/issues/9536)) ([e372f5f](https://github.com/ParabolInc/parabol/commit/e372f5f7bccd0a2fd1b4fea414610ad12fe0ec89))
* **deps:** bump jose from 4.14.4 to 4.15.5 ([#9515](https://github.com/ParabolInc/parabol/issues/9515)) ([c312f48](https://github.com/ParabolInc/parabol/commit/c312f4821698ae7966dee8889a0c8c3353733dcc))
* Remove one on one meeting type ([#9590](https://github.com/ParabolInc/parabol/issues/9590)) ([415d03b](https://github.com/ParabolInc/parabol/commit/415d03b2ce5216608a2dd144166666013d1752a0))

## [7.24.1](https://github.com/ParabolInc/parabol/compare/v7.24.0...v7.24.1) (2024-04-02)


Expand Down
2 changes: 1 addition & 1 deletion docker/stacks/single-tenant-host/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ To run Parabol in single tenant mode (e.g. simple docker-compose on a docker hos

1. Edit the `docker-compose.yaml` and change the `#image:tag` changing the tag. Ex: from `v7.15.0` to `v7.15.2`.
2. (optional) In a different terminal, run `docker compose logs -f` to follow the upgrade.
3. Run `docker compose --profile databases --profile parabol up -d`. It will start the `pre-deploy` and, once it is done successfully, then it will stop and recreate the `web-server` and `gql-executor` with the new version of the image. **This step implies a downtime**.
3. Run `docker compose --profile parabol up -d`. It will start the `pre-deploy` and, once it is done successfully, then it will stop and recreate the `web-server` and `gql-executor` with the new version of the image. **This step implies a downtime**.
4. Verify the application is still up and running.

## Running Chronos
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. <[email protected]> (http://github.com/ParabolInc)",
"license": "AGPL-3.0",
"version": "7.24.1",
"version": "7.25.4",
"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.24.1",
"version": "7.25.4",
"description": "A cron job scheduler",
"author": "Matt Krick <[email protected]>",
"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.24.1"
"parabol-server": "7.25.4"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -73,22 +73,6 @@ const ACTIVITY_TYPE_DATA_LOOKUP: Record<
}
}

const ACTIVITY_ID_DATA_LOOKUP: Record<
string,
{description: React.ReactNode; integrationsTip: React.ReactNode}
> = {
oneOnOneAction: {
description: (
<>
This is a space to check in one-on-one. Share a personal update using the <b>Icebreaker</b>{' '}
phase. Give a brief update on what’s changed with your work during the <b>Solo Updates</b>{' '}
phase. Raise issues for discussion in the <b>Agenda</b> phase.
</>
),
integrationsTip: <>push takeaway tasks to your backlog</>
}
}

interface Props {
activityRef: TemplateDetails_activity$key
isEditing: boolean
Expand Down Expand Up @@ -143,8 +127,7 @@ export const TemplateDetails = (props: Props) => {
} = activity
const {id: teamId, editingScaleId} = team

const {description: activityDescription, integrationsTip} =
ACTIVITY_ID_DATA_LOOKUP[activityId] ?? ACTIVITY_TYPE_DATA_LOOKUP[type]
const {description: activityDescription, integrationsTip} = ACTIVITY_TYPE_DATA_LOOKUP[type]

const viewer = useFragment(
graphql`
Expand Down
143 changes: 20 additions & 123 deletions packages/client/components/ActivityLibrary/ActivityDetailsSidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import useAtmosphere from '../../hooks/useAtmosphere'
import {MenuPosition} from '../../hooks/useCoords'
import useMutationProps from '../../hooks/useMutationProps'
import SelectTemplateMutation from '../../mutations/SelectTemplateMutation'
import SendClientSideEvent from '../../utils/SendClientSideEvent'
import StartCheckInMutation from '../../mutations/StartCheckInMutation'
import StartTeamPromptMutation from '../../mutations/StartTeamPromptMutation'
import {PALETTE} from '../../styles/paletteV3'
Expand All @@ -33,14 +32,6 @@ import StyledError from '../StyledError'
import FlatPrimaryButton from '../FlatPrimaryButton'
import NewMeetingActionsCurrentMeetings from '../NewMeetingActionsCurrentMeetings'
import NewMeetingTeamPicker from '../NewMeetingTeamPicker'
import {AdhocTeamMultiSelect, Option} from '../AdhocTeamMultiSelect/AdhocTeamMultiSelect'
import {Select} from '../../ui/Select/Select'
import {SelectTrigger} from '../../ui/Select/SelectTrigger'
import {SelectValue} from '../../ui/Select/SelectValue'
import {SelectContent} from '../../ui/Select/SelectContent'
import {SelectGroup} from '../../ui/Select/SelectGroup'
import {SelectItem} from '../../ui/Select/SelectItem'
import OneOnOneTeamStatus from './OneOnOneTeamStatus'
import ScheduleMeetingButton from './ScheduleMeetingButton'
import useBreakpoint from '../../hooks/useBreakpoint'
import {Breakpoint} from '../../types/constEnums'
Expand Down Expand Up @@ -156,37 +147,6 @@ const ActivityDetailsSidebar = (props: Props) => {
const mutationProps = useMutationProps()
const {onError, onCompleted, submitting, submitMutation, error} = mutationProps
const history = useHistory()
const {organizations: viewerOrganizations} = viewer
const [selectedUser, setSelectedUser] = React.useState<Option>()
const [mutualOrgsIds, setMutualOrgsIds] = React.useState<string[]>([])

const showOrgPicker = selectedUser && (mutualOrgsIds.length > 1 || !mutualOrgsIds.length)

const defaultOrgId = mutualOrgsIds[0] ?? selectedTeam.orgId
const [selectedOrgId, setSelectedOrgId] = useState(defaultOrgId)

const onUserSelected = (newUsers: Option[]) => {
const user = newUsers[0]
setSelectedUser(user)
if (user) {
SendClientSideEvent(atmosphere, 'Teammate Selected', {
selectionLocation: 'oneOnOneUserPicker'
})
}
const selectedUserOrganizationIds = new Set(user?.organizationIds ?? [])
const mutualOrgs = viewerOrganizations.filter((org) => selectedUserOrganizationIds.has(org.id))
const mutualOrgsIds = mutualOrgs.map((org) => org.id)
setMutualOrgsIds(mutualOrgsIds)
setSelectedOrgId(mutualOrgsIds[0] ?? selectedTeam.orgId)
onError(new Error(''))
}

const oneOnOneTeamInput = selectedUser
? {
email: selectedUser.email,
orgId: selectedOrgId
}
: null

const handleStartActivity = (
gcalInput?: CreateGcalEventInput,
Expand All @@ -210,20 +170,9 @@ const ActivityDetailsSidebar = (props: Props) => {
{history, onError, onCompleted}
)
} else if (type === 'action') {
const variables =
selectedTemplate.id !== 'oneOnOneAction'
? {
teamId: selectedTeam.id,
gcalInput
}
: {
oneOnOneTeamInput,
gcalInput
}

if (selectedTemplate.id === 'oneOnOneAction' && !oneOnOneTeamInput) {
onError(new Error('Please select a teammate'))
return
const variables = {
teamId: selectedTeam.id,
gcalInput
}

StartCheckInMutation(atmosphere, variables, {history, onError, onCompleted})
Expand Down Expand Up @@ -337,55 +286,14 @@ const ActivityDetailsSidebar = (props: Props) => {
)}
>
<div className='mt-6 flex grow flex-col gap-2'>
{/* TODO: move one-on-one logic to its own component */}
{selectedTemplate.id === 'oneOnOneAction' ? (
<div className='rounded-lg bg-slate-200 p-3'>
<div className='text-gray-700 pb-3 text-lg font-semibold'>Teammate</div>
<AdhocTeamMultiSelect
viewerRef={viewer}
onChange={onUserSelected}
value={selectedUser ? [selectedUser] : []}
multiple={false}
/>

{showOrgPicker && (
<>
<div className='text-gray-700 my-4 text-sm font-semibold'>Organization</div>
<Select
onValueChange={(orgId) => setSelectedOrgId(orgId)}
value={selectedOrgId}
>
<SelectTrigger className='bg-white'>
<SelectValue />
</SelectTrigger>
<SelectContent>
<SelectGroup>
{viewerOrganizations
.filter((org) =>
mutualOrgsIds.length ? mutualOrgsIds.includes(org.id) : true
)
.map((org) => (
<SelectItem value={org.id} key={org.id}>
{org.name}
</SelectItem>
))}
</SelectGroup>
</SelectContent>
</Select>
</>
)}
</div>
) : (
<NewMeetingTeamPicker
positionOverride={isMobile ? MenuPosition.UPPER_RIGHT : MenuPosition.UPPER_LEFT} // refactor this: https://github.com/ParabolInc/parabol/issues/9274
onSelectTeam={onSelectTeam}
selectedTeamRef={selectedTeam}
teamsRef={availableTeams}
customPortal={teamScopePopover}
allowAddTeam={viewer.featureFlags.adHocTeams}
/>
)}

<NewMeetingTeamPicker
positionOverride={isMobile ? MenuPosition.UPPER_RIGHT : MenuPosition.UPPER_LEFT} // refactor this: https://github.com/ParabolInc/parabol/issues/9274
onSelectTeam={onSelectTeam}
selectedTeamRef={selectedTeam}
teamsRef={availableTeams}
customPortal={teamScopePopover}
allowAddTeam={viewer.featureFlags.adHocTeams}
/>
{type === 'retrospective' && (
<>
<NewMeetingSettingsToggleCheckIn settingsRef={selectedTeam.retroSettings} />
Expand All @@ -407,27 +315,16 @@ const ActivityDetailsSidebar = (props: Props) => {
</div>

<div className='z-10 flex h-fit w-full flex-col gap-2 pb-4'>
{oneOnOneTeamInput && (
<OneOnOneTeamStatus
email={oneOnOneTeamInput.email}
orgId={oneOnOneTeamInput.orgId}
name={(selectedUser?.id ? selectedUser?.label : selectedUser?.email) ?? ''}
/>
)}
{error && <StyledError>{error.message}</StyledError>}
{selectedTemplate.id !== 'oneOnOneAction' && (
<>
<NewMeetingActionsCurrentMeetings team={selectedTeam} />
{/* TODO: scheduling meeting does not work with one-on-one https://github.com/ParabolInc/parabol/issues/8820 */}
<ScheduleMeetingButton
handleStartActivity={handleStartActivity}
mutationProps={mutationProps}
teamRef={selectedTeam}
placeholder={meetingNamePlaceholder}
withRecurrence={withRecurrence}
/>
</>
)}
<NewMeetingActionsCurrentMeetings team={selectedTeam} />
{/* TODO: scheduling meeting does not work with one-on-one https://github.com/ParabolInc/parabol/issues/8820 */}
<ScheduleMeetingButton
handleStartActivity={handleStartActivity}
mutationProps={mutationProps}
teamRef={selectedTeam}
placeholder={meetingNamePlaceholder}
withRecurrence={withRecurrence}
/>
<FlatPrimaryButton
onClick={() => handleStartActivity()}
waiting={submitting}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,6 @@ const query = graphql`
}
organizations {
featureFlags {
oneOnOne
aiTemplate
}
}
Expand Down Expand Up @@ -198,7 +197,6 @@ export const ActivityLibrary = (props: Props) => {
const data = usePreloadedQuery<ActivityLibraryQuery>(query, queryRef)
const {viewer} = data
const {featureFlags, availableTemplates, organizations} = viewer
const hasOneOnOneFeatureFlag = !!organizations.find((org) => org.featureFlags.oneOnOne)
const hasAITemplateFeatureFlag = !!organizations.find((org) => org.featureFlags.aiTemplate)

const setSearch = (value: string) => {
Expand All @@ -211,9 +209,6 @@ export const ActivityLibrary = (props: Props) => {

const templates = useMemo(() => {
const templatesMap = availableTemplates.edges.map((edge) => edge.node)
if (!hasOneOnOneFeatureFlag) {
return templatesMap.filter((template) => template.id !== 'oneOnOneAction')
}
return templatesMap
}, [availableTemplates])

Expand Down
Loading

0 comments on commit 8b42a5d

Please sign in to comment.