Commit Graph

69543 Commits

Author SHA1 Message Date
joel.poyet 66bfe9250e chore(release): HealthChat 1.7.2 healthchat-v1.7.2 2026-10-25 09:49:42 +01:00
joel.poyet b1e36ff959 fix(mobile-guide): German HealthChat guide for phones, proven in Chromium
Phones and tablets were bounced to the healthchat.ch website, where the
visitor had no way back into the app. They now land on the mobile guide
again, which pointed at Element X and spoke English while the rest of
HealthChat web is German.

The guide carries the HealthChat store links and German copy as static
HTML, not only via JS: Safari reads the Smart App Banner meta tag at
parse time. A charset meta is required now that the page has umlauts,
since nginx sends text/html without one. Step 2 and the F-Droid line
stay hidden because HealthChat has neither a mobile.element.io deep link
nor an F-Droid build.

Verified in Chromium at phone width with iPhone and Android user agents:
redirect, store links, the way back via the cookie, and the no-JS view.
2026-10-25 09:49:42 +01:00
joel.poyet dcfd82b773 fix(app-links): claim app.healthchat.ch for HealthChat only, proven in build
The AASA and assetlinks files still carried the upstream Element and
Element X app IDs. A phone with one of those apps installed opened
HealthChat links there, while the HealthChat iOS app was not listed at
all, so its Universal Links could never resolve. Debug and nightly
entries are gone because we never publish such builds.

Both files validate as JSON and are served from the webapp build at the
paths iOS and Android fetch.
2026-10-25 09:49:42 +01:00
Sedat Qaja c66c7797e4 chore(release): HealthChat 1.7.1 healthchat-v1.7.1 2026-10-21 18:53:12 +02:00
Sedat Qaja 04ccaf3e78 fix(calls): ship LiveKit fallback in Element Call config
Well-known fetch fails CORS on IPv4 (Wix redirect), so the embedded
widget needs the JWT service URL in its own config.json.
2026-10-21 18:37:21 +02:00
Sedat Qaja 11e3f90c81 docs: update image path after repository rename 2026-09-28 13:13:05 +02:00
Sedat Qaja 45bbbd7379 chore(desktop): bump electron-builder to 26.16.1 2026-09-28 10:38:50 +02:00
Sedat Qaja 8f15f0352f chore(release): HealthChat 1.7.0 healthchat-v1.7.0 2026-09-28 09:37:14 +02:00
Sedat Qaja 6f8df665ff feat(calls): enable Element Call in desktop config 2026-09-28 09:37:14 +02:00
joel.poyet 697c7efe15 ci: label desktop download links with platform 2026-07-29 23:32:28 +02:00
joel.poyet 637eaa7356 ci: retire legacy healthchat.ch desktop feed 2026-07-29 23:31:39 +02:00
joel.poyet 30bb2bfca3 ci: stage desktop feed on packages.healthchat.ch archive 2026-07-29 23:28:39 +02:00
joel.poyet 09e66dba47 ci: link desktop installers instead of attaching them 2026-07-29 23:19:35 +02:00
joel.poyet 8530b1f09a ci: split desktop feed tarball under 2 GiB asset cap 2026-07-29 23:08:03 +02:00
joel.poyet 10a380bc81 chore(release): HealthChat 1.6.0 healthchat-v1.6.0 2026-07-29 22:32:04 +02:00
joel.poyet ab295d810c chore: move desktop packages to packages.healthchat.ch 2026-07-29 22:28:43 +02:00
joel.poyet 675e812f00 docs: document manual deploy for web and desktop releases 2026-07-29 00:39:16 +02:00
joel.poyet 831a928d04 ci: split desktop feed publish into a manual deploy workflow 2026-07-29 00:39:16 +02:00
joel.poyet f345ca55b3 ci: publish :latest instead of :stable for stable tags 2026-07-29 00:39:16 +02:00
joel.poyet ab91e1a7bc chore(release): HealthChat 1.5.0 healthchat-v1.5.0 2026-07-28 23:41:33 +02:00
joel.poyet be3ab5fb3d chore(release): HealthChat 1.4.1 healthchat-v1.4.1 2026-07-14 14:02:53 +02:00
joel.poyet f33708c705 refactor(theme): single-source the HealthChat Light theme
Author the theme once in apps/web/element.io/healthchat/HealthChat-Light-Theme.json
and sync it into the web (apps/web/config.json) and desktop
(apps/desktop/element.io/healthchat/config.json) configs via
scripts/healthchat-sync-theme.mjs, removing the drifted duplicate.
`pnpm healthchat:theme` writes it; `pnpm lint` runs healthchat:theme:check to
fail on drift.

