Commit Graph

191 Commits

Author SHA1 Message Date
joel.poyet b475cc7e9a Let members edit their profile and invite others (#12)
* Add HealthChat API and extended profile services

Expose OpenID tokens and homeserver credentials from the client proxy, and
add fork-only services for the HealthChat member directory backend
(api.healthchat.ch) plus a service that reads MSC4133 extended profile
fields directly from the homeserver. Groundwork for the members tab and
the profile screens.

Claude-Session: https://claude.ai/code/session_013qdTbAWsZj2quQzEkagXaS

* Show extended profile details on the profile screens

Add a UserProfileScreenHook that lets the fork inject an extra Form
section below the header of the user profile and room member details
screens. The HealthChat implementation loads the MSC4133 extended
profile fields and renders them with tappable phone/email/website
links, hiding the section entirely for profiles without any fields.

Strings live in a new fork-only HealthChat.strings table (de/en/fr,
generated as HealthChatL10n via SwiftGen) since Untranslated.strings
pins the English bundle.

Claude-Session: https://claude.ai/code/session_013qdTbAWsZj2quQzEkagXaS

* Add a member directory tab

Add a HomeTabsHook that lets the fork append an extra tab to the home
tab bar, and a HealthChat members flow behind it: a directory of all
approved members from the HealthChat API with server-side search,
pending-approval and error states, chat shortcuts and pushed member
profiles. Chats and calls are handed back to the session flow via the
hook's actions publisher.

Claude-Session: https://claude.ai/code/session_013qdTbAWsZj2quQzEkagXaS

* Let members edit their profile and invite others

Add a native profile editor for the HealthChat extended profile fields
(13 fields plus avatar, saved as a partial diff through the HealthChat
API so displayname derivation and Zitadel sync stay server-side), an
invitation sheet (email plus personal note) and a profile-completeness
hint on the member directory.

A new UserDetailsEditScreenHook lets the fork substitute the profile
editor behind the settings user row — the stock display-name editor
would let users edit a value the next profile update derives away.

Claude-Session: https://claude.ai/code/session_013qdTbAWsZj2quQzEkagXaS
2026-09-22 18:27:37 +02:00
joel.poyet 93149f1cbd Add a member directory tab (#11)
* Add HealthChat API and extended profile services

Expose OpenID tokens and homeserver credentials from the client proxy, and
add fork-only services for the HealthChat member directory backend
(api.healthchat.ch) plus a service that reads MSC4133 extended profile
fields directly from the homeserver. Groundwork for the members tab and
the profile screens.

Claude-Session: https://claude.ai/code/session_013qdTbAWsZj2quQzEkagXaS

* Show extended profile details on the profile screens

Add a UserProfileScreenHook that lets the fork inject an extra Form
section below the header of the user profile and room member details
screens. The HealthChat implementation loads the MSC4133 extended
profile fields and renders them with tappable phone/email/website
links, hiding the section entirely for profiles without any fields.

Strings live in a new fork-only HealthChat.strings table (de/en/fr,
generated as HealthChatL10n via SwiftGen) since Untranslated.strings
pins the English bundle.

Claude-Session: https://claude.ai/code/session_013qdTbAWsZj2quQzEkagXaS

* Add a member directory tab

Add a HomeTabsHook that lets the fork append an extra tab to the home
tab bar, and a HealthChat members flow behind it: a directory of all
approved members from the HealthChat API with server-side search,
pending-approval and error states, chat shortcuts and pushed member
profiles. Chats and calls are handed back to the session flow via the
hook's actions publisher.

Claude-Session: https://claude.ai/code/session_013qdTbAWsZj2quQzEkagXaS
2026-09-22 18:26:37 +02:00
joel.poyet 352d25f2bb Show extended profile details on the profile screens (#10)
* Add HealthChat API and extended profile services

Expose OpenID tokens and homeserver credentials from the client proxy, and
add fork-only services for the HealthChat member directory backend
(api.healthchat.ch) plus a service that reads MSC4133 extended profile
fields directly from the homeserver. Groundwork for the members tab and
the profile screens.

Claude-Session: https://claude.ai/code/session_013qdTbAWsZj2quQzEkagXaS

* Show extended profile details on the profile screens

Add a UserProfileScreenHook that lets the fork inject an extra Form
section below the header of the user profile and room member details
screens. The HealthChat implementation loads the MSC4133 extended
profile fields and renders them with tappable phone/email/website
links, hiding the section entirely for profiles without any fields.

Strings live in a new fork-only HealthChat.strings table (de/en/fr,
generated as HealthChatL10n via SwiftGen) since Untranslated.strings
pins the English bundle.

Claude-Session: https://claude.ai/code/session_013qdTbAWsZj2quQzEkagXaS
2026-09-22 18:25:27 +02:00
ElementRobot e32e1dd388 Translations update (#6111)
* Translations update

* update preview tests

---------

Co-authored-by: Element CI <ci@element.io>
Co-authored-by: Mauro Romito <mauro.romito@element.io>
2026-09-08 13:08:25 +02:00
ElementRobot 9b22ca3cd2 Translations update (#6088)
* Translations update

* swiftformat .

* update previews

---------

Co-authored-by: Element CI <ci@element.io>
Co-authored-by: Mauro Romito <mauro.romito@element.io>
2026-08-31 12:30:26 +02:00
Element CI b864918686 Translations update 2026-08-24 14:49:17 +02:00
ElementRobot f090f30e7e Translations update (#6036)
* Translations update

* Update snapshots.
2026-08-17 14:17:05 +00:00
ElementRobot 3f6021bcd1 Translations update (#5999)
Co-authored-by: Element CI <ci@element.io>
2026-08-10 09:50:06 +01:00
ElementRobot 9a1db7e664 Translations update (#5965)
Co-authored-by: Element CI <ci@element.io>
2026-08-03 09:56:19 +01:00
ElementRobot 5262350b40 Translations update (#5931)
* Translations update

* update preview tests

---------

Co-authored-by: Element CI <ci@element.io>
Co-authored-by: Mauro Romito <mauro.romito@element.io>
2026-07-27 14:36:14 +02:00
Element CI 175aca596e Translations update 2026-07-20 11:09:38 +02:00
ElementRobot e8db3cff77 Translations update (#5865)
Co-authored-by: Element CI <ci@element.io>
2026-07-13 11:10:27 +01:00
Element CI 9234060fb6 Translations update 2026-07-06 20:28:38 +02:00
ElementRobot bfd3756671 Translations update (#5802)
Co-authored-by: Element CI <ci@element.io>
2026-06-29 11:12:13 +01:00
ElementRobot 9bfa18f791 Translations update (#5767)
Co-authored-by: Element CI <ci@element.io>
2026-06-22 13:05:18 +01:00
Stefan Ceriu fbbdb6f5f7 Fix iOS specific notification sound localizable keys. 2026-06-19 14:11:28 +03:00
Element CI 34ada2d933 Translations update 2026-06-08 13:36:03 +02:00
Element CI 24b9143901 Translations update 2026-06-01 12:23:01 +01:00
Element CI 0f976a49aa Translations update 2026-05-25 16:50:05 +03:00
ElementRobot 087bf9a2c8 Translations update (#5604)
* Translations update

* Translations update

* update the name of the theme keys

---------

Co-authored-by: Element CI <ci@element.io>
Co-authored-by: Mauro Romito <mauro.romito@element.io>
2026-05-18 11:16:18 +00:00
ElementRobot 2b3cd27129 Translations update (#5569)
Co-authored-by: Element CI <ci@element.io>
2026-05-11 11:43:18 +01:00
Element CI f0aac9295b Translations update 2026-05-04 15:28:22 +03:00
ElementRobot 0502df0a85 Translations update (#5516)
Co-authored-by: Element CI <ci@element.io>
2026-04-29 21:01:54 +01:00
ElementRobot fb94b3fc63 Translations update (#5452)
* Translations update

* translation updates

---------

Co-authored-by: Mauro Romito <mauro.romito@element.io>
2026-04-21 13:24:41 +01:00
Mauro Romito 122f0371db translation update 2026-04-13 11:40:22 +02:00
Mauro Romito 8b2d83f068 use swift regex and also apply the same logic to stringsdict 2026-04-10 16:21:57 +02:00
Mauro Romito 11dd6f0323 order strings alphabetically by key after downloading them 2026-04-10 16:21:57 +02:00
ElementRobot a7bfef0efa Translations update 2026-04-10 10:55:52 +02:00
ElementRobot 70fdfed634 Translations update (#5357) 2026-04-07 11:32:54 +01:00
ElementRobot 9b4fc23c2e Translations update 2026-03-30 13:54:04 +02:00
ElementRobot 610c296125 Translations update (#5295) 2026-03-23 17:20:23 +00:00
ElementRobot a4e5445e81 Translations update (#5212)
* Translations update

* updated previews

---------

Co-authored-by: Mauro Romito <mauro.romito@element.io>
2026-03-16 16:51:17 +01:00
ElementRobot e4bfd21323 Translations update 2026-03-10 10:29:17 +01:00
ElementRobot 4441cac284 Translations update (#5158) 2026-03-02 11:29:00 +00:00
ElementRobot 546a71df0c Translations update 2026-02-23 10:01:41 +01:00
ElementRobot acc08a3c8e Translations update 2026-02-16 10:45:27 +01:00
ElementRobot 35800ed6de Translations update 2026-02-09 19:16:15 +01:00
ElementRobot c18b4b4f70 Translations update 2026-02-02 10:37:21 +02:00
Doug e06baf6f32 Update the crypto strings. (#5009) 2026-01-27 11:32:52 +00:00
ElementRobot bb801d0be1 Translations update (#5008) 2026-01-26 09:54:00 +00:00
ElementRobot 69349d67ec Translations update (#4970)
* Translations update

* Update snapshots.

---------

Co-authored-by: Doug <douglase@element.io>
2026-01-19 19:59:26 +00:00
ElementRobot 3648dbd6b3 Translations update 2026-01-13 18:52:23 +01:00
ElementRobot f42c063e50 Translations update 2026-01-12 10:12:22 +01:00
ElementRobot eda56cd486 Translations update (#4894)
* Translations update

* Fix (and disable) broken test.

* Update snapshots.

---------

Co-authored-by: Doug <douglase@element.io>
2026-01-05 12:43:05 +00:00
ElementRobot 27ca265991 Translations update 2025-12-15 09:58:47 +01:00
ElementRobot 81a43048e4 Translations update (#4830) 2025-12-09 12:01:55 +00:00
ElementRobot a16f6ad3e4 Translations update (#4802) 2025-12-01 08:59:54 +00:00
ElementRobot 08514917fe Translations update 2025-11-24 16:23:24 +01:00
Mauro Romito c3f31a9e23 security and privacy redesign for spaces. 2025-11-13 14:40:16 +01:00
Mauro cbe0cfe129 Permissions screen redesign (#4735)
* Redesigned permissions screen

# Conflicts:
#	ElementX.xcodeproj/project.pbxproj

* updated tests

* update proj

* fix pseudo language tests
2025-11-12 14:41:44 +01:00