Cloud: E2E coverage and documentation
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- firebase, lua, typescript
- Lĩnh vực
- authentication, cloud, databases, documentation, testing
Hướng nghiên cứu
Start with lua-learning-website/e2e/fixtures.ts and the existing fixture pattern, then review dependencies #795 and #796 before adding the signed-in and admin coverage. Read the requested cloud documentation files and record the 500-file scale results and preview-channel checks. Done means all listed emulator specs, documentation updates, build, duplicates, lint, and typecheck pass.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
End-to-end coverage of the full cloud accounts flow against the Firebase emulators, plus user and
developer documentation. Closes out the Cloud Accounts & Storage milestone.
E2E
lua-learning-website/e2e/fixtures.ts currently provides editorPage, cleanEditorPage,
explorerPage, and shellPage, each hardcoding page.goto('/editor'). Add a signed-in
fixture backed by the Auth emulator, plus an admin fixture, as siblings.
Specs to add:
- Sign in with an allowlisted account ->
/cloudmounts and appears in the explorer - Create, edit, and delete a file in
/cloud; reload -> content persists - Run a Lua script from
/cloudin the shell;requireandio.openboth resolve - Upload a binary asset -> stored in Cloud Storage, not Firestore
- Sign in with a non-allowlisted email -> exactly
"{EMAIL} is not authorized.", user signed out - Exceed quota -> clear error, existing files untouched, editor content not lost
- Admin panel: add/remove an allowlist email, add/remove a domain, change
quotaBytesandmaxFiles - Admin panel is unreachable for a non-admin
- Sign out ->
/cloudunmounts; virtual and local workspaces still work - Guest (never signed in) experience is unchanged
Scale check
Create a workspace of ~500 small files and confirm hydration streams with visible progress and an
acceptable cold-start time. This is the assumption in the whole design most likely to be
wrong — if manifest-first + paged streaming is not fast enough, the mount strategy in
#792 needs revisiting before rollout.
Documentation
-
docs/cloud-storage.md: architecture, the Firestore/Storage split and the 256 KB spill
threshold, quota model, admin runbook (add a user, add a domain, change a quota, bootstrap
the first admin), emulator workflow, and the stated residual gap around client-reported
usage prior to #797 -
docs/architecture.mdupdated to describe thecloudworkspace type -
CLAUDE.mdupdated if the emulator step becomes part of the standard test command
Acceptance criteria
- All specs above pass against the emulators
- Signed-in and admin fixtures added to
e2e/fixtures.tsfollowing the existing pattern - 500-file scale check performed and results recorded in this issue
-
docs/cloud-storage.mdanddocs/architecture.mdupdated - Full manual pass on a Firebase Hosting preview channel (see below)
-
npm run build,npm run duplicates, lint, and typecheck all pass
Manual verification on a preview channel
The COOP/COEP headers and the signInWithRedirect flow cannot be reproduced under
vite dev — they only exist on Firebase Hosting. In particular:
- Assert
window.crossOriginIsolated === trueafter completing sign-in, proving the auth
flow did not cost us SharedArrayBuffer - Run a canvas/WASM demo post-sign-in to confirm the runtime still works
- Confirm the Google account chooser appears even when already signed into Google
- Sign in on a second device and confirm live sync
Depends on
- #795
- #796
Branching
This issue is part of the Cloud Accounts & Storage
milestone, which uses feat/cloud as its integration branch.
Branch from feat/cloud, and open the PR against feat/cloud. Never against main.
Create the branch (the --base flag also sets the default PR target for this branch):
gh issue develop <number> --base feat/cloud --checkout
Open the PR:
python3 scripts/issue-review.py <number> --base feat/cloud \
--summary "<summary>" --test-plan "<test-plan>"
feat/cloud merges to main in a single PR once the milestone is complete.
Why both flags are required: gh issue develop without --base branches from the repository
default branch (main), and scripts/issue-review.py falls back to main when --base is
omitted — both for the gh pr create target and for the changed-file list in the PR body.
- Ngôn ngữ chính
- TypeScript
- Star
- 1
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của jcollard/LuaInTheWeb
-
tech-debt
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
jcollard/LuaInTheWeb#752 ·
-
tech-debt
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
jcollard/LuaInTheWeb#690 ·
-
tech-debt
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 75/100
jcollard/LuaInTheWeb#590 ·
-
tech-debt
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
jcollard/LuaInTheWeb#518 ·
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
jcollard/LuaInTheWeb#235 ·
Tất cả issue của jcollard/LuaInTheWeb
Issue tương tự
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
lingdojo/kana-dojo#32663 · 1 bình luận · 5 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Admin: Title Separator field can't be cleared (input falls back to "|")Có thể đã có người làm @emdashbot đã nhận hôm nay. Đang mởbot:bug bot:in-review
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
emdash-cms/emdash#4236 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
PHP workflow streaming requests buffer the full SSE responseCó thể đã có người làm @Winoren đã nhận hôm nay. Đang mởreview: medium
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
langgenius/dify#44270 · 1 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area:holodeck review-finding
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
hyperdrive-technology/holodeck#142 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
session-worker-compile.yml uses a floating oven-sh/setup-bun@v2 tag instead of the pinned SHAĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
code-yeongyu/senpi#3573 ·
Maintainer thường phản hồi trong vòng 1 ngày