Skip to content

feat(web): add modular theme library - #5226

Merged
juliusmarminge merged 118 commits into
pingdotgg:mainfrom
StiensWout:t3code/modular-theme-system
Aug 7, 2026
Merged

juliusmarminge merged 118 commits into
pingdotgg:mainfrom
StiensWout:t3code/modular-theme-system

Delete apps/server/.local/state/gh/device-id

71db00e
Select commit
Loading
Failed to load commit list.
MacroscopeApp / Macroscope - Effect Service Conventions succeeded Aug 7, 2026 in 46s

Effect Service Conventions: All clear

All clear

Details

Note

Your check run agent prompt is: .macroscope/check-run-agents/effect-service-conventions.md
More information about how Check Run Agents work can be found in our Help Center.


🔍 Agent activity — reasoning, no tool calls

💭 I'm reviewing the diff to check if the previous issues with Effect service conventions have been resolved. The two problems from earlier runs—the missing ElectronDialogPickFilesError and the incomplete ThemeLibraryStorageError—both appear to be fixed now. Looking at the updated code in ElectronDialog.ts, the new error class includes the ownerWindowId property as expected. The new IPC method in window.ts uses proper namespace imports from Effect modules and applies Effect.orElseSucceed to handle errors, which is a valid behavior choice. In themePalette.ts, the ThemeLibraryStorageError now has the required storageKey property and a schema predicate for type checking. The imports follow the right pattern with effect/Schema and other Effect subpath imports. I'm noticing that ThemeLibraryStorageError is properly structured with a storageKey and derived message, which is good. The validation failures in installCustomTheme and updateCustomTheme throw plain Error objects, but since this is regular TypeScript code rather than Effect service code, those plain throws don't violate the tagged error conventions that apply to service failures. The mixed error styles are consistent with the existing codebase patterns like parseThemeFile, so I'm not flagging this as an issue.


Agent Credits: 175 credits