Skip to content

Add Lotus Moss as a built-in map theme - #247

Merged
SunkenInTime merged 1 commit into
mainfrom
t3code/lotus-moss-theme
Oct 4, 2026
Merged

SunkenInTime merged 1 commit into
mainfrom
t3code/lotus-moss-theme

Conversation

@SunkenInTime

@SunkenInTime SunkenInTime commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

Dara liked the Lotus Moss palette from the profile-code mock and asked for it built in. It's now a third built-in map theme beside Default and Valorant.

Default vs Lotus Moss on Ascent

The Map theme list before and after

Colors: base #18221A, detail #7FA36B, highlight #E3C567.

How it ships

  • It's added to immutableBuiltInProfiles. bootstrap() already writes any built-in missing from the store at launch, so existing users get Lotus Moss on their next start. Their custom profiles and their default for new strategies stay as they are.
  • It doesn't become the default for new strategies; Default stays the default. It doesn't count toward the 10 custom profiles.
  • There's no Hive schema change and no Convex change. The server stores a strategy's themeProfileId as an opaque string.

Older builds

A strategy set to Lotus Moss and opened in a build without it (an un-updated desktop install, or a backup or .ica restored there) shows Default colors, because that build has no profile with this id. Nothing is lost: the strategy keeps the id and shows Lotus Moss again in a current build.

Reproduction

On main, Map theme lists two built-ins, Default and Valorant.

Verification

  • Real UI captures from a throwaway widget-test harness, before (main) and after on the same harness. The editor comparison is the same page with only the strategy's profile switched.
  • New tests: a store shaped like 4.6.3's (two built-ins, a custom profile set as default) gains Lotus Moss at bootstrap, keeps the custom profile and default, and lists Default, Valorant, Lotus Moss, then customs. Lotus Moss can't be renamed, recolored, or deleted. A strategy set to it resolves to its palette.
  • flutter analyze lib test: no new issues. flutter test: 1579 passed.

Independent of #246 (profile codes). Either can merge first; #246's tests use a different palette, so a Lotus Moss code won't collide with this built-in.

🤖 Generated with Claude Code

RetriggerConfidence Score: 5/5

No blocking issue was established. Selector rendering remains unverified.

What we checked:

  • Validated the disk-backed Hive store upgrade by creating a store with pre-change code, reopening it with updated code, and running startup twice. T-Rex
  • Verified Lotus Moss was added without duplicating profiles or changing the tested custom theme, and confirmed three new focused tests passed. T-Rex
  • Rendered the existing theme selector with the two built-in themes; the updated selector check timed out during Hive bootstrap, so its appearance could not be verified. T-Rex
  • Confirmed the existing custom theme, its palette, the selected default, and other tested preferences remained intact, and Bootstrap added Lotus Moss without duplicating profiles; three PR tests passed. T-Rex
  • Documented the authored test and command script, noted an after-run exit code of 124, and recorded that a test-only tester.runAsync adjustment was attempted but could not be executed, leaving the result unknown. T-Rex

Summary

Adds Lotus Moss as a third built-in map theme. An existing-store check confirmed that startup adds it without changing the tested custom theme, selected default, or preferences. The three new focused tests passed.

T-Rex validation blocked: the updated theme selector could not be checked visually because its test timed out during Hive bootstrap, before rendering.

Reviews (1) · Last reviewed commit: "Add Lotus Moss as a built-in map theme"

A third built-in profile next to Default and Valorant: dark moss base,
sage detail, warm gold highlight. Bootstrap writes any missing built-in at
launch, so existing stores get it too; their custom profiles and default
choice stay as they are.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 3, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 9 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 75fc7b30-25df-46f2-a41b-2e91aa4b0d84
📥 Commits

Reviewing files that changed from the base of the PR and between a91f179 and 3cef90b.

📒 Files selected for processing (2)
  • lib/providers/user_preferences_provider.dart
  • test/lotus_moss_builtin_test.dart
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@SunkenInTime
SunkenInTime merged commit 6a89be2 into main Oct 4, 2026
14 checks passed
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