Skip to content

Commit

Permalink
chore(release): Test v7.13.3 (#9366)
Browse files Browse the repository at this point in the history
* chore: Users with noTemplateLimit flag can use paid templates (#9160)

* chore: Users with noTemplateLimit flag can use paid templates

* Don't show a lock if a user can access premium templates

regardless whether it's because their tier or a feature flag

* feat: fix custom template border (#9131)

* chore: Add SAML setup to new checkout flow (#9178)

* chore: Add SAML setup to new checkout flow

* Add Authorization also to mobile dash

* chore(release): release v7.7.0 (#9161)

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

* feat: add GCS as a FileStore (#8493)

* feat: add GCS as a FileStore

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* self-review: fix comments

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* fix: checkExists

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* dockerize testing the branch

* add recent filestore changes to gcs

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* throw on trailing slash

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* retry GCS flakey pushes

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* dockerize

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* bump yarn.lock

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* fix yarn

Signed-off-by: Matt Krick <matt.krick@gmail.com>

---------

Signed-off-by: Matt Krick <matt.krick@gmail.com>
Co-authored-by: Rafael Romero <rafael@parabol.co>

* fix: replace saas url with calculated value for PPMIs (#9186)

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore: Users with noTemplateLimit flag can create custom templates (#9162)

* chore: Users with noTemplateLimit flag can create custom templates

* Allow creating templates on legacy dialog with noTemplateLimit flag

* chore: Handle migration conflicts (#9166)

* chore: test case: should not run for no migration

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* test: working case

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* test: failing case

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* debug failing case

* test basename

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* test working case

* better logs

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* test no migration

Signed-off-by: Matt Krick <matt.krick@gmail.com>

---------

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* fix(demo): Don't show top bar or sidebar on demo summary (#9190)

* feat(admin): Base Org Admin role (#9194)

* fix: Avoid caching permissions with different arguments (#8670)

* fix: Avoid caching permissions with different arguments

Permissions are cached by function name. When these depend on the
arguments passed, they should have their own cache key, see
https://the-guild.dev/graphql/shield/docs/rules#limitations

* Make isViewerOnTeam strict

The passed function might access source or args and thus we should use
the strict cache.

* fix: sort team names alphabetically (#9187)

* fix: sort team names alphabetically

* sort allTeamsOnOrg

* chore(release): release v7.8.0 (#9185)

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

* fix: can auto join with saml login (#9189)

* chore(release): release v7.8.1 (#9224)

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

* feat: node update v20.9.0 LTS, req rethinkdb-ts and uWS version bump (#9232)

* chore: Sorted .env.example and added more documentation (#9104)

* Sorted .env.example and added more documentation

* Added changes related to PR. Improved section naming.

* Fixed CI variable location

* Sorted variables and created new categories for GOOGLE, DATADOG, AWS. Added missing variables.

* Requested changes incorporated

---------

Co-authored-by: Rafael Romero <rafael@parabol.co>

* feat: Free trial mutations (#9132)

* feat(trials): Start Trial mutation

* GQL + FE updates

* Copy update

* Minor fixes

* End Trial mutation

* Some cleanup

* More fixes

* Rename var

* Extract 'getFeatureTier'

* More cleanup

* Tiny cleanup

* CR: change to featureTier and billingTier

* CR: Misc fixes

* Rename featureTier back to just tier

* CR: Explicitly do OrgUser and User updates in order

* CR: Combine rethink queries

* Actually we don't need to do those in a specific order

* Why are tests broken

* Revert "CR: Combine rethink queries"

This reverts commit 04ad78d.

* Revert "Why are tests broken"

This reverts commit eca6417.

* Manually bisecting changes that break tests (part 1)

* Revert "Manually bisecting changes that break tests (part 1)"

This reverts commit db90ead.

* Revert "Revert "CR: Combine rethink queries""

This reverts commit a8c21a7.

* Fix tests 🤦

* Update trial copy for OrgPlansAndBillingHeading

* fix: release please build add systemtap (#9241)

* fix: systemtap path (#9242)

* feat: Add Microsoft login (#8984)

* feat: Add Microsoft login

* Microsoft login button styling

* Add Microsoft login to forgot email and team invitation dialogs

* Cleanup and pseudoId

* Formatting

* Use colors from the palette for oauth login buttons

* Cleanup

* chore(kudos): add kudos team settings (#9163)

* chore(kudos): add kudos team settings

* store emoji id

* chore(kudos): add kudos record when adding emoji reaction (#9169)

* chore(kudos): add kudos team settings

* store emoji id

* chore(kudos): add kudos record when adding emoji reaction

* Fix snackbar

* quick fix for types

* Dynamic emoji

* del console log

* Remove comment

* Remove unused kudos field

* expose senderUser

* Fix reactable type

* Fix table name

* Don't check feature flag

* Fix analytics

* Add snackbar events

* fix typescript

* feat(kudos): display notification when kudos received (#9199)

* chore(kudos): add kudos team settings

* store emoji id

* chore(kudos): add kudos record when adding emoji reaction

* Fix snackbar

* quick fix for types

* Dynamic emoji

* del console log

* feat(kudos): display notification when kudos received

* Remove comment

* Update notification text

* Remove unused kudos field

* expose senderUser

* Fix reactable type

* Fix table name

* remove unused fields

* Don't check feature flag

* Fix analytics

* Add snackbar events

* fix typescript

* Fix type

* Fix type

* add notification status analytics

* Fix type

* fix type

* Fix table name caused by wrong merge

* add snackbar clicked event to kudosReceived snackbar

* chore: Fix formatting (#9244)

* fix: author should be nullable when comment was anonymous (#9233)

* fix: author should be nullable when comment was anonymous

* fix: anonymous avatars path

* chore(release): release v7.9.0 (#9238)

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

* chore(env-file): ununsed variables removed (#9249)

* chore(metrics): add metrics to track search query in AL (#9235)

* feat: remove gcal flag (#9251)

* remove gcal feature flag

* remove gcal feature flag

* fix provider list

* fix: increases integration icon visibility (#9164)

* increases integration icon visibility
* force commit
* yank comment

* feat: update activity library card UI (#9168)

* show title and type below activity card

* make activity library card dynamic

* add retro background swirls

* add background images for all meeting types

* fix custom card size

* truncate text if there is no space

* clean up

* use grape 100

* add premortem and postmortem imgs

* remove bg from categories themes

* move background img to div

* chore: Cleanup Slack/Mattermost/MSTeams notifiers (#9240)

* chore: Cleanup Slack/Mattermost/MSTeams notifiers

These will need some refactoring for #8840 and this will hopefully
simplify this.

* Cleanup

* feat: add tooltip to activity library card (#9236)

* show title and type below activity card

* make activity library card dynamic

* add retro background swirls

* add background images for all meeting types

* fix custom card size

* truncate text if there is no space

* clean up

* use grape 100

* add premortem and postmortem imgs

* remove bg from categories themes

* move background img to div

* add dummy tooltip

* fix tailwind bg colours

* show tooltip after delay

* show descriptions in tooltip

* clean up

* update tooltip position

* update CATEGORY_THEMES colours

* remove tailwind config safelist

* feat: gcal invite all by default (#9260)

* chore(dx): allow any branch with hotfix prefix to build (#9263)

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* fix: cork all http write methods (#9261)

* auto-cork, sse not working

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* fix: auto-cork, sse not working

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore(dx): allow any branch with hotfix prefix to build

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* fix: double star glob to match /

Signed-off-by: Matt Krick <matt.krick@gmail.com>

---------

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore(release): release v7.10.0 (#9250)

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

* feat: release checkout flow (#9245)

* remove checkout flow flag

* remove checkout flow feature flag uses

* update release tests

* remove OrganizationPage

* feat(admin): Org Admin permissions - billing leader and team lead permissions (#9195)

* WIP feat(admin): First pass on Org Admin permissions - org perms

* Org Admin - team lead perms

* Check super-user when demoting org admin

* Fix options in org member view

* Handle bad orgId + userId inputs

* CR: Simplify logic + add comments

* Include love@ email address for contacting support

* fix: shake some images from server bundle (#9267)

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* fix: activity library settings mobile (#9275)

* add minimize animation

* fix cta on desktop and mobile

* ensure cta buttons have a higher z index that the minimized content

* add useMenu comment

* fix: activity library colour imports (#9277)

* fix: update activity library category colours

* fix category themes background colours

* chore: Check SERVER_ID in generateUID (#9270)

* chore: Check SERVER_ID in generateUID

If the server id is out of range, we potentially generate duplicate ids,
so it's better to throw immediately.

* Leave breadcrumps

* chore: Reuse data loader for analytics (#9239)

* chore: Reuse dataloader for analytics

* Cleanup

* Formatting

* More cleanup

* Cleanup

* Confusion

* fix: gracefully remove consumer from redis on sigterm (#9252)

* gracefully remove consumer from redis on sigterm

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* fix: gracefully remove consumer from redis on sigterm

Signed-off-by: Matt Krick <matt.krick@gmail.com>

---------

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore: rename services in datadog trace (#9048)

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore: webpack client and server in parallel (#9279)

* chore: webpack client and server in parallel

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore: cleanup my ugly code

Signed-off-by: Matt Krick <matt.krick@gmail.com>

---------

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore: Restrict prompt to join org to a smaller set of orgs (#9265)

Prefer higher tiers and bigger over smaller orgs.

* feat: added option to modify icebreakers with ai (#9268)

* feat: added option to modify icebreakers with ai

* code cleanup, analytics

* code cleanup

* fix: added success property to icebreaker modified analytics event

* refactor: use relay mutation helper for modify check in question mutation

* feat: add modified question char limit

* chore: efficient webpack bundles (#9256)

* fix: no opaque responses

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* add min bundle size

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* fix: only dynamic cache parabol assets

Signed-off-by: Matt Krick <matt.krick@gmail.com>

---------

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* feat: Show new meeting snack also on summary page (#9231)

* feat: Show new meeting snack also on summary page

Because the meeting summary shows the sidebar as well, this feels more
in line with the user expectation.

* Fix demo

* fix: Prompt to join org without organization feature flags (#9280)

When no organization feature flag was present, we would not show the
prompt to join org notification.

* chore: Automatically add devops to changes in .env.example

* chore: Update auto-request-reviewer workflow

* fix: Update organization on accept invite (#9281)

* fix: Prompt to join org without organization feature flags

When no organization feature flag was present, we would not show the
prompt to join org notification.

* fix: Update organization on accept invite

When accepting an invite in a different tab, or if the team lead accepts
a prompt to join org invite, the new organization was added partially to
the viewers organization causing undefined errors.

* fix: grab auth token before await (#9292)

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore: keep release process in GitHub (#9165)

* chore: release to staging from github

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore: push to prod on PR merge

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* fix: naming

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* fix: hotfix branch name prefix

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* fix: poll for pipeline in staging

Signed-off-by: Matt Krick <matt.krick@gmail.com>

---------

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore(release): release v7.11.0 (#9271)

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

* fix: Fix duplicate organizations for teams with auto join (#9290)

* fix: Fix duplicate organizations for teams with auto join

If an organization had multiple teams with `autoJoin` enabled, multiple
`OrganizationUser` objects would be created for a new user.

This fixes the creation of duplicate `OrganizationUser` objects but does
not fix the existing duplicates. Ideally we would add a migration for
this, but filtering over all `OrganizationUser` entries is expensive and
only the Parabol org is affected.

* Add test

* Fix adjustUserCount properly instead

* fix: release-to-staging debug (#9294)

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore(release): release v7.11.1 (#9293)

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

* fix: release-to-staging debugging 2 (#9295)

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore(release): release v7.11.2 (#9296)

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

* chore: disable autoJoin test (#9304)

The test fails randomly, supposedly because the underlying issue is not
completely fixed yet. This should be fixed in #9302, until then let's
unblock CI.

* chore: Change email summary setting copy to be clearer (#9303)

* chore(deps): bump tj-actions/changed-files in /.github/workflows (#9299)

Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 40 to 41.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](tj-actions/changed-files@v40...v41)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
...

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

* chore(meeting-inception): use retrosInDisguise flag for displaying add an activity button (#9297)

* feat(kudos): send kudos by text in standups (#9259)

* feat(kudos): send kudos by text in standups

* Remove console logs

* Fix test

* Store unicode emoji too

* Link teamPromptResponseId

* Update slack notification

* Update email notification

* Mention notification analytics

* response mentioned toast analytics

* isValid

* Add types

* chore: document SOCKET_PORT environment (#9309)

* fix: Fix kudosSent analytics (#9310)

* fix: add pr write permission to CI (#9313)

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore(release): release v7.12.0 (#9305)

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

* fix: release to staging debug #4 (#9315)

* fix: add pr write permission to CI

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* fix: release-staging handle async job creation

Signed-off-by: Matt Krick <matt.krick@gmail.com>

---------

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore(release): release v7.12.1 (#9316)

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

* chore: Convert GraphQL meeting types to use codegen (#9306)

* chore: Convert GraphQL meeting types to use codegen

* Cleanup

* Cleanup

* fix: longer timeout for unplayable job (#9321)

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore(release): release v7.12.2 (#9317)

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

* fix: gh release staging debug (#9322)

* fix: longer timeout for unplayable job

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* fix: exit condition debug

Signed-off-by: Matt Krick <matt.krick@gmail.com>

---------

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore(release): release v7.12.3 (#9323)

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

* fix: default to empty instead of null (#9325)

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore(release): release v7.12.4 (#9326)

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

* feat(kudos): enable mentions in retro reflections (#9284)

* feat(kudos): send kudos by text in standups

* Remove console logs

* Fix test

* Store unicode emoji too

* Link teamPromptResponseId

* Update slack notification

* Update email notification

* Mention notification analytics

* response mentioned toast analytics

* Enable mentions in retro reflections

* feat(kudos): enable mentions in retro reflections

* Make some params optional

* make editorRef optional

* Clear undo redo stack

* chore: prepare start and endRetrospective for recurrence (#9318)

Only refactored part of the functionality into different functions.

* feat: Add custom category to activity library (#9319)

* feat: Add custom category to activity library

The custom category lists all team and organization custom templates.

* Color adjustment

* fix: Docker build readme updated with the correct PostgreSQL version (#9330)

* chore: Update code review guidelines (#9307)

* chore: Update code review guidelines

* Update reviewers.yml

* Renamed "One Review Required" to "Skip Maintainer Review"

* Link to the label

* Link to correct label

* feat: remove unnecessary github oauth scopes (#8786)

* feat(kudos): send kudos at the end of the retro (#9288)

* feat(kudos): send kudos by text in standups

* Remove console logs

* Fix test

* Store unicode emoji too

* Link teamPromptResponseId

* Update slack notification

* Update email notification

* Mention notification analytics

* response mentioned toast analytics

* Enable mentions in retro reflections

* feat(kudos): enable mentions in retro reflections

* feat(kudos): send kudos at the end of the retro

* Handle anonymous notifications

* Make some params optional

* make editorRef optional

* Clear undo redo stack

* remove any

* rebuild

* make name and picture nullable

* Change anonymous to someone

* feat: adding integrations to team view tabs (#8985)

* feat: adding integrations to team view tabs

* fix/updating-integration-link

* Remove TeamSettingsWrapper

Only 1 route in it was still used, thus removed it

* Fix links

* Cleanup

* Don't use emotion in new components

---------

Co-authored-by: Georg Bremer <github@dschoordsch.de>

* fix: Show correct template owner for ex-team members (#9331)

Without this fix the edit controls were shown but did not work.

* fix: highlight team dash in sidebar regardless of tab (#9333)

* fix: highlight team dash in sidebar regardless of tab

* Forgot Organizations on mobile

* feat: ai template recommendation (#9223)

* show title and type below activity card

* make activity library card dynamic

* add retro background swirls

* add background images for all meeting types

* fix custom card size

* truncate text if there is no space

* clean up

* use grape 100

* add premortem and postmortem imgs

* remove bg from categories themes

* move background img to div

* add search bar

* add getTemplateSuggestion skeleton

* show ai response to user

* handle error states

* remove ai search props

* fix vertical scroll

* fix padding

* add padding on mobile

* fix merge conflicts

* add feature flag and add json response to open ai

* make suggestedTemplate non null

* clean up

* remove activity grid from activityLibrary file

* hide default search if showing ai search

* remove unused imports

* fix: Allow multiple "*New Template" (#9320)

* fix: Allow multiple *NewTemplate

* Add a number to new templates

* Start counting from 1

* chore(configuration): .env with the minimal configuration to make the application work (#9335)

* chore(configuration): all non required variables commented

* PGAdmin section explained and SOCKET_PORT back and explained

* fix: gh action release switch head to version tag (#9349)

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* feat(kudos): show snackbar when reflection with kudos created (#9334)

* feat(kudos): show snackbar when reflection with kudos created

* Remove console log

* snackbar key

* chore: Add recurring retros feature flag (#9347)

* chore: Add recurring retros feature flag

* Make it an org flag

* fix: fix broken demo summary (#9351)

* chore: Distribute assignSURole (#9353)

This is helpful in the docker image for initial setup.

* feat: update activity library quick start (#9350)

* add actvities to get you started title

* show desired quick start templates in order

* remove most popular

* reduce margin

* chore(release): release v7.13.0 (#9329)

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

* fix: create release branch as head (#9356)

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* fix: new branch debug (#9358)

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* fix: release-to-staging create branch to act as a the PR head (#9359)

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore: embedder add pgvector (and fixes) (#9341)

* chore: add pgvector to development environment Postgres

* fix: MailManagerDebug now always creates file paths under the O/S limit

* fix: bump rethinkdb-ts (fixes development errors on my system)

* chore: review fixes

* chore(release): release v7.13.1 (#9357)

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

* fix: contents: write for gh actions (#9361)

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore(release): release v7.13.2 (#9362)

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

* fix: support edge cases in release to prod (#9364)

Signed-off-by: Matt Krick <matt.krick@gmail.com>

* chore(release): release v7.13.3 (#9365)

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

---------

Signed-off-by: Matt Krick <matt.krick@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Georg Bremer <github@dschoordsch.de>
Co-authored-by: Nick O'Ferrall <nickoferrall@gmail.com>
Co-authored-by: parabol-release-bot[bot] <150284312+parabol-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Matt Krick <matt.krick@gmail.com>
Co-authored-by: Rafael Romero <rafael@parabol.co>
Co-authored-by: James Taber <jmtaber129@gmail.com>
Co-authored-by: adaniels-parabol <71724289+adaniels-parabol@users.noreply.github.com>
Co-authored-by: Marcus Wermuth <hello@marcuswermuth.com>
Co-authored-by: Igor Lesnenko <igor.lesnenko@gmail.com>
Co-authored-by: Bartosz Jarocki <jarocki.bartek@gmail.com>
Co-authored-by: Rafa <101704572+rafaelromcar-parabol@users.noreply.github.com>
Co-authored-by: Bruce Tian <tianrunhe@gmail.com>
Co-authored-by: Terry Acker <ackernaut@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alicia Cressall <aliciacressall@gmail.com>
Co-authored-by: Jordan Husney <jordan.husney@gmail.com>
  • Loading branch information
17 people committed Jan 18, 2024
1 parent d45244d commit c22a065
Show file tree
Hide file tree
Showing 425 changed files with 8,886 additions and 5,788 deletions.
189 changes: 119 additions & 70 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,15 +1,50 @@
# AMPLITUDE_WRITE_KEY='key_AMPLITUDE_WRITE_KEY'
ATLASSIAN_CLIENT_ID='key_ATLASSIAN_CLIENT_ID'
ATLASSIAN_CLIENT_SECRET='key_ATLASSIAN_CLIENT_SECRET'
AUTH_INTERNAL_DISABLED='false'
AUTH_GOOGLE_DISABLED='false'
AUTH_SSO_DISABLED='false'
# SERVER CONFIG
HOST='localhost'
PORT='3000'
PROTO='http'
SERVER_SECRET='key_SERVER_SECRET'
AWS_ACCESS_KEY_ID='key_AWS_ACCESS_KEY_ID'
AWS_REGION='key_AWS_REGION'
AWS_S3_BUCKET='action-files.parabol.co'
AWS_SECRET_ACCESS_KEY='key_AWS_SECRET_ACCESS_KEY'
# Cluster node number 0 - 1023. Must be unique per process.
SERVER_ID='1'
# Websocket port for the websocket server, only used in development (yarn dev)
SOCKET_PORT='3001'

# APPLICATION
# AMPLITUDE_WRITE_KEY='key_AMPLITUDE_WRITE_KEY'
# Enter a short url redirect service for invitations, it needs to redirecto to /invitation-link
# INVITATION_SHORTLINK='example.com'
# If true, all new orgs will default to being enterprise tier. Use for PPMIs
# IS_ENTERPRISE=false

# AUTHENTICATION
# AUTH_INTERNAL_DISABLED='false'
# AUTH_GOOGLE_DISABLED='false'
# AUTH_MICROSOFT_DISABLED='false'
# AUTH_SSO_DISABLED='false'
# GOOGLE_OAUTH_CLIENT_ID=''
# GOOGLE_OAUTH_CLIENT_SECRET=''
# OAUTH2_REDIRECT=''
# could be a specific tenant for on premise installs
# MICROSOFT_TENANT_ID='common'
# MICROSOFT_CLIENT_ID=''
# MICROSOFT_CLIENT_SECRET=''

# AWS
# AWS_ACCESS_KEY_ID='key_AWS_ACCESS_KEY_ID'
# AWS_REGION='key_AWS_REGION'
# AWS_SECRET_ACCESS_KEY='key_AWS_SECRET_ACCESS_KEY'

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

# CDN SETTINGS
CDN_BASE_URL=''
# FILE_STORE_PROVIDER: local | s3 | gcs
FILE_STORE_PROVIDER='local'
# AWS_S3_BUCKET='BUCKET_NAME'
# GOOGLE_GCS_BUCKET='BUCKET_NAME'

# CHRONOS
CHRONOS_PULSE_EMAIL=''
CHRONOS_PULSE_CHANNEL=''
CHRONOS_PULSE_DAILY='0 0 4 * * *'
Expand All @@ -19,72 +54,86 @@ CHRONOS_SCHEDULE_JOBS='0 */10 * * * *'
CHRONOS_UPDATE_TOKENS='0 0 0 1,15 * *'
CHRONOS_PROCESS_RECURRENCE='0 */5 * * * *'
CHRONOS_AUTOPAUSE='0 0 5 * * *'
CI='true'
DD_AGENT_HOST='172.17.0.1'
DD_API_KEY='DD_API_KEY'
DD_APM_ENABLED='false'
DD_TRACE_ENABLED='false'
DD_ENV='local'
FILE_STORE_PROVIDER='s3'
GITHUB_CLIENT_ID='key_GITHUB_CLIENT_ID'
GITHUB_CLIENT_SECRET='key_GITHUB_CLIENT_SECRET'
GITHUB_WEBHOOK_SECRET='key_GITHUB_WEBHOOK_SECRET'
GITLAB_CLIENT_ID='key_GITLAB_CLIENT_ID'
GITLAB_CLIENT_SECRET='key_GITLAB_CLIENT_SECRET'
GOOGLE_CLOUD_CLIENT_EMAIL='key_GOOGLE_CLOUD_CLIENT_EMAIL'
GOOGLE_CLOUD_PRIVATE_KEY='key_GOOGLE_CLOUD_PRIVATE_KEY'
GOOGLE_CLOUD_PRIVATE_KEY_ID='key_GOOGLE_CLOUD_PRIVATE_KEY_ID'
GRAPHQL_HOST='localhost:3000'
GRAPHQL_PROTOCOL='http'
HOST='localhost'
#if true, all new orgs will default to being enterprise tier. Use for PPMIs
IS_ENTERPRISE=false
# Enter a short url redirect service for invitations, it needs to redirecto to /invitation-link
# INVITATION_SHORTLINK='example.com'
# MAIL GLOBALS. PROVIDER: mailgun | google | debug | smtp
MAIL_PROVIDER='debug'
MAIL_FROM='key_MAIL_FROM'
MAILGUN_API_KEY='key_MAILGUN_API_KEY'
MAILGUN_DOMAIN='key_MAILGUN_DOMAIN'
MAIL_GOOGLE_USER='key_MAIL_GOOGLE_USER'
MAIL_GOOGLE_PASS='key_MAIL_GOOGLE_PASS'
MAIL_SMTP_HOST='key_MAIL_SMTP_HOST'
MAIL_SMTP_PORT=587
MAIL_SMTP_USER='key_MAIL_SMTP_USER'
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'
MIN_LOG_DURATION='200'
OAUTH2_REDIRECT=''
PGADMIN_DEFAULT_EMAIL='pgadmin4@pgadmin.org'
PGADMIN_DEFAULT_PASSWORD='admin'
PORT='3000'

# DATABASES
POSTGRES_PASSWORD=parabol
POSTGRES_USER=pgparaboladmin
POSTGRES_DB=parabol-saas
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_POOL_SIZE=5
POSTGRES_SSL_REJECT_UNAUTHORIZED=false
POSTGRES_SSL_DIR='/var/lib/postgresql'
PROTO='http'
# POSTGRES_POOL_SIZE=5
# POSTGRES_SSL_REJECT_UNAUTHORIZED=false
# POSTGRES_SSL_DIR='/var/lib/postgresql'
REDIS_PASSWORD=''
REDIS_URL='redis://localhost:6379'
REDIS_TLS_CERT_FILE=./certs/redis.crt
REDIS_TLS_KEY_FILE=./certs/redis.key
REDIS_TLS_CA_FILE=./certs/redisCA.crt
REDIS_TLS_REJECT_UNAUTHORIZED='false'
# REDIS_TLS_CERT_FILE=./certs/redis.crt
# REDIS_TLS_KEY_FILE=./certs/redis.key
# REDIS_TLS_CA_FILE=./certs/redisCA.crt
# REDIS_TLS_REJECT_UNAUTHORIZED='false'
RETHINKDB_URL='rethinkdb://localhost:28015/actionDevelopment'
RETHINKDB_SSL='false'
SENTRY_AUTH_TOKEN='key_SENTRY_AUTH_TOKEN'
# SENTRY_DSN='key_SENTRY_DSN'
# Cluster node number 0 - 1023
SERVER_ID='1'
SLACK_CLIENT_ID='key_SLACK_CLIENT_ID'
SLACK_CLIENT_SECRET='key_SLACK_CLIENT_SECRET'
SOCKET_PORT='3001'
# https://stripe.com/docs/keys
STRIPE_SECRET_KEY='sk_test_4eC39HqLyjWDarjtT1zdp7dc'
STRIPE_PUBLISHABLE_KEY='pk_test_TYooMQauvdEDq54NiTphI7jx'
STRIPE_WEBHOOK_SECRET='sk_test_4eC39HqLyjWDarjtT1zdp7dc'
ULTRAHOOK_API_KEY='key_ULTRAHOOK_API_KEY'

# DATADOG DD-Trace
# https://ddtrace.readthedocs.io/en/stable/configuration.html
# DD_APM_ENABLED='false'
# DD_API_KEY=''
# DD_APPLICATIONID=''
# DD_APPSEC_ENABLED='true'
# DD_CLIENTTOKEN=''
# DD_ENV=''
# DD_LOGS_INJECTION='true'
# DD_RUNTIME_METRICS_ENABLED='true'
# DD_SERVICE='DD_SERVICE_NAME'
# DD_TRACE_AGENT_URL='http://localhost:8126'
# DD_TRACE_ENABLED='false'

# GOOGLE
# Google Analytics Tracking ID
# GA_TRACKING_ID=''
# GOOGLE_CLOUD_CLIENT_EMAIL='key_GOOGLE_CLOUD_CLIENT_EMAIL'
# GOOGLE_CLOUD_PRIVATE_KEY='key_GOOGLE_CLOUD_PRIVATE_KEY'
# GOOGLE_CLOUD_PRIVATE_KEY_ID='key_GOOGLE_CLOUD_PRIVATE_KEY_ID'

# INTEGRATIONS
# ATLASSIAN_CLIENT_ID='key_ATLASSIAN_CLIENT_ID'
# ATLASSIAN_CLIENT_SECRET='key_ATLASSIAN_CLIENT_SECRET'
# AZUREDEVOPS_CLIENT_ID=''
# AZUREDEVOPS_CLIENT_SECRET=''
# GITHUB_CLIENT_ID='key_GITHUB_CLIENT_ID'
# GITHUB_CLIENT_SECRET='key_GITHUB_CLIENT_SECRET'
# GITLAB_CLIENT_ID='key_GITLAB_CLIENT_ID'
# GITLAB_CLIENT_SECRET='key_GITLAB_CLIENT_SECRET'
# HUBSPOT_API_KEY=''
# HUBSPOT_SALES_PIPELINE_ACTIVE_STAGES=''
# HUBSPOT_SALES_PIPELINE_ID=''
# OPEN_AI_API_KEY=''
# OPEN_AI_ORG_ID=''
# RECALL_AI_KEY=''
# SLACK_CLIENT_ID='key_SLACK_CLIENT_ID'
# SLACK_CLIENT_SECRET='key_SLACK_CLIENT_SECRET'

# MAIL
# MAIL GLOBALS. PROVIDER: mailgun | google | debug | smtp
MAIL_PROVIDER='debug'
# MAIL_FROM='key_MAIL_FROM'
# MAILGUN_API_KEY='key_MAILGUN_API_KEY'
# MAILGUN_DOMAIN='key_MAILGUN_DOMAIN'
# MAIL_GOOGLE_USER='key_MAIL_GOOGLE_USER'
# MAIL_GOOGLE_PASS='key_MAIL_GOOGLE_PASS'
# MAIL_SMTP_HOST='key_MAIL_SMTP_HOST'
# MAIL_SMTP_PORT=587
# MAIL_SMTP_USER='key_MAIL_SMTP_USER'
# 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'
# ULTRAHOOK_API_KEY='key_ULTRAHOOK_API_KEY'

# PGAdmin - used only with yarn db:start command
PGADMIN_DEFAULT_EMAIL='pgadmin4@pgadmin.org'
PGADMIN_DEFAULT_PASSWORD='admin'
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/release_test.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ Run through this list at least once at [staging](https://action.parabol.fun):
- [ ] Created a 2nd team
- [ ] Created a 2nd organization
- [ ] Upgraded to Team (Credit card number: `4242 4242 4242 4242`, expiration date: any month in the future, CVC: `123`)
- [ ] Upgraded to Team with a 3D Secure card (Credit card number: `4000 0000 0000 3063`, expiration date: any month in the future, CVC: `123`)
- [ ] Tried and failed to upgrade with a card with insufficient funds (Credit card number: `4000 0000 0000 9995`, expiration date: any month in the future, CVC: `123`). Error feedback is shown in the UI.
- [ ] Smoke tested the app on a mobile device (e.g. navigate between views, smoke test a Retro meeting, etc.)
- [ ] Test previously existed meetings to make sure that existing data is not corrupted
- [ ] Create a task in the discussion thread of a meeting
Expand Down
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,5 @@ Fixes/Partially Fixes #[issue number]
- [ ] I have performed a self-review of my code, the same way I'd do it for any other team member
- [ ] I have tested all cases I listed in the testing scenarios and I haven't found any issues or regressions
- [ ] Whenever I took a non-obvious choice I added a comment explaining why I did it this way
- [ ] I added the label `One Review Required` if the PR introduces only minor changes, does not contain any architectural changes or does not introduce any new patterns and I think one review is sufficient'
- [ ] I added the label https://github.com/ParabolInc/parabol/labels/Skip%20Maintainer%20Review if the PR introduces only minor changes, does not contain any architectural changes or does not introduce any new patterns and I think one review is sufficient'
- [ ] PR title is human readable and could be used in changelog
12 changes: 6 additions & 6 deletions .github/reviewers.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
reviewers:
groups:
developers:
- jmtaber129
reviewers:
- igorlesnenko
- nickoferrall
- BartoszJarocki
maintainers:
- mattkrick
- Dschoordsch
Expand All @@ -13,14 +11,14 @@ reviewers:
- tghanken
designers:
- ackernaut
- enriquesanchez
devops:
- rafaelromcar-parabol
- adaniels-parabol
- dbumblis-parabol
none:

per_author:
developers:
reviewers:
- none
maintainers:
- none
Expand All @@ -32,13 +30,15 @@ reviewers:
- none

defaults:
- developers
- maintainers

files:
"**/migrations/**":
- data
"**/analytics/**":
- data
".env.example":
- devops
options:
ignore_draft: true
ignored_keywords:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/assign_reviewers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Request review based on files changes and/or groups the author belongs to
uses: necojackarc/auto-request-review@v0.7.0
uses: necojackarc/auto-request-review@v0.11.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
config: .github/reviewers.yml # Config file location override
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ jobs:
id-token: "write"
services:
postgres:
image: postgres:15.4
# Image is pinned to v15, OK since it's just for testing
image: ankane/pgvector
# This env variables must be the same in the file PARABOL_BUILD_ENV_PATH
env:
POSTGRES_PASSWORD: "temppassword"
Expand Down
39 changes: 39 additions & 0 deletions .github/workflows/migration-order.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Migration Order
on:
pull_request:
paths:
- packages/server/postgres/migrations/*.ts
jobs:
migration-order:
runs-on: ubuntu-latest
steps:
- name: Checkout master
uses: actions/checkout@v3
with:
ref: master

- name: Get newest migration on master
run: |
MAX_OLD_MIGRATION=$(ls packages/server/postgres/migrations | tail -n 1)
echo MAX_OLD_MIGRATION=$MAX_OLD_MIGRATION >> $GITHUB_ENV
- name: Checkout PR
uses: actions/checkout@v3

- name: Get new migrations
id: new-migrations
uses: tj-actions/changed-files@v41
with:
files: packages/server/postgres/migrations/*.ts

- name: Check migration conflicts
run: |
for file in ${{ steps.new-migrations.outputs.added_files }}; do
FILE_NAME=$(basename $file)
if [[ "$FILE_NAME" < "${{ env.MAX_OLD_MIGRATION }}" ]]; then
echo "$FILE_NAME predates ${{ env.MAX_OLD_MIGRATION}}. Please rename it"
exit 1
else
echo "$FILE_NAME does not conflict with existing migrations on master"
fi
done
4 changes: 2 additions & 2 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ on:
push:
branches:
- master
- hotfix-*
- hotfix**
name: release-please
jobs:
release-please:
Expand All @@ -19,4 +19,4 @@ jobs:
command: manifest
default-branch: ${{ github.ref_name}}
release-type: node
token: ${{ steps.generate_token.outputs.token }}
token: ${{ steps.generate_token.outputs.token }}
43 changes: 43 additions & 0 deletions .github/workflows/release-to-prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Release to Production
on:
pull_request:
branches:
- production
types: [closed]
jobs:
release:
if: ${{ github.event.pull_request.merged == true }}
runs-on: ubuntu-latest
permissions:
contents: "read"
id-token: "write"
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Get Job ID from PR
run: |
JOB_ID=$(echo ${{ github.event.pull_request.body}} | perl -ne 'print "$1\n" and exit if m/^Production Job Id:\s(\w+)/;')
echo "JOB_ID=${JOB_ID}" >> $GITHUB_ENV
- name: Push to Production Server
uses: nick-fields/retry@v2
with:
timeout_minutes: 5
max_attempts: 100
retry_wait_seconds: 5
# If the job isn't created yet, will return {"message":"400 Bad request - Unplayable Job"}
command: |
RES=$(curl "https://gitlab.com/api/v4/projects/${{ vars.GITLAB_PROJECT_ID }}/jobs/${{ env.JOB_ID }}/play" \
--request POST \
--header 'PRIVATE-TOKEN: ${{ secrets.GITLAB_API_TOKEN }}')
echo $RES
JOB_ID_DONE=$(echo $RES | jq '.id // empty')
[ -z "$JOB_ID_DONE" ] && exit 1 || exit 0
- name: Poll Production Release
uses: artiz/poll-endpoint@1.0.2
with:
url: https://gitlab.com/api/v4/projects/${{ vars.GITLAB_PROJECT_ID }}/jobs/${{ env.JOB_ID }}?access_token=${{ secrets.GITLAB_API_TOKEN }}
method: GET
expect-status: 200
expect-response-regex: '"status":"success"'
timeout: 120000
interval: 3000
Loading

0 comments on commit c22a065

Please sign in to comment.