The canonical palette is the reviewed desktop theme, which reverts the web-only
contrast tweak (f64923ea1a) so web and desktop match.
2026-07-14 14:02:39 +02:00
joel.poyet ce7f9230c3 chore(release): HealthChat 1.4.0 healthchat-v1.4.0 2026-07-14 09:13:58 +02:00
joel.poyet 5e3f235442 chore(release): HealthChat 1.3.1 healthchat-v1.3.1 2026-07-10 18:01:11 +02:00
joel.poyet 0d2ccb9d59 feat(settings): add sign out button to Help & About tab 2026-07-10 17:54:30 +02:00
joel.poyet a9cd6fabb4 chore(release): HealthChat 1.3.0 healthchat-v1.3.0 2026-07-08 23:13:59 +02:00
joel.poyet 745069128f style(spaces): use compound tokens for hierarchy colors 2026-07-08 19:59:50 +02:00
joel.poyet 1697be5239 feat(settings): re-enable slim Help & About tab 2026-07-08 18:25:50 +02:00
joel.poyet 209cd37d0f chore(release): HealthChat 1.2.5 healthchat-v1.2.5 2026-07-01 08:42:57 +02:00
joel.poyet d2aa9ef7a0 chore(release): HealthChat 1.2.4 healthchat-v1.2.4 2026-07-01 08:05:32 +02:00
joel.poyet 8a2754c7c0 fix(desktop): brand Windows installer splash as HealthChat 2026-07-01 08:03:31 +02:00
joel.poyet ead9847d76 chore(web): point help_url at healthchat.ch 2026-07-01 07:20:31 +02:00
joel.poyet 9d53c2b131 chore(desktop): brand About panel, author, homepage, and description as HealthChat
- author.name → HealthChat so the macOS About panel copyright reads
  "Copyright © 2026 HealthChat" (electron-builder derives copyright from author.name)
- author.email → support@healthchat.ch
- homepage → https://www.healthchat.ch
- app description (de-CH) → "Die sichere Chat-Lösung für Schweizer HealthProfessionals"
2026-07-01 07:17:53 +02:00
joel.poyet 22b2d8ca6f chore(release): HealthChat 1.2.3 healthchat-v1.2.3 2026-06-30 18:05:40 +02:00
joel.poyet dd461ddca9 fix(desktop): make module location renderers interactive on macOS
The macOS frameless-titlebar CSS marks .mx_RoomView_wrapper as a
-webkit-app-region drag handle, which swallows all mouse/keyboard input
for its descendants. Module location renderers (the HealthChat Angular
custom elements like hc-user-browser / hc-admin-dashboard) are mounted
there but match none of the no-drag exclusions, so their inputs and
buttons were dead in the desktop app while working in the web app.

