Skip to content

Claude/awesome faraday 653elg - #506

Closed
moredesignstudio wants to merge 18 commits into
getstation:mainfrom
moredesignstudio:claude/awesome-faraday-653elg
Closed

moredesignstudio wants to merge 18 commits into
getstation:mainfrom
moredesignstudio:claude/awesome-faraday-653elg

Conversation

@moredesignstudio

Copy link
Copy Markdown

What is this PR

How does it work

Test instructions

moredesignstudio and others added 18 commits September 25, 2026 13:45
Replace the blue time-of-day gradient with a single dark design system in
the spirit of Claude Code / Notion dark mode: warm charcoal surfaces,
translucent-white fills for hover and selection, hairline borders, and one
terracotta accent reserved for primary actions and focus.

- Vendor @getstation/theme into packages/theme (workspace:*) so tokens and
  shared components live with the app. Add lib/tokens.ts as the single
  source of truth (surface, fill, border, text, accent, status, radius,
  shadow, font, kbd/section-label/scrollbar mixins). Keep the gradient API
  for compatibility but resolve every moment of the day to flat surfaces.
- Restyle every shared component (Button, ButtonIcon, Input, SearchInput,
  SelectInput, Switcher, Tooltip, Hint, Modal, ModalWrapper, ChooserItem,
  Service, FloatingActionButton, ButtonFeedback, RoundPicture).
- Rewrite the global SCSS (variables, reset with dark scrollbars/selection,
  dock, subdock, subview, webview, osbar, notification center, forms,
  toasts) on the same tokens.
- Map every app surface onto the tokens: dock rail and window chrome,
  quick-switch palette and find bar, subdock and popovers, settings and
  overlays, loading/error/auth screens, onboarding, dialogs, download
  toasts, notification center, about window, multi-instance webui, and the
  App Store package.
- Paint HTML shells and the native BrowserWindow background dark to avoid
  a white flash on launch.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- productName and description set to "more mail"; internal package
  name station-desktop-app is unchanged so build commands still work
- data folders: "Stationv2" -> "more mail", "Station Dev" -> "more mail dev"
- bundle id org.getstation.DesktopApp -> studio.moredesign.moremail
- user-visible strings in menus, About window, loading screen,
  onboarding, settings, tray, notifications and error dialogs
- Windows uninstaller and dev data utility point at the new folders

The station:// scheme, BX_PROTOCOL and the internal database name
are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XKw3GyXzTbjCuzhd63443j
- Keep at most 3 background app pages loaded (was 7) and check every
  minute (was 5). Background pages unused for 30 minutes now sleep even
  within the limit. Visible and always-loaded apps are unaffected. All
  three values stay overridable through env variables.
- Track when each loaded page was last on screen, so a page used for an
  hour and then left gets the full idle period instead of sleeping at once.
- Chrome extension support is now off by default. It loaded into every
  app page. STATION_ENABLE_ECX=1 in the .env file turns it back on.
- Replace the googleapis package, which loaded every Google API into the
  main process at launch, with a direct People API request for the one
  profile lookup the app makes. The dependency is removed.
- Tests cover the new default limit and the idle rules; the original
  scenario keeps its expectation with an explicit limit of 7.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XKw3GyXzTbjCuzhd63443j
- Move the uploaded brand files from the repo root into brand/ and
  drop the empty "brand" file
- Generate the macOS icon (all ten standard sizes), the Windows icons,
  the Linux icon and the notification icon from brand/more-mail-icon.png
- About window shows the more design mark instead of the Station logo
- Menu bar uses a 22 pt colour image with a Retina version. It used the
  512 px app icon as a template image, which only works for a
  single-colour glyph

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XKw3GyXzTbjCuzhd63443j
Yarn adds a bin entry for the two workspaces that declare one. Without
it, every yarn install rewrites yarn.lock and blocks the next git pull.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XKw3GyXzTbjCuzhd63443j
- The in-app updater and electron-builder publish to
  moredesignstudio/station-app instead of the original project, as
  published releases rather than drafts
- One Release workflow replaces the two three-platform ones: pushing a
  tag like v4.1.0 builds the macOS app with that version, signs it with
  the Developer ID certificate, notarizes it and publishes the release.
  It stops early and names any missing signing secret
- electron-builder's built-in notarization replaces the commented-out
  afterSign script; it runs only when the Apple credentials are set
- npmRebuild is off: sqlite3 ships N-API binaries that run under
  Electron and windows-focus-assist only loads on Windows, so the
  rebuild only added a C++ toolchain dependency
- Release notes link and README point at this fork

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XKw3GyXzTbjCuzhd63443j
Not using an Apple Developer account for now. This restores the
previous release workflows, publish settings, native module rebuild,
release notes link and README.

This reverts commit f58dc1b.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XKw3GyXzTbjCuzhd63443j
Removing googleapis missed the Google Drive plugin in
manifests/runtime/gdrive, so the production build failed with
"Can't resolve 'googleapis'". It now makes the same three requests
(file search, file lookup, user info) as plain REST calls through the
signed-in OAuth client, with the same parameters as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XKw3GyXzTbjCuzhd63443j
The new artwork is a full-bleed square on a near-black background.
macOS 26 and later put any icon that isn't already a rounded square
on a light-grey tile, which is why the previous transparent icon
showed up on grey. The icon is now drawn into Apple's icon grid (an
824 px rounded square with a 185.4 px corner radius on a 1024 px
canvas), so macOS shows it as-is, dark to the edge.

brand/more-mail-icon.png holds the unmasked source artwork. The
Windows .ico files are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The app on screen took one of the STATION_MAX_ACTIVE_TABS seats, so
with a limit of 3 only 2 background apps stayed loaded. Visible and
always-loaded apps now sit outside the limit, as the comments on the
limit already said. The tests only ever ran with no visible app, so a
new one covers a visible app; it fails on the old code.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
"Sign in with Google" needs GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET,
which webpack compiles into production builds. Station's CI supplied
them; local builds of this fork never had them, so the app opened a
Google page with no client ID and waited forever for the redirect.

- The webpack config loads them from an untracked .env at the repo
  root. Variables already set in the environment still win.
- .env is now ignored by git, so the credentials can't be committed.
- A production build without them prints a warning.
- .env.example and the README say which Google OAuth client to create
  (Desktop app, People API enabled) and where the values go.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With more than one Google account, the Drive app sent each account to
drive.google.com/drive/u/<email>, which Drive no longer recognises and
answers with a 404. Gmail still accepts that form, which is why only
Drive broke. Drive now opens drive.google.com/drive/?authuser=<email>,
which Google's web apps accept to pick an account by email.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A pure black background with a white-outlined envelope, masked to the
macOS icon grid like the previous icon so macOS shows it as-is.
brand/more-mail-icon.png holds the unmasked source.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@magne4000

Copy link
Copy Markdown
Member

?

@viktor44

Copy link
Copy Markdown
Collaborator

what is the aim of this huge PR?

@magne4000 magne4000 closed this Oct 11, 2026
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.

4 participants