Commit Graph

69810 Commits

Author SHA1 Message Date
enki fc31bc4080 Blap: Discord-style room+call rework and Element Call swap
Ship our own Element Call fork build instead of the stock embedded package
(webpack copy repointed to ../element-call/dist, with npm-package fallback), and
rework the in-call room layout to match the Blap design:

- Chat stays in the main pane with the call as a compact right-hand column;
  when someone shares a screen the call takes prominence in the main pane and
  chat moves to the side column (never hidden). Driven by a same-origin
  screenshare signal from the EC fork.
- Camera-off: pass the `blapVideoMuted` flag to EC and drop the old (unreliable)
  widget-action mute code.
- Room list already lists in-call members under voice channels; add an
  "IN THE CALL" header to the call column.
- Hide redundant RTC call-notification ("Video call") pings from the timeline.
- Room header: remove the now-redundant chat, threads and member-facepile
  buttons; keep info working over the call (call stays mounted).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v1.0.1
2026-07-02 08:52:02 -07:00
enki 5ccd85c8a9 release-codeberg: resume interrupted uploads
Skip release assets already uploaded at the same size instead of deleting and
re-uploading everything, so a re-run picks up where it left off.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 08:51:52 -07:00
enki d649ec645f Blap README + curl-based release uploads
- Replace the element-web README with a Blap one (downloads/updating/building).
- release-codeberg: upload assets via curl instead of Node fetch, which times
  out (UND_ERR_HEADERS_TIMEOUT) on 300MB+ files.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 21:31:23 -07:00
enki fb649be700 release-codeberg: upload all installers for the current version
Docker / Docker Buildx (push) Has been cancelled
Build Debian package / Build package (release) Has been cancelled
Build and Deploy / prepare (release) Has been cancelled
Build and Deploy / Trigger Pro pipeline (release) Has been cancelled
Build and Deploy / Windows arm64 (release) Has been cancelled
Build and Deploy / Windows x64 (release) Has been cancelled
Build and Deploy / macOS (release) Has been cancelled
Build and Deploy / Linux amd64 (sqlcipher static) (release) Has been cancelled
Build and Deploy / Linux arm64 (sqlcipher static) (release) Has been cancelled
Build and Deploy / ${{ needs.prepare.outputs.deploy == 'true' && 'Deploy' || 'Deploy (dry-run)' }} (release) Has been cancelled
Build and Deploy / Deploy builds to ESS (release) Has been cancelled
Deploy release / Deploy to Cloudflare Pages (release) Has been cancelled
Include deb/flatpak/pacman/tar.gz (not just the Windows exe) so the release page
has every platform's download for the Linux update-ping to link to. Filter by
version so leftover artifacts from older builds in dist/ aren't uploaded.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v1.0.0
2026-06-30 20:55:29 -07:00
enki c9f73c26fa Packaging: build targets + Linux update-ping (v1.0.0)
- electron-builder: linux targets = deb, flatpak, tar.gz, pacman; win = nsis.
- updater.ts: Linux is notify-only (deb/pacman are package-manager owned,
  flatpak is sandboxed) — reads the same Codeberg feed as Windows and shows a
  "Blap X is available" desktop notification linking to HOW-TO-UPDATE.md.
  Windows/macOS keep electron-updater in-place install.
- HOW-TO-UPDATE.md: per-format update instructions.

Version stays 1.0.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 20:53:46 -07:00
enki aa8a765cf7 chore(desktop): set Blap version to 1.0.0
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 21:45:32 -07:00
enki 5b9d457704 Blap reskin: social UI, fixes, and update/release pipeline
Fork of element-web v1.12.22 reskinned as "Blap", a Discord-style social
Matrix client. Visual fork only: calls stay on the Element Call widget.

UI / reskin:
- yap CSS overlay (_yap.pcss) wired into the dark theme @layer; fonts, surfaces
- spaces rail icon-only with the collapse mechanism removed
- YapRoomList with manual drag-and-drop ordering (works in Home; drop-to-bottom)
- Discord-style inline message timestamps next to the sender name
- image lightbox toolbar visibility; themed context menus + toasts
- bridges panel + call facepile
- login screen rebuilt to the Blap design (centered card, accent buttons)
- accent (purple) primary buttons app-wide via Compound token overrides

Desktop / distribution:
- updater.ts switched Squirrel -> electron-updater (NSIS); Codeberg generic feed
- scripts/release-codeberg.mjs uploads artifacts to the Codeberg release
- Blap build variant (apps/desktop/blap/build.json, appId lol.utn.blap)

