Skip to content

feat: massively overhaul codebase - #924

Open
baseplate-admin wants to merge 268 commits into
mainfrom
feat/jxr-other
Open

feat: massively overhaul codebase#924
baseplate-admin wants to merge 268 commits into
mainfrom
feat/jxr-other

Conversation

@baseplate-admin

Copy link
Copy Markdown
Collaborator

No description provided.

@baseplate-admin baseplate-admin changed the title feat: massively overhaul JS codes feat: massively overhaul codebase May 27, 2026
@baseplate-admin
baseplate-admin force-pushed the main branch 2 times, most recently from a61111d to d8e9e62 Compare May 29, 2026 04:04
- Delete lib/queries/ directory (old hand-written queries layer)
- Delete lib/graphql/queries.ts (hand-written gql queries)
- Delete lib/graphql/hooks.svelte.ts (hand-written query hooks)
- Add lib/graphql/use-query.svelte.ts (createQueryStore helper)
- Update all route files to import Document nodes from generated/graphql.js
- Generate GraphQL types for UploadFile, CompleteOnboarding, DeleteFile mutations
- Use createQueryStore<Data>(Document) pattern throughout
- Add minify:true and treeShaking:true to all esbuild build options
- JS dist files reduced from 7.5KB to 4.1KB (45%% reduction)
…rse sharing backend

- Install channels[daphne] + channels-redis for WebSocket support
- Configure channel layers (Redis in prod, in-memory in dev)
- Update ASGI to ProtocolTypeRouter with HTTP + WebSocket routing
- Add StateConsumer at ws:/ws/state for real-time app state (storage usage,
  active uploads) broadcast to all connected clients
- Add Strawberry GraphQL Subscription with remainingStorage field
- Broadcast state after file upload/delete mutations
- Add reverse sharing backend: Room, RoomFile, RoomHost models
- Add reverse room HTTP API: create, detail, upload, host management
- Add ReverseRoomConsumer at ws:/ws/reverse/rooms/<id> for multiplexed
  file streaming (works in single-process and cluster via channels)
…reaming

The _stream_file helper now reads local files in chunks via open() instead
of calling download_stream which is S3-only. S3 backend continues to use
the existing async streaming path.
…, and fix missing imports

- Move  back inside  class with proper decorator
- Remove  presigned URL mutation (backend serves files directly)
- Remove unused  import from file mutations
- Add missing  to subscriptions.py
- Clean unused  and  imports from reverse_consumers
- Update PLAN.md: confirmed backend serves files directly, no presigned URLs
- Remove enable_experimental_incremental_execution (requires broken graphql-core 3.3.0rc0)
- Pin graphql-core to >=3.2.0,<3.3 in pyproject.toml (stable release)
The User model was defined inside the try block but referenced in the
except clause, causing UnboundLocalError when JWT decode failed.
- Add fflate dependency and implement createZipStream in streams.ts
- Set PUBLIC_BACKEND_API env var to point to correct backend port (8002)
- Disable experimental incremental delivery (required broken graphql-core 3.3.0rc0)
- Pin graphql-core to stable >=3.2.0,<3.3
- Fix UnboundLocalError in get_user_from_jwt_token (move get_user_model outside try)
- Add StorageBackend ABC with download_stream contract
- LocalStorageBackend now streams via _LocalAsyncFile wrapper
- S3StorageBackend implements the same ABC
- Unify download_file view: single StreamingHttpResponse path for
  both backends (no more FileResponse / is_s3_backend branching)
- Unify reverse WebSocket consumer to use download_file_stream
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant