Commit Graph

120 Commits

Author SHA1 Message Date
joel.poyet 66bfe9250e chore(release): HealthChat 1.7.2 2026-10-25 09:49:42 +01:00
Sedat Qaja c66c7797e4 chore(release): HealthChat 1.7.1 2026-10-21 18:53:12 +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 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 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 10a380bc81 chore(release): HealthChat 1.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 ab91e1a7bc chore(release): HealthChat 1.5.0 2026-07-28 23:41:33 +02:00
joel.poyet be3ab5fb3d chore(release): HealthChat 1.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 2026-07-14 09:13:58 +02:00
joel.poyet 5e3f235442 chore(release): HealthChat 1.3.1 2026-07-10 18:01:11 +02:00
joel.poyet a9cd6fabb4 chore(release): HealthChat 1.3.0 2026-07-08 23:13:59 +02:00
joel.poyet 209cd37d0f chore(release): HealthChat 1.2.5 2026-07-01 08:42:57 +02:00
joel.poyet d2aa9ef7a0 chore(release): HealthChat 1.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 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 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 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 d97198da4b chore(release): HealthChat 1.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 2026-06-28 10:05:02 +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 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
2026-06-28 09:09:27 +02:00
joel.poyet e83c70701a chore(release): HealthChat 1.1.1 2026-06-26 17:45:22 +02:00
joel.poyet f6925dbd77 feat(desktop): build signed Windows + macOS apps in healthchat pipeline
Extend the HealthChat desktop pipeline beyond Linux to produce fully branded,
signed Windows (.exe/.msi) and macOS (.dmg/.zip) installers, published to the
GitHub Release on the healthchat-v* tag alongside the web build.

- Add HealthChat desktop icons (icon.png/ico + Apple Icon Composer bundle),
  derived from apps/web/res/vector-icons/1024.png
- Point the reusable build workflows at this fork (new repository/ref inputs)
  so the Electron shell, icons and healthchat:// handler are fork-branded
- Relax hardcoded Element*/element-desktop* filename asserts to be
  product-name-agnostic
- Wire signed macOS + Windows jobs into build-healthchat-desktop.yaml, trigger
  it on healthchat-v* tags, and add a release job that uploads installers
- Map the org-level eSigner secrets to the CKA names the reusable expects
- Document signing setup (Apple env, eSigner mapping, ESIGNER_MODE=prod) in the
  desktop README and releasing-healthchat skill
2026-06-26 15:10:38 +02:00
joel.poyet eee3275f0c feat(desktop): use healthchat:// deep-link scheme instead of element://
Switch the friendly deep-link / legacy SSO callback scheme from element://
to healthchat:// and stop registering element:// entirely. The reverse-DNS
OIDC primary scheme (ch.healthchat.desktop://) is unchanged. Also rebrand the
round-tripped SSO id param element-desktop-ssoid -> healthchat-desktop-ssoid
on both the desktop and web sides.
2026-06-23 15:09:30 +02:00
joel.poyet 5f09f58a82 ci: add HealthChat desktop build pipeline 2026-06-22 17:06:16 +02:00
RiotRobot 1829f52448 v1.12.21 2026-06-09 12:58:28 +00:00
RiotRobot c27bf50d0b v1.12.21-rc.2 2026-06-03 14:03:37 +00:00
RiotRobot 1ae3038bf0 v1.12.21-rc.1 2026-06-02 16:32:20 +00:00
RiotRobot d478b80d99 v1.12.21-rc.0 2026-06-02 15:41:08 +00:00
Michael Telatynski 35484e5183 Switch to using diff-cover for the Coverage gate (#33673)
* Switch to using diff-cover for the Coverage gate

Enabling developers to check their PR coverage without waiting for CI

* Remove sonar-project.properties - in automatic mode Sonar will not read this file

* Add note to CONTRIBUTING.md

* Skip sonar in MQ
2026-06-01 12:26:03 +00:00
renovate[bot] 1fb6b778e7 Update pnpm to v11 (#33573)
* Update pnpm to v11

* Handle breaking changes

* Attach pnpm hash

* Remove redundant packageManager fields

* Make lint-staged happy

* Lockfile pnpm itself too

* Update pnpm/action-setup for better v11 compatibility

* Specify types to make tsc happier

* Fix permissions

* Check ulimit

* Specify minimumReleaseAgeExclude

* Run desktop tests

* Revert "Run desktop tests"

This reverts commit 911eb0ba2e9237d4b28e3bdaaf8f10ba6f22e827.

* Revert "Check ulimit"

This reverts commit f09eb59d715ba30a2e7fc5dba17dde092bd9bf17.

* Reapply "Check ulimit"

This reverts commit 83227c19ff5d07db91b6586f407f56870b00c041.

* Run desktop tests

* Switch nodeLinker & remove app-builder-lib patch

* Fix webpack.config.ts

* Fix .stylelintrc.cjs

* Fix `events` package

* Makes types happier

* Make knip happy

* Fix hak build

* Make jest happy

* Make pnpm-link happy

* Remove dead file

* Run playwright tests

* Fix linux hak permissions in ci

* Test

* Remove ulimit checks

* Disable skip

* Update nx

* Tweak line endings

* Update screenshot

* Iterate

* Webpack fallback `events`

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-05-29 08:26:59 +00:00
Michael Telatynski 7408796362 Fix element desktop dockerbuild utilities (#33641)
Got broken by monorepo merge
2026-05-28 09:53:29 +00:00
renovate[bot] efeef6cd84 Update electron-builder to v26.11.1 (#33563)
* Update electron-builder to v26.11.1

* Update patch

* Make tsc happy

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-05-27 13:50:12 +00:00
RiotRobot 3c6233c3a3 Merge branch 'master' into develop 2026-05-27 13:49:41 +00:00
RiotRobot 5d36492432 v1.12.20 2026-05-27 13:46:37 +00:00
ElementRobot 2bf14fbc80 Realign the User Menu profile picture on desktop (#33633) (#33634)
The button already shoves itself left so we don't need the macos
style to do so as well.

(cherry picked from commit 0d8ebf48fa)

Co-authored-by: David Baker <dbkr@users.noreply.github.com>
2026-05-27 14:42:22 +01:00
David Baker 0d8ebf48fa Realign the User Menu profile picture on desktop (#33633)
The button already shoves itself left so we don't need the macos
style to do so as well.
2026-05-27 12:33:47 +00:00
RiotRobot 00daa1c621 v1.12.19 2026-05-27 08:01:57 +00:00
RiotRobot 4b03bb2303 Merge branch 'master' into develop 2026-05-27 08:05:04 +00:00
renovate[bot] 5a2f246577 Update electron (#33562)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-23 21:32:32 +00:00