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

Multiplayer + Teams (a-team) #718

Merged
merged 1,157 commits into from
Jan 29, 2024
Merged

Multiplayer + Teams (a-team) #718

merged 1,157 commits into from
Jan 29, 2024

Conversation

jimniels
Copy link
Collaborator

@jimniels jimniels commented Oct 3, 2023

I pity the GPU — Mr. T

Rust MP services + Core

Front end + API

  • Merge code-triangles Improved code UI treatment #997
  • Merge Better Spill UI Better spill UI #984
  • Merge a-team-fix-nits (multiplayer UI fixes) A team fix nits #979
  • File Sharing: Invite user with account: Handle duplicate emails feat: support sending emails #993
  • File Sharing: Invite user with account: Send email feat: support sending emails #993
  • File Sharing: Invite user without account: Send email, [user signs up], upon sign in, turn invites into file/team access feat: support sending emails #993
  • Comprehensive tests for all new /files/* API routes - * indicates the endpoint has existing tests but these will require updates for the new response data shape as well as how the introduction of file checkpoints broke existing tests:
    • files.GET *
    • files.POST *
    • files.$uuid.GET *
    • files.$uuid.DELETE *
    • files.$uuid.PATCH *
    • files.$uuid.sharing.GET
    • files.$uuid.sharing.PATCH
    • files.$uuid.invites.POST
    • files.$uuid.invites.$inviteId.DELETE
    • files.$uuid.users.$userId.PATCH
    • files.$uuid.users.$userId.DELETE
    • files.$uuid.users.$userId.PATCH
    • permissions.ts
    • getFile.ts
  • Style multiplayer elements in app
  • Mixpanel tracking for file sharing events
  • File Permissions - Connect to Rust MP, connect to the front end feat: file sharing changes #951
  • In app file location (‘My files’ | ‘Shared with me’ | ‘{Team name}’ / File name)
  • New 'shared with me' view
  • Hide teams in the UI (edit: hides via production URL check)

Infra

  • Infra for Prod
  • New service monitoring
  • Move all previews keys to dev (S3 Key still points at prod AWS account)
  • Infra for file service
  • Env Vars fix
  • Infra for previews
  • Dev - Run multiplayer services in docker
  • Give files a endpoint on s3

Release Items:

  • Get tests to pass
  • Documentation update
  • Prevent duplicate user emails in Prod
  • Migrate Files to FileCheckpoint Release Items #973
  • Flatten all the migrations created by this chunk of work (and alter migration code for migrating owner tables)
-- AlterTable
 ALTER TABLE "File" DROP COLUMN "team_id",
 -- ADD COLUMN     "creator_user_id" INTEGER NOT NULL,
 ADD COLUMN     "owner_team_id" INTEGER,
 ALTER COLUMN "ownerUserId" DROP NOT NULL;

-- Added by David
ALTER TABLE "File"
ADD COLUMN "creator_user_id" INTEGER;
UPDATE "File"
SET "creator_user_id" = "ownerUserId";
ALTER TABLE "File"
ALTER COLUMN "creator_user_id" SET NOT NULL;

Bugs:

Nits:

Later

  • Web socket server knowing updated permissions without user reloading file.
    • Related: renaming a file when multiple people are in it doesn't show up for the other users
  • Cursor shows up for a mobile user when moving the viewport for an instant (turn off cursor transition on isMobile = true)
  • Cursor doesn't update position when moving viewport (lags behind due to interpolation)
  • Edit outstanding invites (today you have to delete it, then re-add it)
  • Re-send the email for an invite

Deployment Plan

  • Deploy on api staging
  • Test migration script on API staging
  • Setup all production ENV Vars in Pulumi ESC
    -- Before merging main
  • Create a production stack with Pulumi
  • Verify behavior of production stack
    -- Merge main
  • Migrate api
  • Verify deployment success

@vercel
Copy link

vercel bot commented Oct 3, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
quadratic ✅ Ready (Inspect) Visit Preview Jan 29, 2024 8:58pm

@davidkircos davidkircos temporarily deployed to quadratic-api-dev-pr-718 October 3, 2023 21:57 Inactive
@jimniels jimniels temporarily deployed to quadratic-api-dev-pr-718 October 5, 2023 23:28 Inactive
@jimniels jimniels temporarily deployed to quadratic-api-dev-pr-718 October 10, 2023 19:01 Inactive
@jimniels jimniels temporarily deployed to quadratic-api-dev-pr-718 October 11, 2023 23:10 Inactive
@jimniels jimniels temporarily deployed to quadratic-api-dev-pr-718 October 12, 2023 19:08 Inactive
@jimniels jimniels temporarily deployed to quadratic-api-dev-pr-718 October 16, 2023 22:25 Inactive
@jimniels jimniels temporarily deployed to quadratic-api-dev-pr-718 October 16, 2023 22:28 Inactive
@jimniels jimniels temporarily deployed to quadratic-api-dev-pr-718 October 17, 2023 19:30 Inactive
@jimniels jimniels temporarily deployed to quadratic-api-dev-pr-718 October 18, 2023 20:01 Inactive
@jimniels jimniels temporarily deployed to quadratic-api-dev-pr-718 October 19, 2023 20:42 Inactive
@jimniels jimniels temporarily deployed to quadratic-api-dev-pr-718 October 20, 2023 02:44 Inactive
@jimniels jimniels temporarily deployed to quadratic-api-dev-pr-718 October 21, 2023 04:56 Inactive
@jimniels jimniels temporarily deployed to quadratic-api-dev-pr-718 October 23, 2023 19:58 Inactive
@jimniels jimniels temporarily deployed to quadratic-api-dev-pr-718 October 23, 2023 23:17 Inactive
@jimniels jimniels had a problem deploying to quadratic-api-dev-pr-718 October 24, 2023 23:19 Failure
@davidkircos davidkircos temporarily deployed to quadratic-api-dev-pr-1043 January 29, 2024 18:34 Inactive
@davidkircos davidkircos merged commit 2fd1a97 into main Jan 29, 2024
11 of 12 checks passed
@davidkircos davidkircos deleted the a-team branch January 29, 2024 21:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
high priority within weeks
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

None yet

6 participants