Commit Graph

512 Commits

Author SHA1 Message Date
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 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 6f8df665ff feat(calls): enable Element Call in desktop config 2026-09-28 09:37:14 +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 0d2ccb9d59 feat(settings): add sign out button to Help & About tab 2026-07-10 17:54:30 +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 ead9847d76 chore(web): point help_url at healthchat.ch 2026-07-01 07:20:31 +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 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 05705a8983 test: refresh snapshots after rebase onto v1.12.21
Two export-filename snapshots now reflect HealthChat branding (were
still "Element"), and the appearance-tab snapshot picks up the upstream
Radix/React auto-generated id format change from master.
2026-06-22 17:16:57 +02:00
joel.poyet f64923ea1a chore(theme): darken secondary text and icon colors for contrast 2026-06-22 17:10:57 +02:00
joel.poyet 3a6a93edfe refactor(profile): drop extended-profile editing, keep right-panel display
Extended-profile fields (io.element.profile.*) are no longer edited in the
client, so remove the edit form and the dead code that came with it, keeping
only the read-only right-panel display (UserExtendedProfileInfo).

- Remove ExtendedProfileSettings (edit form) + its Settings integration and CSS
- Remove ExtendedProfileView (never-rendered, dead) + its CSS
- Inline the EXT_PROFILE_KEY_* constants into UserExtendedProfileInfo so it no
  longer depends on the deleted settings component
- Drop now-unused set/deleteExtendedProfileProperty from UserProfilesStore
- Prune dead settings|extended_profile_settings|* i18n keys (and the unused
  user_info.extended_profile header/not_provided keys) across all locales
- Regenerate _components.pcss
- Revert UserProfileSettings/AccountUserSettingsTab tests (+snapshot) to master,
  since their adaptations existed only for the removed edit form
2026-06-22 17:08:58 +02:00
joel.poyet 098d5b0ca2 chore: regenerate _components.pcss with extended profile styles 2026-06-22 17:07:24 +02:00
joel.poyet d72b973d01 test: adapt unit tests to HealthChat fork customizations 2026-06-22 17:07:24 +02:00
joel.poyet 2685821bdc test: rebrand remaining Element references to HealthChat 2026-06-22 17:06:16 +02:00
joel.poyet 17a89cb12d fix(settings): default to first rendered tab when Account disabled 2026-06-22 17:06:16 +02:00
joel.poyet 2fb8a2c92c test: rebrand hardcoded 'Element' test expectations to 'HealthChat'
Update brand-string assertions and snapshots that asserted the upstream
'Element' brand to the HealthChat brand:
- positionFailureMessage, Map, LocationShareMenu (geolocation messages)
- SupportedBrowser, init (incompatible-browser title + snapshot)
- ElectronPlatform (device display name 'HealthChat Desktop: <os>')
- RoomView (third-party invite waiting view)
- MatrixChat soft-logout snapshot

Leaves non-brand failures untouched (e.g. MatrixChat multi-tab lockout,
extended-profile mock gaps).
2026-06-22 17:06:16 +02:00
joel.poyet facf01beb2 feat: re-enable Security shortcut in the user menu
Restore openSecurity to isAuthenticated (master's behaviour) so the
Security quick-link reappears in the user menu, consistent with the
re-enabled Security settings tab.
2026-06-22 17:06:16 +02:00
joel.poyet 29beb42819 feat: re-enable Security settings tab
Restore the Security tab in UserSettingsDialog (re-add the LockIcon and
SecurityUserSettingsTab imports and uncomment the tab). Reverses part of
the earlier 'disable security setting' customisation.
2026-06-22 17:06:16 +02:00
joel.poyet d5b6aa742e revert: drop in-tree WidgetPermissionCustomisations (handled by plugin)
HealthChat's preapproveCapabilities customisation returned undefined for
non-HealthChat widgets, which short-circuits master's reworked
validateCapabilities flow (it falls back to the customisation whenever it
is defined). The api.healthchat.ch auto-approval is handled by the plugin,
so restore the empty upstream customisations object.
2026-06-22 17:06:16 +02:00
joel.poyet acdbc4b63d test: regenerate snapshots for HealthChat branding after rebase
Re-baselined against rebased code: HealthChat brand string, PNG
auth-header logo, hidden Security item in the user menu, restructured
settings dialog tabs.
2026-06-22 17:06:16 +02:00
joel.poyet 67663d394a fix: adapt to pnpm monorepo after rebase onto master
Post-rebase fixups for the v1.12.7 -> v1.12.20 jump (yarn single-package
-> pnpm monorepo):

- UserSettingsDialog: TranslationKey is now a global ambient type (drop
  the import); remove imports left unused by the disabled Account/Security
  tabs; cast the module tab icon to the tightened Tab icon type.
- SdkConfig: point the default branding auth_header_logo_url at the PNG
  logo (the SVG was removed by HealthChat branding), fixing a broken
  default asset reference.
- build-healthchat.yaml: build apps/web/Dockerfile (monorepo location).
2026-06-22 17:05:54 +02:00
joel.poyet 1ed4511211 chore: optimize element call translations 2026-06-22 17:05:54 +02:00
joel.poyet 559f7e1977 chore: update branding logos and home page sizing 2026-06-22 17:05:54 +02:00
Joël Poyet ce840a9ca5 feat(settings): hide Account tab for HealthChat 2026-06-22 17:05:54 +02:00
Joël Poyet 57877ef14f fix(theme): use readable text color for hovered settings tabs 2026-06-22 17:05:54 +02:00
Joël Poyet 9a9007d554 feat(settings): prepend module tabs in UserSettingsDialog 2026-06-22 17:05:54 +02:00
joel.poyet f0907d75f7 fix(docker): copy modules to /modules for nginx serving 2026-06-22 17:05:54 +02:00
joel.poyet fafbed8c93 test: update snapshots for HealthChat branding 2026-06-22 17:05:54 +02:00
joel.poyet 103c82ae6f feat(branding): style welcome page with HealthChat colors 2026-06-22 17:05:54 +02:00
joel.poyet a25eed5c69 fix(branding): correct manifest theme color and typo 2026-06-22 17:05:54 +02:00
joel.poyet a18b81ef23 feat(branding): configure HealthChat custom theme 2026-06-22 17:05:54 +02:00
joel.poyet ac85934b53 feat(branding): apply HealthChat color scheme and font 2026-06-22 17:05:54 +02:00
joel.poyet 3f63d4e66d refactor(branding): use PNG logo instead of SVG 2026-06-22 17:05:54 +02:00
joel.poyet 3819c6078e feat(branding): replace logos with HealthChat assets 2026-06-22 17:05:54 +02:00
joel.poyet 7b9e571899 fix(branding): regenerate icons from trimmed logo source 2026-06-22 17:05:54 +02:00
Joël Poyet 48bd8e46ac feat(spaces): move module items below home in panel 2026-06-22 17:05:54 +02:00
Joël Poyet 450d743216 ci: add element-plugin build to Docker pipeline 2026-06-22 17:05:54 +02:00
Joël Poyet 5032867fa2 fix: update module config for healthchat rename 2026-06-22 17:05:54 +02:00
Joël Poyet c8b7147277 fix: do not ignore config.json 2026-06-22 17:05:54 +02:00
joel.poyet 958539dc83 fix: disable security setting (confusing) 2026-06-22 17:05:54 +02:00
joel.poyet df2d56073c fix: fix branding issues, mobile app urls etc. 2026-06-22 17:05:54 +02:00
joel.poyet f078c65017 fix: update imports after rebase from master
- Update icon imports in ExtendedProfileView.tsx to use available icons
- Update Flex import to use @element-hq/web-shared-components
- Fix missing address property in ExtendedProfileData
- Fix translation key for error message
- Remove unused imports in UserSettingsDialog.tsx

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-06-22 17:05:54 +02:00
joel.poyet 855e160cda fix: adapt assetlinks for new element android fork 2026-06-22 17:05:54 +02:00
joel.poyet b7a94af3f9 fix: make sure we don't allow to minimize or revoke api.healthchat.ch widgets 2026-06-22 17:05:54 +02:00
joel.poyet 25fe9e1f64 feat: do not prompt for api.healthchat.ch widgets 2026-06-22 17:05:54 +02:00
Joël Poyet eb6be2f289 fix: fix sso redirect issue 2026-06-22 17:05:54 +02:00
joel.poyet ac88363425 fix: re-enable session management 2026-06-22 17:05:54 +02:00