Commit Graph

15714 Commits

Author SHA1 Message Date
Benoit Marty 267e48aa69 Add instructions to let the CI record the screenshot if necessary.
Also update instruction about PR size.
2026-08-26 13:50:45 +02:00
ElementBot 0e93a943a5 Update screenshots 2026-08-26 11:16:07 +00:00
Benoit Marty 2fcf806f59 Pretty print the push rules content before displaying it
The raw push rules returned by the SDK are a single long line of json, which is
hard to read on a phone. Re-encode the content with a pretty printer using a two
space indentation before handing it to the file viewer.

Parsing to a JsonElement and re-encoding preserves the order of the keys, so the
rules are still listed in the order the server returned them. Content which
cannot be parsed is passed through unchanged, so that a malformed payload remains
viewable.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-26 12:55:07 +02:00
Benoit Marty 373d2f1eb5 Add a Push rules entry to the developer options
Add a "Push rules" item in the Notifications section of the developer options,
above "Push history". It displays the raw push rules of the account, which were
only available as a rageshake attachment so far.

The content is read using NotificationSettingsService.getRawPushRules(), then
rendered by the new FileViewerEntryPoint, so that the screen looks like the media
viewer rendering a file, with Share and Download actions on a
push_rules<userId>.json file. The user id contains a colon, which is not a valid
file name character on all the file systems, so it is replaced by an underscore.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-26 12:11:16 +02:00
Benoit Marty 0801a415b5 Add a FileViewerEntryPoint to render in-memory content as a file
Introduce io.element.android.libraries.mediaviewer.api.FileViewerEntryPoint, a
reusable screen which renders content that is not a Matrix media the same way the
media viewer renders a file, with Share and Download actions.

The caller provides a filename, a mime type and the whole content as a String.
The node writes it to a temporary file in the cache directory, then reuses
LocalMediaView (so text content goes through TextFileViewer) and LocalMediaActions
for sharing and saving on disk. The node is contributed to AppScope so that the
screen can be used from any graph, since MediaViewerNode itself is bound to
RoomScope and depends on the timeline data sources.

Also route MimeTypes.Json to TextFileView in LocalMediaView, so that a json file
is rendered as text instead of falling back to the generic file card.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-26 12:11:04 +02:00
Benoit Marty a2d3488426 Merge pull request #7550 from element-hq/feature/bma/updateSdk
Update sdk to version 26.08.25
2026-08-25 16:57:40 +02:00
Benoit Marty 7db6025a05 Merge pull request #7544 from hayaksi1/fix/2515-gallery-build-date
Show the build date in the screenshot gallery footer
2026-08-25 16:28:49 +02:00
Benoit Marty b704d227d1 Merge pull request #7543 from hayaksi1/fix/2812-debug-proxying-docs
Point the proxy debugging doc at the method that builds the clients
2026-08-25 15:59:51 +02:00
Benoit Marty 776cfc9c80 Add new type RoomRetention 2026-08-25 15:55:51 +02:00
Benoit Marty 16bc825c17 username has been renamed to serverNameFromUserId, but it is not necessary if we call homeserverUrl, so just remove it. 2026-08-25 15:55:29 +02:00
Benoit Marty 898baca9d5 SDK 26.08.25 2026-08-25 15:25:50 +02:00
hayaksi1 76b19a158f Show the build date in the screenshot gallery footer
The gallery gave no indication of how old the screenshots on the page were,
which is one of the remaining items on the GitHub Pages improvement list.

The generator now writes the time it ran alongside the screenshot data, and the
page renders it in the footer next to the existing links.
2026-08-25 15:56:16 +03:00
hayaksi1 23a60cf20a Point the proxy debugging doc at the method that builds the clients
The doc told the reader to add disableSslVerification() to
RustMatrixClientFactory.create(), which has not built the client for a long
time; getBaseClientBuilder() is where the chain lives, and it covers both the
login client and the restored session client.

It also only described the emulator's own proxy setting, while the app already
follows the device's global proxy through DefaultProxyProvider, which is the
only way to do this on a physical device.
2026-08-25 15:54:45 +03:00
Benoit Marty 12203aaf6d Merge pull request #7457 from hayaksi1/fix/1270-verification-request-timeout
Stop waiting on a verification request the other session never accepts
2026-08-25 14:22:39 +02:00
Benoit Marty af7e765599 Fixing compilation issue after merging develop 2026-08-25 13:32:11 +02:00
Benoit Marty 4b4ceebdb1 Merge branch 'develop' into fix/1270-verification-request-timeout 2026-08-25 13:30:57 +02:00
Benoit Marty 872319c8ea Merge pull request #7521 from element-hq/fix/account-provider-supporting-text-clipped
Make the account provider screen scrollable so its description is not clipped by the keyboard
2026-08-25 13:29:23 +02:00
Benoit Marty 23437e4427 Merge pull request #7533 from element-hq/feature/bma/renameRemainingEvents
Rename remaining events sealed interface
2026-08-25 12:29:35 +02:00
Benoit Marty 0a9a25d940 Update Konsist test and fix existing issue. 2026-08-25 11:21:10 +02:00
Benoit Marty d7310b6941 Split code into several files. 2026-08-25 10:55:38 +02:00
Benoit Marty 7168959507 Fix documentation: Events -> Event 2026-08-25 10:54:01 +02:00
Benoit Marty 34a086261f PushHistoryEvents -> PushHistoryEvent 2026-08-25 10:33:58 +02:00
Benoit Marty cfa63156e2 TroubleshootNotificationsEvents -> TroubleshootNotificationsEvent 2026-08-25 10:33:16 +02:00
Benoit Marty 217ccb75ed BatteryOptimizationEvents -> BatteryOptimizationEvent 2026-08-25 10:32:34 +02:00
Benoit Marty cb8c462bad FullScreenIntentPermissionsEvents -> FullScreenIntentPermissionsEvent 2026-08-25 10:31:51 +02:00
Benoit Marty 2b55ff097f ViewFileEvents -> ViewFileEvent 2026-08-25 10:31:09 +02:00
Benoit Marty 328d2d1260 OutgoingVerificationViewEvents -> OutgoingVerificationViewEvent 2026-08-25 10:30:19 +02:00
Benoit Marty 2dda3b807d IncomingVerificationViewEvents -> IncomingVerificationViewEvent 2026-08-25 10:29:30 +02:00
Benoit Marty 650f20d6ba UserProfileEvents -> UserProfileEvent 2026-08-25 10:28:49 +02:00
Benoit Marty 51a4704854 UserListEvents -> UserListEvent 2026-08-25 10:28:07 +02:00
Benoit Marty cf7d5ab4b4 StartChatEvents -> StartChatEvent 2026-08-25 10:27:26 +02:00
Benoit Marty 771840884a SpaceSettingsEvents -> SpaceSettingsEvent 2026-08-25 10:26:43 +02:00
Benoit Marty d07eba9a20 SpaceEvents -> SpaceEvent 2026-08-25 10:26:02 +02:00
Benoit Marty 15cdd85357 LeaveSpaceEvents -> LeaveSpaceEvent 2026-08-25 10:25:19 +02:00
Benoit Marty a2c3ddab02 SignedOutEvents -> SignedOutEvent 2026-08-25 10:24:37 +02:00
Benoit Marty 739fc452dd ShareEvents -> ShareEvent 2026-08-25 10:23:51 +02:00
Benoit Marty deb08a3a6c EditRoomAddressEvents -> EditRoomAddressEvent 2026-08-25 10:23:12 +02:00
Benoit Marty b8b6dc1df6 SecureBackupSetupEvents -> SecureBackupSetupEvent 2026-08-25 10:22:22 +02:00
Benoit Marty 28c19e38ce SecureBackupRootEvents -> SecureBackupRootEvent 2026-08-25 10:21:36 +02:00
Benoit Marty 2d611475da SecureBackupEnterRecoveryKeyEvents -> SecureBackupEnterRecoveryKeyEvent 2026-08-25 10:20:48 +02:00
Benoit Marty c8c579ed7e SecureBackupDisableEvents -> SecureBackupDisableEvent 2026-08-25 10:19:58 +02:00
Benoit Marty 4981a04519 InternalRoomMemberModerationEvents -> InternalRoomMemberModerationEvent 2026-08-25 10:19:06 +02:00
Benoit Marty 17213ac93e RoomMemberModerationEvents -> RoomMemberModerationEvent 2026-08-25 10:18:21 +02:00
Benoit Marty 4e9ec1b631 RoomDirectoryEvents -> RoomDirectoryEvent 2026-08-25 10:17:21 +02:00
Benoit Marty 15569ef3e8 RoomAliasResolverEvents -> RoomAliasResolverEvent 2026-08-25 10:16:32 +02:00
Benoit Marty 4e2d99c968 RolesAndPermissionsEvents -> RolesAndPermissionsEvent 2026-08-25 10:15:35 +02:00
Benoit Marty fc8d3b3065 ReportRoomEvents -> ReportRoomEvent 2026-08-25 10:14:32 +02:00
Benoit Marty 859b0e1b60 BugReportEvents -> BugReportEvent 2026-08-25 10:13:33 +02:00
Benoit Marty 5d8ca663df EditDefaultNotificationSettingStateEvents -> EditDefaultNotificationSettingStateEvent 2026-08-25 10:12:06 +02:00
Benoit Marty 8a02b50c98 NotificationSettingsEvents -> NotificationSettingsEvent 2026-08-25 10:11:07 +02:00