Document onboarding notifications toggle and menu-extra memory section - #5
Document onboarding notifications toggle and menu-extra memory section#5ronaldmannak wants to merge 6 commits into
Conversation
- Add the 'Allow notifications' toggle to the onboarding options list (PicoServer onboarding Customize page). - Describe the menu extra's Memory section: the Apps/MLX/Free bar and legend, the memory Pressure indicator, and the GB/% legend toggle (PicoServer #37). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mvyyqz4fzYoDdkYE8qLgNi
There was a problem hiding this comment.
Code Review
This pull request updates the user guide documentation for Pico AI Server, adding 'Allow notifications' to the onboarding flow settings and introducing a description of the 'Memory' section in the menu extra. The review feedback suggests minor phrasing improvements to enhance clarity and technical precision, such as using 'lets you configure' instead of 'can set', 'memory usage' instead of 'memory use', and 'toggle' instead of 'switch'.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| 1. Launch Pico AI Server. | ||
| 2. Complete the first-run flow. | ||
| The onboarding flow can set `Allow local network connections`, `Broadcast Bonjour`, `Open at login`, and `Prevent sleep`. | ||
| The onboarding flow can set `Allow notifications`, `Allow local network connections`, `Broadcast Bonjour`, `Open at login`, and `Prevent sleep`. |
There was a problem hiding this comment.
Using "lets you configure" or "allows you to configure" is more precise than "can set", as these are user-adjustable toggles in the onboarding wizard rather than settings applied automatically by the flow.
| The onboarding flow can set `Allow notifications`, `Allow local network connections`, `Broadcast Bonjour`, `Open at login`, and `Prevent sleep`. | |
| The onboarding flow lets you configure `Allow notifications`, `Allow local network connections`, `Broadcast Bonjour`, `Open at login`, and `Prevent sleep`. |
There was a problem hiding this comment.
Applied in 410fb4d — changed "can set" to "lets you configure". Agreed: these are user-adjustable toggles on the onboarding Customize page, not settings the flow applies on its own, so the reworded phrasing is more accurate.
Generated by Claude Code
| With that setting off, Pico AI Server binds to `127.0.0.1`. | ||
| 6. Use the menu extra when you need quick control. | ||
| When the server is running, it shows the status, a `Start` or `Stop` button, and an IP-based server address with a copy button. | ||
| The `Memory` section breaks down memory use across `Apps`, `MLX`, and `Free` with a bar and legend, and shows a memory `Pressure` indicator. Use the `GB`/`%` button in the `Memory` header to switch the legend between gigabytes and percentages. |
There was a problem hiding this comment.
Using "memory usage" is more standard in technical documentation than "memory use". Additionally, "toggle" is a more precise term than "switch" for a two-state button.
| The `Memory` section breaks down memory use across `Apps`, `MLX`, and `Free` with a bar and legend, and shows a memory `Pressure` indicator. Use the `GB`/`%` button in the `Memory` header to switch the legend between gigabytes and percentages. | |
| The `Memory` section breaks down memory usage across `Apps`, `MLX`, and `Free` with a bar and legend, and shows a memory `Pressure` indicator. Use the `GB`/`%` button in the `Memory` header to toggle the legend between gigabytes and percentages. |
There was a problem hiding this comment.
Applied in 410fb4d — "memory use" → "memory usage" and "switch" → "toggle" for the two-state GB/% control. Both read more precisely; done.
Generated by Claude Code
- 'can set' -> 'lets you configure' (onboarding toggles are user choices) - 'memory use' -> 'memory usage'; 'switch' -> 'toggle' for the GB/% control Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mvyyqz4fzYoDdkYE8qLgNi
PicoServer's first-run flow was rebuilt (PRs #35, #36, #38, #42) into a four-page wizard — Welcome, Model, Access, Ready — and the old Customize page (notifications, open-at-login, prevent-sleep toggles) was removed. - Fix the now-stale onboarding line in Install and Run: the first-run flow no longer configures notifications, open-at-login, or prevent-sleep. - Add a First-Run Setup walkthrough page covering all four wizard pages, including RAM-based model tier selection (Fast / Balanced / Reasoning) and the This-Mac-only vs local-network access choice with Bonjour. - Document Open at Login and Prevent automatic sleep in Configure Settings, where they now live after moving out of onboarding. - Wire the new page into the sidebar and renumber Getting Started siblings. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D8KgyxEFCWzt6ebEC7SKng
Follow-up commit: onboarding redesign (PicoServer #35/#36/#38/#42)After this PR was first opened, PicoServer merged a redesign of the first-run flow that supersedes what this PR originally documented. PR #42 ("Reduce onboarding to Welcome, Model, Access, Ready") replaced the old Customize page and removed the The new commit (
On the previously-deferred PicoCore #54 ("Reasoning" tier / RAM recommendation)This PR's original "Not done on purpose" note deferred documenting the tiers because the Reasoning catalog was in flux. The new First-Run Setup page documents the tier flow and terminology (Fast / Balanced / Reasoning, RAM-based recommendation) — all verified against current All four touched Markdown files pass Generated by Claude Code |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d7a6b83560
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| 2. Complete the first-run flow. | ||
| The onboarding flow can set `Allow local network connections`, `Broadcast Bonjour`, `Open at login`, and `Prevent sleep`. | ||
| 2. Complete the first-run setup. | ||
| The setup wizard has four pages — Welcome, Model, Access, and Ready. It downloads a first model, chooses who can connect, and starts the server for you. For a step-by-step walkthrough, see [First-Run Setup](./first-run-setup.md). |
There was a problem hiding this comment.
Qualify first-run model downloads
When the user continues without selecting a model, this promise is inaccurate: the new First-Run Setup page later says Pico allows continuing without a model and downloading one later from Settings. Readers who hit that supported path will expect setup to have started a download or left a model ready, so this should be qualified to say it downloads only when a model is selected and not already present.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Fixed in 912707c. You're right — this contradicted the First-Run Setup page, which documents that continuing without a model is a supported path. Reworded to: "It downloads the model you pick (you can skip and add one later), lets you choose who can connect, and starts the server for you." The download is now stated as conditional on picking a model, and skipping is called out explicitly.
Generated by Claude Code
| - Pico shows a short list of options — such as **Fast**, **Balanced**, and **Reasoning** — sized for your Mac's memory. | ||
| - One option is preselected and marked **Recommended** for this Mac; the page subtitle names it (for example, "Balanced is recommended for this Mac. You can add or switch models later."). | ||
| - Each row shows the model name and its total download size. | ||
| - The continue button reflects your choice: **Download _tier_ · _size_** for a model that is not on disk yet, or **Use _tier_** for one you already have. | ||
| - You can continue without choosing. If no model is available yet, Pico asks you to confirm, and you can download one later in Settings. |
There was a problem hiding this comment.
Qualify placeholder model tiers
When a tier such as Reasoning is rendered as a coming-soon placeholder rather than a downloadable choice, this list makes it look like a selectable model option and the following bullets say every row has a model name, size, and Download _tier_ · _size_ path. That sends users looking for a model the wizard does not offer yet, so mark placeholder tiers as unavailable or omit them from the selectable-model flow.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Fixed in 912707c. The Model-page bullets now distinguish selectable options from unavailable ones. UseCase in PicoCore renders an unavailable tier with unavailableReason — either "Coming soon" (empty models array) or "Requires N GB RAM" — and gates selection on isAvailable, so the docs now match that:
Each selectable option shows its model name and total download size. An option that isn't available yet is labeled Coming soon, and one that needs more memory than your Mac has shows its RAM requirement instead — neither can be selected.
The Recommended badge and the Download tier · size / Use tier button text are both now scoped to selectable options, so a placeholder tier no longer reads as a downloadable choice.
Generated by Claude Code
- Install and Run: the wizard downloads the model you pick, and picking one is optional (you can skip and add later), not an unconditional "downloads a first model". - First-Run Setup: distinguish selectable options from ones shown as "Coming soon" or gated by a RAM requirement; the model name, size, and Download/Use button apply only to selectable options. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D8KgyxEFCWzt6ebEC7SKng
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 912707c942
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| sidebar_position: 2 | ||
| --- | ||
|
|
||
| The first time you launch Pico AI Server, a setup wizard walks you through four pages — **Welcome**, **Model**, **Access**, and **Ready**. By the end you have a model downloading (or ready), you have chosen who can reach the server, and the server is running. This page explains each page so you know what every choice does. |
There was a problem hiding this comment.
Qualify the no-model setup outcome
When the user takes the supported skip path documented later on this page (You can continue without choosing...download one later in Settings), setup ends with no model downloading and no ready model, so this intro still over-promises the result. The fresh evidence is that the unconditional claim remains in the new First-Run Setup page after the Install page was qualified; make the outcome conditional on selecting a model so the no-model setup path does not violate the repository's no-invented-behavior rule.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Fixed in 14fd040. The intro no longer promises a model unconditionally. It now reads: "By the end you have chosen who can reach the server and the server is running; if you picked a model, it is downloading or already ready (you can also skip that step and add a model later)." That matches the documented skip path later on the page, so the no-model outcome is no longer over-promised.
Generated by Claude Code
The First-Run Setup intro still promised "a model downloading (or ready)" unconditionally, which contradicts the documented skip path. Reworded so the model outcome is conditional on picking one. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D8KgyxEFCWzt6ebEC7SKng
Head off the same no-model-path contradiction elsewhere on the page:
- Model step: note that picking a model is optional ("or skip it").
- Ready step: the Model detail row only appears when a model was chosen,
so qualify it ("the model you chose (when you picked one)").
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D8KgyxEFCWzt6ebEC7SKng
|
@codex review All P2 findings from the reviews of Generated by Claude Code |
|
Codex Review: Didn't find any major issues. Keep them coming! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
Keeps the Install and Run getting-started page in sync with two shipped, user-facing changes merged in the source repos since the last documentation run. Both are grounded in current source, not point-in-time PR descriptions.
Changes
Allow notificationstoggle to the list of settings the first-run flow can set. The onboarding Customize page ships this toggle alongside the four already documented (OnboardingWizardView.swift:SettingRow(icon: "bell.fill", title: "Allow notifications", …)). Its request/permission behaviour was fixed in PicoServer #36.Memorysection — the menu-extra description previously listed only status,Start/Stop, and the address+copy button. Documented theMemorysection it also shows: theApps/MLX/Freebar and legend, the memoryPressureindicator, and theGB/%legend toggle added in PicoServer #37 (MenuExtraView.swift,MemoryGauge.swift).Evidence
Both facts verified against the current
ronaldmannak/PicoServermain(HEAD at the #37 merge,ed4ba14): the five onboardingSettingRowtitles and theMemoryheader'sGB/%button +SegmentedMemoryBarlegend/pressure UI.Not done on purpose
Package.resolvedfixes, test rebalancing, agent-guidance docs) are internal and not user-facing.🤖 Generated with Claude Code
Generated by Claude Code