Repository navigation
feat(www): jobs, license, network and update step-by-step guides with videos, part 4 of 4 - #2432
Merged
Merged
Conversation
Four walkthroughs: a Business trial added in Settings › License, the security questionnaire job run on a workbook and opened in Studio, Settings › Network with a site blocked and the question SurfSense then asks, and an update check. A capture issues no license, so the jobs walkthroughs answer the license routes and the jobs download themselves (trial-license.mjs), through a new intercept hook that runs before the page loads. The job itself runs: the capture sets the backend's SURFSENSE_LOCAL_JOBS_UNLOCKED switch and installs the signed questionnaire pack through SURFSENSE_LOCAL_JOB_PACKS.
…ots and videos Start a trial and add your license, Fill in a security questionnaire from your policies, See and control what leaves your computer, and Update SurfSense. The hub and the sidebar gain Jobs and Privacy and updates groups, and the hub points to the Docker pages for running SurfSense on a server. The Jobs, License, Privacy and Updates pages link to their guides.
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
|
Caution Review failedThe pull request is closed.
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
The redline walkthrough adds a real NDA from an SEC filing (ContractNLI, CC BY 4.0, kept as a Word file) and the Bonterms Mutual NDA (CC BY 4.0, fetched) as the playbook, runs the job, and reads the marked-up copy beside its comments. It runs on Claude Sonnet 5.5 and refuses a take whose copy holds markup: on Haiku 5.5 both of two runs wrote `](...)`, `</parameter>` or `},` into their changes. A walkthrough can now name its own window size (the redline's comments need Studio at its widest, 1440 by 900) and poster quality. The trial's jobs download answers for every pack the capture installs, now both; the questionnaire take clears every job's runs, so Recent runs starts empty; the model switch waits for the server's model list.
…aded `node scripts/guides/preview-videos.mjs` copies the capture's videos into public/guide-videos-local/, which git ignores. In development, a guide whose video isn't in guide-videos.json plays that copy, and its caption leaves the length out. A build never falls back.
…th both jobs Redline a contract against your playbook, in the hub's Jobs group and linked from the Jobs page. The trial and questionnaire guides are retaken with both signed packs installed, so Jobs and Settings › License show both jobs ready, as every Business trial will, and Recent runs starts empty.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Part 4 of the tutorials in
plans/community-local/tutorials.md: five guides at/docs/v2/guides, each a short silent video above numbered steps with a screenshot of SurfSense for every step.surfsense.lic, "Allow downloading your jobs?", and the trial active with both jobs downloaded.The hub and the sidebar gain Jobs and Privacy and updates groups. The Jobs, License, Privacy and Updates pages link to their guides. The hub points to the existing Docker pages instead of a Docker guide: a capture would pull the image, and those pages already walk through it.
How the jobs capture works. A capture issues no license, so
trial-license.mjsanswers the license routes as a Business trial for you@example.com would (the older license shots do the same), and answers the jobs download as the license server would. The jobs themselves really run: the capture sets the backend'sSURFSENSE_LOCAL_JOBS_UNLOCKEDswitch and installs both signed packs, questionnaire 0.4.3 and redline 0.1.0, throughSURFSENSE_LOCAL_JOB_PACKS. The redline pack was signed for this on the maintainer's go-ahead; itsjob-pack.sigis in the localsurfsense-jobscheckout, not committed or published. The questionnaire answers on Claude Haiku 5.5 and the redline on Claude Sonnet 5.5. The redline's window is 1440×900 (a walkthrough can now name its own), since its comments sit beside the page.Previewing the videos before they're uploaded.
node scripts/guides/preview-videos.mjscopies the captured videos intopublic/guide-videos-local/, which git ignores, and innext deva guide whose video isn't uploaded plays that copy. A build never does.The first commit, a shared
setHostAllowedhelper and Biome fixes for the agent walkthroughs (useAgentModelread as a React hook), is also on #2430's branch. Its stacked base meant CI never linted it.Stacked on #2430; the base is
feat/tutorial-guides-agent.Why
Part 4 of 4 of the guides the maintainer asked for. The in-app links are #2433.
Found while capturing:
](...)and</parameter>in one,},twice in the other. It is in the "With changes" download. Sonnet 5.5's runs were clean, so the guide runs on Sonnet, and its walkthrough refuses a take whose copy holds any markup.Fixes # (none: asked in chat)
How to test
cd www && pnpm test:unit: every check passes but the video upload check.cd www && pnpm build: passes, and prerenders 27 guides.node scripts/guides/preview-videos.mjs, thenpnpm dev, and open/docs/v2/guides: every guide's video plays.High-level PR Summary
This PR adds the final four step-by-step guides to the SurfSense documentation: starting a Business trial and adding a license, filling in security questionnaires from policy documents, controlling network access for privacy, and updating the application. Each guide includes a silent video and numbered steps with screenshots. The guides are organized into Jobs and Privacy and updates sections in the documentation hub and sidebar. The implementation includes sophisticated test infrastructure that simulates a Business trial license by intercepting license server requests, allowing the job-related guides to demonstrate real functionality during capture without requiring an actual license.
⏱️ Estimated Review Time: 15-30 minutes
💡 Review Order Suggestion
plans/community-local/tutorials.mdwww/content/docs/v2/guides/meta.jsonwww/content/docs/v2/guides/index.mdxwww/content/docs/v2/guides/business-trial.mdxwww/content/docs/v2/guides/security-questionnaire.mdxwww/content/docs/v2/guides/privacy-network.mdxwww/content/docs/v2/guides/updates.mdxwww/content/docs/v2/jobs.mdxwww/content/docs/v2/license.mdxwww/content/docs/v2/privacy.mdxwww/content/docs/v2/updates.mdxwww/scripts/guides/walkthroughs/trial-license.mjswww/scripts/guides/walkthroughs/business-trial.mjswww/scripts/guides/walkthroughs/security-questionnaire.mjswww/scripts/guides/walkthroughs/privacy-network.mjswww/scripts/guides/walkthroughs/updates.mjswww/scripts/guides/walkthroughs/index.mjswww/scripts/guides/capture.mjswww/scripts/guides/capture/walkthrough-session.mjswww/scripts/guides/walkthroughs/studio.mjswww/public/guides/business-trial/01-no-license.webpwww/public/guides/business-trial/02-add-license.webpwww/public/guides/business-trial/03-allow-jobs.webpwww/public/guides/business-trial/04-active.webpwww/public/guides/business-trial/poster.webpwww/public/guides/security-questionnaire/01-jobs.webpwww/public/guides/security-questionnaire/02-run-form.webpwww/public/guides/security-questionnaire/03-start.webpwww/public/guides/security-questionnaire/04-progress.webpwww/public/guides/security-questionnaire/05-done.webpwww/public/guides/security-questionnaire/06-answers.webpwww/public/guides/security-questionnaire/07-exceptions.webpwww/public/guides/security-questionnaire/poster.webpwww/public/guides/privacy-network/01-network.webpwww/public/guides/privacy-network/02-blocked.webpwww/public/guides/privacy-network/03-ask.webpwww/public/guides/privacy-network/poster.webpwww/public/guides/updates/01-check.webpwww/public/guides/updates/02-about.webpwww/public/guides/updates/poster.webp