Calls (visual-only via widget API):
- "join with camera off" device setting + Voice settings toggle

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 21:37:49 -07:00
RiotRobot 94636e8d4d v1.12.22 2026-06-23 13:31:56 +00:00
RiotRobot 8882d88c39 Upgrade dependency to matrix-js-sdk@41.8.0 2026-06-23 13:20:31 +00:00
ElementRobot 8eeed8e2df [Backport staging] Fix broken scrollbar introduced by separator redesign (#33947)
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
2026-06-23 14:12:33 +01:00
RiotRobot 4920d6c8c6 v1.12.22-rc.0 2026-06-16 13:16:34 +00:00
RiotRobot 4fe7b9374a Upgrade dependency to matrix-js-sdk@41.8.0-rc.0 2026-06-16 13:09:53 +00:00
renovate[bot] 5d93490547 Update storybook to v10.4.4 (#33850)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-16 10:39:21 +00:00
David Baker 3ab233940c User status in user menu (#33797)
* Add user status on user profile icon

Currently unstyled & no tests

* Style the user status icon

* Update snapshot

for avatar wrapper

* More snapshot updates

* add if braces

* Split out user status functions

to avoid circular dep which has the weird effect of just breaking
jest's mocking.

* type imports

* Update imports

* Update snapshot

* Tests

* baseline image

* Just snapshot the component itself

* User status in user menu

first pass, unstyled

* fix export

* superstylin'

* snapshots

* Add story & test

* Snapshots

and re-use the repeated rules

* Tests

* Fix jest lcov projectRoot config

* Change tooltip text to just 'clear'

* Add comment & fix console warn

* Remove all options screenshot

as it's not really particularly useful as a preset story

* remove stale screenshot

* fix imports

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-06-16 09:01:34 +00:00
Michael Telatynski 44c540eca0 Tweak modules to be disabled if config is missing (#33806)
* Consolidate modules vitest coverage

* Use vite-common as base for modules vitest config

* Make knip happier

* Fix coverage paths

* Place modules unit tests alongside src

* Switch to defineProject for better type safety

* Consolidate vitest CI & coverage

Kills off vite-common

* Update comment

* Update lockfile

* Fix shared-components vitest config

* Soften eslint config for tests in modules

* Run eslint on modules/playwright dir too

* Make tsc happy

* Tweak modules to be disabled if config is missing

* Restore blank line

* Improve coverage

* Potential fix for pull request finding 'Unused variable, import, function or class'

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
2026-06-16 08:41:40 +00:00
renovate[bot] d92e10f01a Update github-actions non-major dependencies to v6.0.9 (#33849)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-16 08:01:53 +00:00
renovate[bot] 0c2ce4dde0 Update definitelyTyped to v3 (#33852)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-15 23:57:56 +00:00
renovate[bot] d238587234 Update testcontainers docker digests (#33848)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-15 22:14:02 +00:00
Florian Duros 1c8654e394 Room list: add notifications to section headers (#33826)
* feat(sc): add notification decoration to header

* feat(vm): add notification decoration to vm

* test(e2e): add test
2026-06-15 18:05:51 +00:00
Michael Telatynski 86a89c2aa5 Replace require calls for image uris with imports (#33847)
* Replace `require` calls for image uris with imports

In prep for vitest

* Fix copyright
2026-06-15 16:09:51 +00:00
Michael Telatynski 2f4e6a4ec4 Use vitest for some EW unit tests (#33816)
* Use vitest for some EW unit tests

* Ensure library builds are done before unit tests

* Stabilise jest tests

* Move more tests over

* Make sonar happier

* Update types/node for happy-dom compat again

* Decrease max-workers to stabilise jest tests

* Split jest over 3 runners to alleviate memory woes

* Switch jest to runInBand

* Attempt to deflake jest tests

* tweak coverage

* tweak coverage
2026-06-15 13:24:33 +00:00
Michael Telatynski 7949980a7e Apply html utils sanitiser to embedded page (#33842)
* Apply html utils sanitiser to embedded page

* Write tests
2026-06-15 12:58:56 +00:00
Zack 0f0f8c6ba2 Refactor UnreadNotificationBadge to shared MVVM view (#33672)
* Refactor notification badge to shared MVVM view

* Bage icons Images

* Narrow unread notification badge refactor scope

* Align unread badge MVVM pattern

* Reduce unread badge viewmodel duplication

* Document unread badge viewmodel props

* Remove legacy badge classes from shared view

* Update css for knocked door

* Update thread badge e2e selector

* Update read receipt badge e2e selectors
2026-06-15 10:20:27 +00:00
ElementRobot 5bcec9112e [create-pull-request] automated change (#33841)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-06-15 08:40:28 +00:00
Michael Telatynski 48e4bce28e Use PR labels to request additional CI to run (#33829)
* Run all desktop platform tests on PR with `A-Electron` label

* Run modules tests on PR with `A-Modules` label

* Fix matrix configuration

* Iterate
2026-06-12 10:18:52 +00:00
ElementRobot 48af8cad02 [create-pull-request] automated change (#33830)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-06-12 08:17:35 +00:00
Florian Duros 36a39f7fd6 Room list: fix keyboard navigation on sections (#33809)
* fix: keyboard navigation on sections

* test: add e2e test for keyboard navigation

* fix: add more keyboard navigation

* test: add e2e tests

* chore: remove useless check
2026-06-11 16:14:36 +00:00
renovate[bot] e441ca5d7c Update storybook to v10.4.2 (#33823)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 16:03:34 +00:00
renovate[bot] 9c4e06acc3 Update Element Call to v0.20.1 (#33820)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 14:51:10 +00:00
renovate[bot] c745a09c30 Update eslint-plugins (#33824)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 14:02:32 +00:00
renovate[bot] e6202cf02e Update matrix-org to v0.36.1 (#33821)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 13:50:52 +00:00
renovate[bot] 6b0e784168 Update testcontainers docker digests (#33818)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 13:06:22 +00:00
renovate[bot] dd103f7a27 Update electron-builder to v26.15.2 (#33819)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 13:06:13 +00:00
Florian Duros add7d4c405 Room list: hide the empty/collapse icon when the room list is empty (#33814)
* fix: don't display the empty/collapse icon when the room list is empty

* Fix jest lcov projectRoot config

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-06-11 13:01:32 +00:00
Michael Telatynski 2d24778214 Fix modules dir tsc not running in CI (#33811)
* Fix modules dir tsc not running in CI

* Switch to nx run-many for ci task

This has smarter scheduling logic for dependant tasks
2026-06-11 10:37:47 +00:00
Florian Duros 2d434c72d4 feat: remove logic to expand a section when a filter is selected (#33785) 2026-06-11 09:21:30 +00:00
rbondesson a8f9c75fc1 Make EventTileViewModel consume pure render data (#33805) 2026-06-11 08:05:43 +00:00
rbondesson 8a21fdb127 Move the AutoHideScrollbar to shared components (#33777)
* First version of shared component

* Refactor as a functional component

* Add unit tests and more documentation

* Fix problem where wrappedRef was used by parent before assignment was performed.

* Use the shared component in app/web

* Clean up unused styling

* Added scrollbar-gutters as default styling in shared component

* Make sure the legacy mx_AutoHideScrollbar is set in app/web

* Updated snapshots

* Removing default style, scrollbar-gutter: stable;

* Updated snapshots

* useRef on wrapperRef to avoid loop in rendering

* scrollbar-width does not propagate

* Add AutoHideScrollbar to RoomListView

* Fix Prettier issue

* Updated snapshots

* Updated snapshot after merge

* Fix Sonar issue
2026-06-11 07:08:24 +00:00
Michael Telatynski e9a89d9872 Consolidate vitest CI & coverage (#33808)
* Consolidate modules vitest coverage

* Use vite-common as base for modules vitest config

* Make knip happier

* Fix coverage paths

* Place modules unit tests alongside src

* Switch to defineProject for better type safety

* Consolidate vitest CI & coverage

Kills off vite-common

* Update comment

* Update lockfile

* Fix shared-components vitest config

* Soften eslint config for tests in modules

* Run eslint on modules/playwright dir too

* Make tsc happy
2026-06-10 16:00:34 +00:00
renovate[bot] 042ded86c7 Update electron-builder to v26.15.1 (#33741)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-10 11:12:54 +00:00
Michael Telatynski 50035ce07e Merge pull request #33776 from element-hq/t3chguy/merge-modules
Absorb element-modules into monorepo
2026-06-10 10:10:03 +00:00
Michael Telatynski d9cd7f65ad Merge pull request #33803 from element-hq/actions/localazy-download
Localazy Download
2026-06-10 10:06:40 +00:00
Michael Telatynski e47957aa6d Update screenshots 2026-06-10 10:48:44 +01:00
Michael Telatynski 4b72f03bee Update screenshots 2026-06-10 09:39:46 +01:00
t3chguy f5ba03da4b [create-pull-request] automated change 2026-06-10 07:44:21 +00:00
Michael Telatynski bb2c6d68ff Fix playwright modules tests 2026-06-09 18:17:37 +01:00
Michael Telatynski 67295e2334 Handle unknown screens better (#33793)
* Remove legacy export

* Extract view map to a switch case statement with typescript checking that all cases are handled

This lets us drop the `default` case as we know we will never reach it.
Additionally move all the settings conditions to the state-setters rather than the renderer so we are never stuck in an undefined state

* Fix comment

* Handle unknown screens better

Redirect to welcome/home rather than getting stuck at spinner
2026-06-09 17:15:19 +00:00
Will Hunt 6cac2730fd Add mechanism to locally enforce MSC1763 retention rules (#33772)
* First pass at new retention

* Add more test cases

* fixup

* Fix TODO

* Disable retention explicitly from the start

* fixup

* Just apply retention as-is

* Fixup
2026-06-09 16:35:02 +00:00
Will Hunt ae0b3c9c42 Merge pull request #33796 from anoadragon453/anoa/fix_transports_error_handling
Fix "unexpected error" logging when fetching RTC transports from the homeserver
2026-06-09 15:28:26 +00:00
Michael Telatynski a16b72732e Fix playwright modules tests 2026-06-09 15:46:41 +01:00