Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(release): Test and deploy to Production v8.23.0 #10749

Merged
merged 725 commits into from
Jan 29, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
725 commits
Select commit Hold shift + click to select a range
203835e
fix: stop series when team is no more (#10268)
mattkrick Sep 24, 2024
6273411
chore(rethinkdb): NewMeeting: Phase 1a (#10216)
mattkrick Sep 27, 2024
8070a7e
chore(rethinkdb): NewMeeting: Phase 1b (#10250)
mattkrick Sep 27, 2024
48b66ab
chore(release): release v7.48.1 (#10269)
parabol-release-bot[bot] Sep 27, 2024
b8e9925
chore(deps): bump express from 4.19.2 to 4.20.0 (#10212)
dependabot[bot] Oct 1, 2024
66097b8
fix: Fix crash in end checkin without pinned agenda items (#10282)
Dschoordsch Oct 1, 2024
b0a317c
chore(release): release v7.48.2 (#10280)
parabol-release-bot[bot] Oct 1, 2024
1a86d3c
chore(rethinkdb): NewMeeting: Phase 2 (#10266)
mattkrick Oct 1, 2024
84a60cd
chore(release): release v7.48.3 (#10286)
parabol-release-bot[bot] Oct 2, 2024
1c87753
feat(misc): add timer control to more meeting phases (#10279)
tianrunhe Oct 2, 2024
ae72c0d
fix: deadlock on teamprompt (#10290)
mattkrick Oct 3, 2024
55a7978
chore(release): release v7.49.0 (#10288)
parabol-release-bot[bot] Oct 3, 2024
d18a7a4
fix: endTeamPrompt bugs (#10295)
mattkrick Oct 4, 2024
78d85f6
chore(release): release v7.49.1 (#10296)
parabol-release-bot[bot] Oct 7, 2024
ff6c25e
feat: add feature flag tables (#10184)
nickoferrall Oct 7, 2024
209921f
chore(release): release v7.50.0 (#10302)
parabol-release-bot[bot] Oct 7, 2024
6c058ac
chore: improve feature flag error feedback (#10304)
nickoferrall Oct 7, 2024
533f555
chore(release): release v7.50.1 (#10305)
parabol-release-bot[bot] Oct 7, 2024
ef99718
chore(metrics): update org activities GraphQL query (#10278)
tianrunhe Oct 7, 2024
939324d
chore(release): release v7.50.2 (#10307)
parabol-release-bot[bot] Oct 7, 2024
de317d2
fix(webserver): exits with code 0 when SIGTERM is handled (#10301)
rafaelromcar-parabol Oct 8, 2024
1667810
chore(rethinkdb): NewMeeting: Phase 3 (#10273)
mattkrick Oct 8, 2024
abd8281
chore(rethinkdb): MeetingMember: Phase 1 (#10289)
mattkrick Oct 8, 2024
f808094
chore(release): release v7.50.3 (#10310)
parabol-release-bot[bot] Oct 8, 2024
af50d0a
chore(rethinkdb): MeetingMember: Phase 2 (#10294)
mattkrick Oct 8, 2024
dee4e0f
chore(rethinkdb): MeetingMember: Phase 3 (#10298)
mattkrick Oct 8, 2024
fff7383
chore(release): release v7.50.4 (#10314)
parabol-release-bot[bot] Oct 8, 2024
de9df6c
fix: timeRemaining (#10316)
mattkrick Oct 8, 2024
3476051
chore(release): release v7.50.5 (#10317)
parabol-release-bot[bot] Oct 8, 2024
887abd4
fix: catch error if user tries to join meeting twice (#10320)
mattkrick Oct 9, 2024
8e1222f
chore: update snyk workflow to use node20 (#10324)
dbumblis-parabol Oct 9, 2024
fc1ef4d
chore(rethinkdb): MassInvitation: OneShot (#10311)
mattkrick Oct 9, 2024
8b9a2c7
chore(release): release v7.50.6 (#10322)
parabol-release-bot[bot] Oct 9, 2024
92deddf
chore(rethinkdb): NewFeature: OneShot (#10312)
mattkrick Oct 10, 2024
72ea4e1
chore(rethinkdb): TeamInvitation: Phase 1 (#10325)
mattkrick Oct 10, 2024
8f6049e
chore(release): release v7.50.7 (#10331)
parabol-release-bot[bot] Oct 10, 2024
f8486ba
chore(rethinkdb): TeamInvitation: Phase 2 (#10326)
mattkrick Oct 10, 2024
16c2b35
chore(release): release v7.50.8 (#10333)
parabol-release-bot[bot] Oct 10, 2024
9b52d49
chore(rethinkdb): TeamInvitation: Phase 3 (#10327)
mattkrick Oct 10, 2024
a3aba86
fix(dd-trace): upgrade to v5.0.0 (#10343)
rafaelromcar-parabol Oct 15, 2024
f20d364
chore(release): release v7.50.9 (#10335)
parabol-release-bot[bot] Oct 15, 2024
6c8d420
chore: remove old invite notifications (#10345)
mattkrick Oct 15, 2024
197bbc5
chore(release): release v7.50.10 (#10346)
parabol-release-bot[bot] Oct 15, 2024
0932822
chore(deployment): PR title for the PR that deploys to production sta…
rafaelromcar-parabol Oct 15, 2024
5202a3b
chore(rethinkdb): Task: Phase 1 (#10336)
mattkrick Oct 15, 2024
b152a8f
chore(release): release v7.50.11 (#10349)
parabol-release-bot[bot] Oct 16, 2024
62977ae
chore(rethinkdb): Task: Phase 2 (#10338)
mattkrick Oct 16, 2024
3d4e136
chore(release): release v7.50.12 (#10352)
parabol-release-bot[bot] Oct 16, 2024
aa8e931
feat: add Insights UI skeleton (#10254)
nickoferrall Oct 16, 2024
f99e63a
feat: show default insight (#10283)
nickoferrall Oct 16, 2024
dfdb68c
chore: remove feature flag owner (#10319)
nickoferrall Oct 16, 2024
ca069db
feat(orgAdmin): Add org admin teaser in org team page for non-enterpr…
tianrunhe Oct 16, 2024
7965ab6
chore(rethinkdb): Task: Phase 3 (#10339)
mattkrick Oct 16, 2024
dd446d0
chore(release): release v7.51.0 (#10355)
parabol-release-bot[bot] Oct 16, 2024
a4ea952
fix: correct serialization of Task.content (#10362)
mattkrick Oct 17, 2024
458ee0a
chore(release): release v7.51.1 (#10363)
parabol-release-bot[bot] Oct 17, 2024
3964c7c
chore(rethinkdb): Notification: Phase 1 (#10350)
mattkrick Oct 17, 2024
64b4329
chore(release): release v7.51.2 (#10365)
parabol-release-bot[bot] Oct 17, 2024
41ee5f5
chore(rethinkdb): Notification: Phase 2 (#10356)
mattkrick Oct 17, 2024
6fb62a7
chore(rethinkdb): Notification: Phase 3 (#10357)
mattkrick Oct 17, 2024
060b828
chore(release): release v7.51.3 (#10367)
parabol-release-bot[bot] Oct 17, 2024
c5b0d08
chore(rethinkdb): Add missing foreign key constraints (#10359)
mattkrick Oct 18, 2024
27a9752
fix: shortcircuit looking up tasks my integrationHash (#10371)
mattkrick Oct 18, 2024
07ad71d
chore(release): release v7.51.4 (#10369)
parabol-release-bot[bot] Oct 18, 2024
74b2e01
fix: complete partial value for updateTaskPayload (#10373)
mattkrick Oct 18, 2024
6a3e770
chore(release): release v7.51.5 (#10377)
parabol-release-bot[bot] Oct 18, 2024
2450d5e
fix: no duplicate notification inserts (#10380)
mattkrick Oct 18, 2024
21551df
chore: Add migration for shared secret integration provider (#10382)
Dschoordsch Oct 18, 2024
e6238a5
chore: remove usage stats (#10260)
nickoferrall Oct 21, 2024
5446b2d
feat: add insights feedback UI modal (#10341)
nickoferrall Oct 21, 2024
6b817ee
fix: Crash when starting a checkin with agenda items (#10383)
Dschoordsch Oct 21, 2024
b7feeac
chore(release): release v7.52.0 (#10381)
parabol-release-bot[bot] Oct 21, 2024
fcf66d7
fix: if not exists on meetingsCount (#10386)
mattkrick Oct 21, 2024
4043303
chore(release): release v7.52.1 (#10387)
parabol-release-bot[bot] Oct 21, 2024
47f080a
chore: remove local cache (#10379)
mattkrick Oct 21, 2024
8ffa7d2
chore: super user can generate insight (#10394)
nickoferrall Oct 22, 2024
5215466
chore(rethinkdb): Remove all references to RethinkDB (#10395)
mattkrick Oct 23, 2024
81f4734
chore: release 8.0.0
mattkrick Oct 23, 2024
ad8b13d
chore: remove kysely-ctl from prod bundle (#10398)
mattkrick Oct 23, 2024
7f60737
chore(release): release v8.0.0 (#10390)
parabol-release-bot[bot] Oct 23, 2024
87f9a7c
fix: apply imports transform (#10401)
mattkrick Oct 23, 2024
9ddd5e5
chore(release): release v8.0.1 (#10402)
parabol-release-bot[bot] Oct 23, 2024
b5bd2b4
chore: Add Mattermost Plugin IntegrationProvider (#10361)
Dschoordsch Oct 24, 2024
f67328f
feat: show insights by default (#10405)
nickoferrall Oct 24, 2024
a60106f
fix: small bugs found in datadog logs (#10414)
mattkrick Oct 24, 2024
55c8a80
chore(release): release v8.1.0 (#10408)
parabol-release-bot[bot] Oct 24, 2024
2c49dce
fix: increase URL col length for IntegrationProvider
mattkrick Oct 24, 2024
c101e30
fix: index on discussionTopicId (#10423)
mattkrick Oct 25, 2024
47c900d
[Snyk] Upgrade @radix-ui/react-alert-dialog from 1.1.1 to 1.1.2 (#10407)
mattkrick Oct 28, 2024
e963369
fix: support pg tracing in dd-trace-js (#10424)
mattkrick Oct 28, 2024
2ce4068
chore(release): release v8.1.1 (#10416)
parabol-release-bot[bot] Oct 28, 2024
88fec61
fix: TeamMemberIntegrationAuth single fetch (#10426)
mattkrick Oct 28, 2024
96a827b
feat: add featureFlags migration (#10375)
nickoferrall Oct 28, 2024
27ff2dc
chore(release): release v8.2.0 (#10427)
parabol-release-bot[bot] Oct 28, 2024
1b36b18
fix: latestMeeting query (#10429)
mattkrick Oct 29, 2024
62b610a
chore(metrics): add metrics to identify who attempte to upgrade organ…
tianrunhe Oct 30, 2024
4f515ea
feat(orgAdmins): show total user & team counts (#10396)
tianrunhe Oct 30, 2024
f10b58e
fix: reset retro group safely (#10431)
mattkrick Oct 31, 2024
90403c6
fix: throw on migration error (#10439)
mattkrick Oct 31, 2024
2870593
chore(release): release v8.3.0 (#10430)
parabol-release-bot[bot] Oct 31, 2024
f50e32f
chore: Add Mattermost webhook handler (#10237)
Dschoordsch Nov 4, 2024
fb67345
fix: teamMember is nullable in generate insight (#10450)
nickoferrall Nov 4, 2024
0878401
chore(release): release v8.3.1 (#10449)
parabol-release-bot[bot] Nov 4, 2024
12f3347
feat: add an archive checkbox in timeline history page (#10435)
tianrunhe Nov 7, 2024
cc2ab79
chore: refresh lockfile (#10459)
mattkrick Nov 8, 2024
1464c56
fix: pin react-router to static version (#10461)
mattkrick Nov 8, 2024
36cd2b8
feat: Add lastSeenAt to organization members CSV export (#10464)
Dschoordsch Nov 12, 2024
7fbab74
feat: Add notifications for mattermost plugin (#10456)
Dschoordsch Nov 12, 2024
b2adfaa
chore: Cleanup Mattermost API (#10465)
Dschoordsch Nov 12, 2024
09b3854
chore: use react 17 jsx transform (#10462)
mattkrick Nov 12, 2024
1fe8e94
chore: upgrade emoji mart (#10463)
mattkrick Nov 12, 2024
849cfe7
fix: supprt jsx runtime in SSR (#10467)
mattkrick Nov 12, 2024
2863281
chore(release): release v8.4.0 (#10458)
parabol-release-bot[bot] Nov 12, 2024
ae85b77
fix: Fix GraphQL-JIT version (#10469)
Dschoordsch Nov 13, 2024
a77408e
chore(release): release v8.4.1 (#10472)
parabol-release-bot[bot] Nov 13, 2024
33e2589
chore(orgAdmins): Update copy for Non Org Admins on Integration Setti…
tianrunhe Nov 13, 2024
6c23549
chore(release): release v8.4.2 (#10474)
parabol-release-bot[bot] Nov 14, 2024
4275325
fix: github pr template release test now with the correct Mattermost …
rafaelromcar-parabol Nov 15, 2024
8d53813
chore: add a workflow to push to a docker repository to share with ex…
rafaelromcar-parabol Nov 15, 2024
defdc35
fix(docker-external): workflow name fixed (#10486)
rafaelromcar-parabol Nov 15, 2024
9b95fdd
fix: update generate insight permissions (#10470)
nickoferrall Nov 15, 2024
95df820
feat: release single column standups (#10471)
nickoferrall Nov 15, 2024
3f37954
fix: jira issues not loading when there's an img in the description (…
nickoferrall Nov 15, 2024
e10d2f9
chore(release): release v8.5.0 (#10485)
parabol-release-bot[bot] Nov 15, 2024
6d49dc2
fix: reinstall cheerio to fix jira img issue (#10490)
nickoferrall Nov 15, 2024
5129aa8
chore(release): release v8.5.1 (#10491)
parabol-release-bot[bot] Nov 15, 2024
168ef0b
feat: Upgrade TipTap Extensions (#10455)
mattkrick Nov 19, 2024
caef734
feat: org feature flags UI (#10436)
nickoferrall Nov 20, 2024
f49c4e5
fix: remove react imports (#10502)
nickoferrall Nov 20, 2024
d390ae4
chore: Proxy mattermost webhook handler in dev (#10503)
Dschoordsch Nov 20, 2024
e000ad5
chore(release): release v8.6.0 (#10497)
parabol-release-bot[bot] Nov 21, 2024
f388f45
chore: remove signUpDestinationTeam (#10513)
nickoferrall Nov 25, 2024
8ddcd90
fix: Adding reactions in standup via mouse works more than once (#10520)
Dschoordsch Nov 25, 2024
9c2d59d
chore(release): release v8.6.1 (#10519)
parabol-release-bot[bot] Nov 25, 2024
ede3866
chore: release shareSummary (#10511)
nickoferrall Nov 25, 2024
2e8346e
chore: Rename Jira Server to Jira Data Center (#10522)
Dschoordsch Nov 26, 2024
b783f55
chore: use more detailed AI Summary for meetings (#10501)
nickoferrall Nov 26, 2024
9dc1877
chore: migrations renamed or deleted fail on migration-order GH actio…
rafaelromcar-parabol Nov 26, 2024
1c1d17c
fix: Add yarn pg:build to deployment steps in README (#10508)
svenseeberg Nov 26, 2024
6a05e4b
feat: Upgrade Task Editor to TipTap (#10526)
mattkrick Nov 26, 2024
a8cfa03
feat: TipTap Tasks add new line for jira tasks (#10530)
mattkrick Nov 27, 2024
556ff3f
chore: remove ai template (#10515)
nickoferrall Nov 27, 2024
99f0094
chore: Make Google Language Manager optional (#10535)
Dschoordsch Nov 28, 2024
c320ff5
fix: show public teams (#10537)
nickoferrall Nov 28, 2024
dfef8bb
chore: clarify when Google Cloud credentials are required (#10531)
rafaelromcar-parabol Dec 2, 2024
2f59f38
chore(release): release v8.7.0 (#10523)
parabol-release-bot[bot] Dec 2, 2024
3d9032e
fix: parse draft discussions for csv (#10540)
mattkrick Dec 2, 2024
f150aaa
chore(release): release v8.7.1 (#10541)
parabol-release-bot[bot] Dec 2, 2024
561468c
chore: convert legacy tasks to TipTap (#10533)
mattkrick Dec 2, 2024
908aba1
chore: remove teams limit (#10514)
nickoferrall Dec 3, 2024
4787895
feat: use TipTap for the Check-in Question (#10534)
mattkrick Dec 3, 2024
3d899d3
chore(release): release v8.8.0 (#10544)
parabol-release-bot[bot] Dec 3, 2024
6061003
feat(node): upgrade to 20.18.1, latest stable in v20 (#10558)
rafaelromcar-parabol Dec 9, 2024
31ce19b
chore: Use Logger instead of console (#10557)
Dschoordsch Dec 9, 2024
0433801
chore(release): release v8.9.0 (#10559)
parabol-release-bot[bot] Dec 9, 2024
1cdbf0b
feat: GitLab voting to time estimate, weight or label (#10549)
Dschoordsch Dec 9, 2024
d2b1ef8
fix: tasks in poker scoping (#10563)
mattkrick Dec 10, 2024
2741491
chore(release): release v8.10.0 (#10561)
parabol-release-bot[bot] Dec 10, 2024
cfde723
feat: improve reflection group titles (#10546)
nickoferrall Dec 10, 2024
4a1f511
chore: Catch server health checker errors (#10566)
Dschoordsch Dec 10, 2024
1478bd2
fix: prevent navigation if already at local stage (#10575)
mattkrick Dec 10, 2024
f56f1b4
chore(deps): bump marked from 0.8.2 to 13.0.3 (#10529)
dependabot[bot] Dec 10, 2024
75ff869
chore(deps): bump @eslint/plugin-kit from 0.2.2 to 0.2.3 (#10495)
dependabot[bot] Dec 10, 2024
f096c47
chore(deps): bump nanoid from 3.3.7 to 3.3.8 (#10565)
dependabot[bot] Dec 10, 2024
4815669
chore: Migration checkInQuestion to tiptap format (#10542)
mattkrick Dec 10, 2024
ac0e137
chore(release): release v8.11.0 (#10569)
parabol-release-bot[bot] Dec 10, 2024
9572815
chore: Properly ignore supposedly ignored errors (#10580)
Dschoordsch Dec 11, 2024
2fa20b1
feat: move Comment to TipTap (#10576)
mattkrick Dec 11, 2024
eb5a836
chore(release): release v8.12.0 (#10581)
parabol-release-bot[bot] Dec 12, 2024
39e7ad1
fix: add useEventCallback on keyboard shortcuts (#10585)
mattkrick Dec 12, 2024
2703dab
chore(release): release v8.12.1 (#10586)
parabol-release-bot[bot] Dec 12, 2024
5114948
fix: Discussion bugs (#10596)
mattkrick Dec 12, 2024
dbe20eb
chore(release): release v8.12.2 (#10597)
parabol-release-bot[bot] Dec 12, 2024
22d89e5
fix: Refresh the SAML request URL for each login attempt (#10593)
Dschoordsch Dec 13, 2024
a14a7ab
chore(release): release v8.12.3 (#10599)
parabol-release-bot[bot] Dec 13, 2024
7a93bfc
fix: Parabol poker task overwrites, ignore prototypes for equality ch…
mattkrick Dec 16, 2024
b0b2587
chore(release): release v8.12.4 (#10610)
parabol-release-bot[bot] Dec 16, 2024
670c5a0
feat: remove sso without emailing all users (#10608)
nickoferrall Dec 17, 2024
ecff092
chore(release): release v8.13.0 (#10612)
parabol-release-bot[bot] Dec 17, 2024
79fd8a2
chore: Mattermost plugin module federation (#10517)
Dschoordsch Dec 17, 2024
d136564
chore: migrate existing comments to TipTap (#10584)
mattkrick Dec 18, 2024
2c1547b
chore(release): release v8.13.1 (#10614)
parabol-release-bot[bot] Dec 18, 2024
2da5af3
feat: get saml config for domain (#10618)
nickoferrall Dec 18, 2024
81043ad
feat: update suggest group titles (#10568)
nickoferrall Dec 18, 2024
5ffc9e5
chore(release): release v8.14.0 (#10619)
parabol-release-bot[bot] Dec 18, 2024
7678afb
feat: Reflections to TipTap (#10616)
mattkrick Dec 19, 2024
75b7e03
chore(release): release v8.15.0 (#10622)
parabol-release-bot[bot] Dec 19, 2024
f0883c1
fix: Comments in demo meeting (#10623)
mattkrick Dec 19, 2024
4581783
feat: release suggest groups (#10615)
nickoferrall Dec 19, 2024
af1b034
fix: correct graphql.config.js (#10582)
mattkrick Dec 19, 2024
b885f15
feat: Create task from Mattermost plugin (#10630)
Dschoordsch Jan 7, 2025
d02bfb8
feat(Mattermost): Add invite team slash command (#10632)
Dschoordsch Jan 7, 2025
8fbfd15
fix: bugs in TipTap Reflection editor (#10636)
mattkrick Jan 7, 2025
b316460
chore(release): release v8.16.0 (#10624)
parabol-release-bot[bot] Jan 7, 2025
d6ba0cc
fix: Check if integration was removed (#10641)
Dschoordsch Jan 8, 2025
be72f7a
chore: Disable processRecurrence tests (#10642)
Dschoordsch Jan 8, 2025
cf48ae2
feat(Mattermost): Invite to Meeting (#10635)
Dschoordsch Jan 8, 2025
078e50e
chore: migrate old reflections to tiptap (#10653)
mattkrick Jan 9, 2025
49a6c9d
chore(release): release v8.17.0 (#10643)
parabol-release-bot[bot] Jan 9, 2025
ddaa9b9
fix: Update mattermost-plugin version on release (#10658)
Dschoordsch Jan 10, 2025
dead68c
fix: move generate retro summaries mutation to public folder (#10660)
nickoferrall Jan 10, 2025
db4832f
feat: rebase migrations, remove draft-js enitrely (#10640)
mattkrick Jan 10, 2025
12afb74
fix: remove extra migration after rebase (#10663)
mattkrick Jan 10, 2025
d6cca4b
chore(release): release v8.18.0 (#10659)
parabol-release-bot[bot] Jan 10, 2025
d174162
fix: rebasing migrations (#10666)
mattkrick Jan 10, 2025
1e01736
chore(release): release v8.18.1 (#10667)
parabol-release-bot[bot] Jan 10, 2025
052647f
fix: Restrict Timeline Feed scrolling to its column on /me route (#10…
iamsmruti Jan 13, 2025
e73dc39
fix: kill mattermost plugin dev server on pm2 kill (#10671)
Dschoordsch Jan 13, 2025
8af66f4
fix: Shorten chunk names for Mattermost plugin (#10672)
Dschoordsch Jan 13, 2025
f0d006f
chore(deps): bump systeminformation from 5.23.5 to 5.23.14 (#10626)
dependabot[bot] Jan 14, 2025
18abb1a
chore: Upgrade @mui dependencies (#10627)
mattkrick Jan 14, 2025
84b8d60
fix: summary does not load indefinitely if there are no votes (#10669)
nickoferrall Jan 14, 2025
9501494
feat: modified/added meta tags with new content (#10652)
jordanh Jan 14, 2025
795b436
feat: added I Like, I Wish, I Wonder retrospective template (#10650)
jordanh Jan 14, 2025
03d96e2
feat: add SlashCommand to TipTap (#10664)
mattkrick Jan 15, 2025
593be50
chore(release): release v8.19.0 (#10670)
parabol-release-bot[bot] Jan 15, 2025
ce489aa
feat: update insight prompt (#10674)
nickoferrall Jan 15, 2025
3d9b6d2
fix: consolidate organizations sorting logic (#10680)
tianrunhe Jan 16, 2025
e62916f
feat: Add images to TipTap (#10678)
mattkrick Jan 16, 2025
ffa7c6e
chore(release): release v8.20.0 (#10687)
parabol-release-bot[bot] Jan 16, 2025
0516f8f
fix: Create mass invitation tokens for specific meetings (#10651)
Dschoordsch Jan 16, 2025
b67d07c
chore: make ai standups more concise and add context (#10689)
nickoferrall Jan 16, 2025
5c3f5f9
fix: image placeholders in tiptap (#10703)
mattkrick Jan 17, 2025
f982303
chore(release): release v8.20.1 (#10692)
parabol-release-bot[bot] Jan 17, 2025
de9002d
fix: remove imageuploadmenu (#10705)
mattkrick Jan 18, 2025
41eb26f
feat(greetings): add Finnish and Basque greetings and a new icebreake…
rafaelromcar-parabol Jan 20, 2025
bf8fc7e
chore: remove discussion summary (#10690)
nickoferrall Jan 20, 2025
4b973a8
feat: group timeline events by relative dates (#10708)
tianrunhe Jan 21, 2025
3044640
feat: add the `removeMultipleOrgUsers` mutation to support mass org u…
tianrunhe Jan 21, 2025
5cdaba2
feat: Add GraphQL notification settings for MS Teams and Mattermost (…
Dschoordsch Jan 21, 2025
0fd8d8c
fix: Lint Promises in conditions (#10710)
Dschoordsch Jan 21, 2025
0e79cdb
feat: notification settings UI (#10695)
Dschoordsch Jan 21, 2025
5e9705b
chore(release): release v8.21.0 (#10706)
parabol-release-bot[bot] Jan 21, 2025
7f3051d
fix: S3 bucket name used from the application configuration instead o…
rafaelromcar-parabol Jan 21, 2025
8c8d600
fix: React error on forgot password page (#10717)
Dschoordsch Jan 22, 2025
001cf41
chore: Add AWS_S3_BUCKET to .env.example (#10718)
Dschoordsch Jan 22, 2025
216eb40
fix: Tab button style (#10715)
Dschoordsch Jan 22, 2025
2a9aef0
chore(release): release v8.21.1 (#10713)
parabol-release-bot[bot] Jan 22, 2025
8b581f4
fix: Check events is not null in stage timer modal (#10720)
Dschoordsch Jan 23, 2025
cd3506d
fix: Enter Key Functionality in the Response Editor when @ symbol is …
iamsmruti Jan 23, 2025
8e0502e
chore(Mattermost): Catch notification errors (#10729)
Dschoordsch Jan 23, 2025
f3a911d
fix: simplify event timeline grouping logic (#10727)
tianrunhe Jan 24, 2025
d893258
feat: gifabol (tenor search) (#10735)
mattkrick Jan 28, 2025
b2ce177
chore(release): release v8.22.0 (#10728)
parabol-release-bot[bot] Jan 28, 2025
976904e
fix(Mattermost Plugin): Load modals correctly (#10744)
Dschoordsch Jan 29, 2025
8c0c0db
fix: support edge case changeEmailDomain no users to update (#10725)
mattkrick Jan 29, 2025
4fb5f96
feat: Support image resizing in TipTap (#10747)
mattkrick Jan 29, 2025
3e72a5f
fix: show invoices for enterprise customers (#10748)
mattkrick Jan 29, 2025
81c15f0
chore(release): release v8.23.0 (#10745)
parabol-release-bot[bot] Jan 29, 2025
24255c2
Merge remote-tracking branch 'origin/production' into release/v8.23.0
invalid-email-address Jan 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,8 @@ REDIS_URL='redis://localhost:6379'
# Disable the built in Mattermost webhook integration
# MATTERMOST_DISABLED='false'
# For private instances with SSO and the Mattermost plugin, set the secret and URL
# MATTERMOST_SECRET=''
# MATTERMOST_URL=''
# MATTERMOST_SECRET='key_MATTERMOST_SECRET'
# MATTERMOST_URL='https://mattermost.example.com'
# MSTEAMS_DISABLED='false'

# MAIL
Expand Down Expand Up @@ -162,3 +162,7 @@ PGADMIN_DEFAULT_PASSWORD='admin'
# GLOBAL_BANNER_TEXT='UNCLASSIFIED CUI (IL4)'
# GLOBAL_BANNER_BG_COLOR='#007A33'
# GLOBAL_BANNER_COLOR='#FFFFFF'

# gifabol | tenor | '' to hide gif selection tab
# GIF_PROVIDER=tenor
# TENOR_SECRET=''
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "8.21.1"
".": "8.23.0"
}
33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,39 @@ This project adheres to [Semantic Versioning](http://semver.org/).

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

## [8.23.0](https://github.com/ParabolInc/parabol/compare/v8.22.0...v8.23.0) (2025-01-29)


### Added

* Support image resizing in TipTap ([#10747](https://github.com/ParabolInc/parabol/issues/10747)) ([4fb5f96](https://github.com/ParabolInc/parabol/commit/4fb5f968cff6e340072dbd8aef2ccebcb2b68b54))


### Fixed

* **Mattermost Plugin:** Load modals correctly ([#10744](https://github.com/ParabolInc/parabol/issues/10744)) ([976904e](https://github.com/ParabolInc/parabol/commit/976904e719237b3648111d615c9c03998ead1d8d))
* show invoices for enterprise customers ([#10748](https://github.com/ParabolInc/parabol/issues/10748)) ([3e72a5f](https://github.com/ParabolInc/parabol/commit/3e72a5f8713c4695d4abcab91d786a21f933f3a4))
* support edge case changeEmailDomain no users to update ([#10725](https://github.com/ParabolInc/parabol/issues/10725)) ([8c0c0db](https://github.com/ParabolInc/parabol/commit/8c0c0db6ad316235c4e956cc25ae069a61da38c0))

## [8.22.0](https://github.com/ParabolInc/parabol/compare/v8.21.1...v8.22.0) (2025-01-28)


### Added

* gifabol (tenor search) ([#10735](https://github.com/ParabolInc/parabol/issues/10735)) ([d893258](https://github.com/ParabolInc/parabol/commit/d8932586b9d581da46189826c26afa03ae536ef3))


### Fixed

* Check events is not null in stage timer modal ([#10720](https://github.com/ParabolInc/parabol/issues/10720)) ([8b581f4](https://github.com/ParabolInc/parabol/commit/8b581f41ebf49a599c50dab50b64a2cfbc5aa08f))
* Enter Key Functionality in the Response Editor when @ symbol is … ([#10699](https://github.com/ParabolInc/parabol/issues/10699)) ([cd3506d](https://github.com/ParabolInc/parabol/commit/cd3506d1ef6c669e8f8326380d85d2412ac87f05))
* simplify event timeline grouping logic ([#10727](https://github.com/ParabolInc/parabol/issues/10727)) ([f3a911d](https://github.com/ParabolInc/parabol/commit/f3a911d8dba65921a482f7fe791a7ad0c4eb804d))


### Changed

* **Mattermost:** Catch notification errors ([#10729](https://github.com/ParabolInc/parabol/issues/10729)) ([8e0502e](https://github.com/ParabolInc/parabol/commit/8e0502e3e588618eb936b271d8afdeeb931a4148))

## [8.21.1](https://github.com/ParabolInc/parabol/compare/v8.21.0...v8.21.1) (2025-01-22)


Expand Down
1 change: 1 addition & 0 deletions codegen.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@
"GenerateGroupsSuccess": "./types/GenerateGroupsSuccess#GenerateGroupsSuccessSource",
"GenerateInsightSuccess": "./types/GenerateInsightSuccess#GenerateInsightSuccessSource",
"GenerateRetroSummariesSuccess": "./types/GenerateRetroSummariesSuccess#GenerateRetroSummariesSuccessSource",
"GifResponse": "./types/GifResponse#GifResponseSource",
"GitHubIntegration": "../../postgres/queries/getGitHubAuthByUserIdTeamId#GitHubAuth",
"GitLabIntegration": "./types/GitLabIntegration#GitLabIntegrationSource",
"IntegrationProviderOAuth1": "../../postgres/queries/getIntegrationProvidersByIds#TIntegrationProvider",
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": "8.21.1",
"version": "8.23.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": "8.21.1",
"version": "8.23.0",
"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": "8.21.1"
"parabol-server": "8.23.0"
}
}
6 changes: 4 additions & 2 deletions packages/client/components/MentionDropdown.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ export default forwardRef(

const enterHandler = () => {
selectItem(selectedIndex)

if (items.length === 0) return false
return true
}

useEffect(() => setSelectedIndex(0), [items])
Expand All @@ -47,8 +50,7 @@ export default forwardRef(
}

if (event.key === 'Enter' || event.key === 'Tab') {
enterHandler()
return true
return enterHandler()
}
return false
}
Expand Down
26 changes: 17 additions & 9 deletions packages/client/components/ReflectionCard/ReflectionCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -201,14 +201,16 @@ const ReflectionCard = (props: Props) => {
} = useTooltip<HTMLDivElement>(MenuPosition.UPPER_CENTER)
const handleEditorFocus = () => {
if (isTempId(reflectionId)) return
if (reflection.isEditing) {
return
}
updateIsEditing(true)
EditReflectionMutation(atmosphere, {isEditing: true, meetingId, promptId})
}

const updateIsEditing = (isEditing: boolean) => {
commitLocalUpdate(atmosphere, (store) => {
const reflection = store.get(reflectionId)
if (!reflection) return
reflection.setValue(isEditing, 'isEditing')
store.get(reflectionId)?.setValue(isEditing, 'isEditing')
})
}

Expand Down Expand Up @@ -244,16 +246,22 @@ const ReflectionCard = (props: Props) => {
{content: contentStr, reflectionId},
{onError, onCompleted}
)
commitLocalUpdate(atmosphere, (store) => {
const reflection = store.get(reflectionId)
if (!reflection) return
reflection.setValue(false, 'isEditing')
})
}

const handleEditorBlur = () => {
const handleEditorBlur = (e: React.FocusEvent<HTMLDivElement>) => {
if (isTempId(reflectionId)) return
const newFocusedElement = e.relatedTarget as Node
// don't trigger a blur if a button inside the element is clicked
if (e.currentTarget.contains(newFocusedElement)) return
const isClickInModal = !(
newFocusedElement === null || document.getElementById('root')?.contains(newFocusedElement)
)
// If they clicked in a modal, then ignore the blur event, we'll refocus the editor after the modal closes
if (isClickInModal) {
return
}
handleContentUpdate()
updateIsEditing(false)
EditReflectionMutation(atmosphere, {isEditing: false, meetingId, promptId})
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import styled from '@emotion/styled'
import {useEventCallback} from '@mui/material'
import {generateHTML} from '@tiptap/core'
import graphql from 'babel-plugin-relay/macro'
import * as React from 'react'
import {MutableRefObject, RefObject, useEffect, useRef, useState} from 'react'
Expand All @@ -12,7 +11,6 @@ import usePortal from '../../hooks/usePortal'
import {useTipTapReflectionEditor} from '../../hooks/useTipTapReflectionEditor'
import CreateReflectionMutation from '../../mutations/CreateReflectionMutation'
import EditReflectionMutation from '../../mutations/EditReflectionMutation'
import {serverTipTapExtensions} from '../../shared/tiptap/serverTipTapExtensions'
import {Elevation} from '../../styles/elevation'
import {BezierCurve, ZIndex} from '../../types/constEnums'
import {cn} from '../../ui/cn'
Expand Down Expand Up @@ -101,7 +99,7 @@ const PhaseItemEditor = (props: Props) => {
const {top, left} = getBBox(phaseEditorRef.current)!
const cardInFlight = {
transform: `translate(${left}px,${top}px)`,
html: generateHTML(contentJSON, serverTipTapExtensions),
html: editor.getHTML(),
key: content,
isStart: true
}
Expand Down
37 changes: 11 additions & 26 deletions packages/client/components/RetroReflectPhase/ReflectionStack.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,7 @@ import {useFragment} from 'react-relay'
import {ReflectionStack_meeting$key} from '~/__generated__/ReflectionStack_meeting.graphql'
import {PhaseItemColumn_meeting$data} from '../../__generated__/PhaseItemColumn_meeting.graphql'
import useExpandedReflections from '../../hooks/useExpandedReflections'
import {
Breakpoint,
ElementHeight,
ElementWidth,
ReflectionStackPerspective
} from '../../types/constEnums'
import {ElementWidth, ReflectionStackPerspective} from '../../types/constEnums'
import ReflectionCard from '../ReflectionCard/ReflectionCard'
import ExpandedReflectionStack from './ExpandedReflectionStack'
import ReflectionStackPlaceholder from './ReflectionStackPlaceholder'
Expand All @@ -26,22 +21,6 @@ interface Props {
stackTopRef: RefObject<HTMLDivElement>
}

const CardStack = styled('div')({
alignItems: 'flex-start',
display: 'flex',
flex: 1,
margin: '0 0 24px', // stacked cards + row gutter = 6 + 6 + 12 = 24
position: 'relative',
justifyContent: 'center',
[`@media screen and (min-width: ${Breakpoint.SINGLE_REFLECTION_COLUMN}px)`]: {
minHeight: ElementHeight.REFLECTION_CARD_MAX
}
})

const CenteredCardStack = styled('div')({
position: 'relative'
})

const ReflectionWrapper = styled('div')<{idx: number}>(({idx}): any => {
const multiple = Math.min(idx, 2)
const scaleX =
Expand Down Expand Up @@ -94,9 +73,15 @@ const ReflectionStack = (props: Props) => {
closePortal={collapse}
/>
)}

<div>
<CardStack data-cy={dataCy} onClick={expand} ref={stackRef}>
<CenteredCardStack>
<div
data-cy={dataCy}
onClick={expand}
ref={stackRef}
className='relative mb-6 flex flex-1 select-none items-start justify-center single-reflection-column:min-h-[104px]'
>
<div className='relative'>
{reflectionStack.map((reflection, idx) => {
return (
<ReflectionWrapper
Expand All @@ -115,8 +100,8 @@ const ReflectionStack = (props: Props) => {
</ReflectionWrapper>
)
})}
</CenteredCardStack>
</CardStack>
</div>
</div>
</div>
</React.Fragment>
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ const isNotificationActive = (integration: {
const {auth} = integration
if (!auth?.isActive) return false
const {events} = auth
if (!events) return false
return (
events.includes('MEETING_STAGE_TIME_LIMIT_START') ||
events.includes('MEETING_STAGE_TIME_LIMIT_END')
Expand Down Expand Up @@ -116,7 +117,6 @@ const StageTimerModalEndTimeSlackToggle = (props: Props) => {
const {onError, onCompleted, submitMutation, error, submitting} = mutationProps
const isMattermostActive = isNotificationActive(mattermost)
const isMSTeamsActive = isNotificationActive(msTeams)
console.log('GEORG', slack, isMattermostActive, isMSTeamsActive)
const noActiveIntegrations = !slack?.isActive && !isMattermostActive && !isMSTeamsActive

const onClick = () => {
Expand Down
18 changes: 9 additions & 9 deletions packages/client/components/TimelineFeedList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {useMemo} from 'react'
import {usePaginationFragment} from 'react-relay'
import {Link} from 'react-router-dom'
import useLoadNextOnScrollBottom from '~/hooks/useLoadNextOnScrollBottom'
import {TimelineGroup, getTimeGroup} from '~/utils/date/timelineGroups'
import {TimelineGroup, compareTimelineLabels, getTimeGroup} from '~/utils/date/timelineGroups'
import {TimelineFeedListPaginationQuery} from '../__generated__/TimelineFeedListPaginationQuery.graphql'
import {TimelineFeedList_query$key} from '../__generated__/TimelineFeedList_query.graphql'
import TimelineEvent from './TimelineEvent'
Expand Down Expand Up @@ -113,19 +113,19 @@ const TimelineFeedList = (props: Props) => {

freeHistory.forEach((edge) => {
const eventDate = new Date(edge.node.createdAt)
const {date: groupDate, label} = getTimeGroup(eventDate)
const label = getTimeGroup(eventDate)

let group = groups.find((g) => g.date.getTime() === groupDate.getTime())
let group = groups.find((g) => g.label === label)
if (!group) {
group = {date: groupDate, events: [], label}
group = {events: [], label}
groups.push(group)
}
group.events.push(edge)
})

// Sort groups by date (newest first)
groups.sort((a, b) => b.date.getTime() - a.date.getTime())
return {groups}
// Sort groups by label order (newer first)
groups.sort((a, b) => compareTimelineLabels(a.label, b.label))
return groups
}, [freeHistory])

if (freeHistory.length === 0 && !lockedHistory?.length) {
Expand All @@ -142,8 +142,8 @@ const TimelineFeedList = (props: Props) => {

return (
<ResultScroller>
{groupedFreeHistory.groups.map(({date, events, label}) => (
<div key={date.toISOString()}>
{groupedFreeHistory.map(({label, events}) => (
<div key={label}>
<div className='my-2 flex items-center gap-4 py-4'>
<div className='h-[1px] flex-1 bg-slate-400' />
<div className='bg-slate-50 rounded-full border border-slate-200 px-3 py-1 text-sm font-medium text-slate-600'>
Expand Down
69 changes: 69 additions & 0 deletions packages/client/hooks/useBlockResizer.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
import {useRef, type RefObject} from 'react'
import getIsDrag from '../utils/retroGroup/getIsDrag'
import useEventCallback from './useEventCallback'

const makeDrag = () => ({
isDrag: false,
startX: 0,
lastX: 0,
side: 'left'
})
export const useBlockResizer = (
width: number,
setWidth: (width: number) => void,
updateAttributes: (attrs: Record<string, any>) => void,
aspectRatioRef: RefObject<number>
) => {
const dragRef = useRef(makeDrag())
const onMouseUp = useEventCallback((e: MouseEvent | TouchEvent) => {
if (e.type === 'touchend') {
document.removeEventListener('touchmove', onMouseMove)
} else {
document.removeEventListener('mousemove', onMouseMove)
}
const aspectRatio = aspectRatioRef.current!
updateAttributes({width, height: Math.round(width / aspectRatio)})
dragRef.current = makeDrag()
})

const onMouseMove = useEventCallback((e: MouseEvent | TouchEvent) => {
// required to prevent address bar scrolling & other strange browser things on mobile view
e.preventDefault()
const isTouchMove = e.type === 'touchmove'
const {clientX} = isTouchMove ? (e as TouchEvent).touches[0]! : (e as MouseEvent)
const {current: drag} = dragRef
const wasDrag = drag.isDrag
if (!wasDrag) {
const isDrag = getIsDrag(clientX, 0, drag.startX, 0)
drag.isDrag = isDrag
if (!drag.isDrag) return
}
const sideCoefficient = drag.side === 'left' ? 1 : -1
const delta = (drag.lastX - clientX) * sideCoefficient
drag.lastX = clientX
const nextWidth = Math.max(48, width + delta)
setWidth(nextWidth)
})

const onMouseDown = useEventCallback(
(side: 'left' | 'right') =>
(e: React.MouseEvent<HTMLDivElement> | React.TouchEvent<HTMLDivElement>) => {
const isTouchStart = e.type === 'touchstart'
if (isTouchStart) {
document.addEventListener('touchmove', onMouseMove)
document.addEventListener('touchend', onMouseUp, {once: true})
} else {
document.addEventListener('mousemove', onMouseMove)
document.addEventListener('mouseup', onMouseUp, {once: true})
}
const {clientX} = isTouchStart
? (e as React.TouchEvent<HTMLDivElement>).touches[0]!
: (e as React.MouseEvent<HTMLDivElement>)
dragRef.current.side = side
dragRef.current.startX = clientX
dragRef.current.lastX = clientX
dragRef.current.isDrag = false
}
)
return {onMouseDown, onMouseMove, onMouseUp, width}
}
Loading
Loading