Exclude the room-view wrapper's direct children from the drag region so
the mounted page receives pointer events; the existing .mx_RoomView child
and the ::before drag strips are unaffected.
2026-06-30 18:03:47 +02:00
joel.poyet 8b4b63b245 fix(desktop): show HealthChat brand in native About panel and menu
The native About panel and macOS app menu derived their name from
Electron's app.name and ignored the configured brand, so they still
showed "Element". Set the About panel options from vectorConfig.brand
and use the brand for the macOS app/About menu labels.
2026-06-30 17:46:12 +02:00
joel.poyet c2b11111dd feat(permalinks): point Share links/QR at to.healthchat.ch
Add a config-driven matrix_to_url option so Share dialog links and QR
codes resolve against a matrix.to-compatible resolver instead of the
hardcoded public matrix.to. MatrixToPermalinkConstructor now reads the
base URL lazily from config (default https://matrix.to), keeping the
matrix.to URL format. HealthChat configs point it at the in-house fork
https://to.healthchat.ch and drop the conflicting permalink_prefix
(which routes to the Element-format constructor a matrix.to fork can't
parse).
2026-06-30 17:30:56 +02:00
joel.poyet 62e7334a1b chore(release): HealthChat 1.2.2 healthchat-v1.2.2 2026-06-30 17:03:39 +02:00
joel.poyet 95ee5e2391 fix(desktop): point API base URL at api.healthchat.ch
The desktop variant config hardcoded ch.healthchat.api_base_url as
https://healthchat.ch, which is the wrong host. The fork's widget
auto-approval logic keys on the api.healthchat.ch origin, so the bare
domain bypassed it and pointed API traffic at the wrong host.

Stale since the desktop build pipeline was introduced (5f09f58a82).
2026-06-30 17:02:25 +02:00
joel.poyet 205c49c010 ci: drop nightly cron schedules in HealthChat fork
The schedule triggers on build-and-test.yaml and build_desktop_and_deploy.yaml
fired nightly from the default branch (release/healthchat) and failed at startup,
since the repo gate only skips jobs, not the cron-spawned runs. Remove the
schedule triggers; pull_request/merge_group/push/release/workflow_dispatch are
untouched.
2026-06-30 16:51:57 +02:00
joel.poyet d97198da4b chore(release): HealthChat 1.2.1 healthchat-v1.2.1 2026-06-28 10:24:31 +02:00
joel.poyet 981fd62b8f feat(desktop): show what's changed in auto-update prompt
Publish HEALTHCHAT_CHANGES.md release notes into the update feeds so users
see what changed. macOS gets them natively via releases.json's notes field;
Windows fetches a published notes.txt, since Squirrel.Windows only delivers
releaseName through the update-downloaded event.
2026-06-28 10:24:31 +02:00
joel.poyet 87cc3351d2 chore(release): HealthChat 1.2.0 healthchat-v1.2.0 2026-06-28 10:05:02 +02:00
joel.poyet e581504ebe Merge pull request #5 from Novaloop-AG/feat/desktop-auto-update
feat(desktop): wire up HealthChat auto-update + public installer hosting
2026-06-28 10:02:55 +02:00
joel.poyet 15161b6ddf ci: gate storybook build workflow on fork
Add the same repo guard applied to sibling upstream workflows in
bd6241ad9d. On the private fork this job failed at checkout because
permissions: {} leaves GITHUB_TOKEN without contents:read, so
actions/checkout 404s on the private repo.
2026-06-28 09:58:07 +02:00
joel.poyet ade1dff201 feat(desktop): wire up HealthChat auto-update + public installer hosting
The Electron auto-updater (Squirrel.Mac / Squirrel.Windows) was already
implemented but switched off for HealthChat because the variant config
omitted update_base_url, and CI published only installers (no update feed),
to a private GitHub Release that can't serve end users or the updater.

- config.json: set update_base_url to https://healthchat.ch/packages/desktop/update/
  so electron-main starts the updater.
- build-healthchat-desktop.yaml: pass base-url to the macOS job so releases.json
  is generated; extend the release job to stage the update feed + public
  installers and mirror them to healthchat.ch over FTPS (lftp, no-delete to
  preserve prior nupkgs; password via LFTP_PASSWORD).
- Document the feed/install layout, FTP secrets, and the two caveats (first
  install is manual; Windows auto-update needs the Setup.exe path, not .msi)
  in the healthchat README and the releasing-healthchat skill.

Requires repo secrets FTP_SERVER / FTP_USERNAME / FTP_PASSWORD.
2026-06-28 09:54:08 +02:00
joel.poyet bd6241ad9d ci: gate element-hq-only workflows on fork
Skip upstream deploy/publish/release, org automation, translations and
PR previews via a repo guard; allow PRs to release/* base branches.
2026-06-28 09:44:07 +02:00
joel.poyet cf917c1ed5 chore(release): HealthChat 1.1.2
Remove the Linux desktop build from the release pipeline. It could never
succeed in this fork: the upstream Linux reusable pulls a build-env Docker
image keyed by the building commit's SHA from the upstream element-hq
registry, where the fork's SHA does not exist, so every tagged build failed
with `manifest unknown`. Desktop releases now ship macOS and Windows only.

- Drop the linux job + its release artifacts from build-healthchat-desktop.yaml
- Bump apps/desktop/package.json to 1.1.2
- Update releasing-healthchat skill + desktop README docs
healthchat-v1.1.2
2026-06-28 09:09:27 +02:00
joel.poyet e83c70701a chore(release): HealthChat 1.1.1 healthchat-v1.1.1 2026-06-26 17:45:22 +02:00
joel.poyet 68b96e57f1 docs: refine CLAUDE.md command and architecture notes 2026-06-26 17:44:46 +02:00