Commit Graph

6 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>
2026-07-02 08:52:02 -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
Robin 03b730db58 Update toast styles, improve incoming call notifications (#33043)
* Update design of incoming call notifications

* Make toast show avatars of group call participants

* Further expand test coverage for call notifications

* Update screenshots

* Update screenshots

* Delete unused variables

* Upgrade Element Call to v0.19.2

For the new group call intents.

* Consolidate some branches

* Apply Compound spacing variables a little more

* Fix lints

* Exclude Element Call assets from being re-minified to fix build
2026-04-27 14:37:42 +00:00
Robin f28fca76eb Delete some unneeded code in the ElementCall class (#32879)
* Remove redundant call intent computation

I'm not clear on why we've been computing the intent of a call twice — first in generateWidgetUrl and then again in getWidgetData. Adding intent to the widget's data has no effect at all since there is no matching placeholder in the URL for it to be templated into. It seems we can safely delete this code.

* Remove preload hack

Element Web has long since upgraded past version 0.15.0 of Element Call, so we no longer need to set the preload parameter manually.
2026-03-30 09:15:57 +00:00
Robin 5a074e637a Fix room list often showing the wrong icons for calls (#32881)
* Give rooms with calls a proper accessible description

Besides improving accessibility, this makes it possible to check for the presence of a call indicator in the room list in Playwright tests.

* Make room list react to calls in a room, even when not connected to them

To use the results of CallStore.getRoom reactively, you need to listen for Call events, not ConnectedCalls events.

* Don't assume that every call starts off as a video call

If a Call object is created by way of someone starting a voice call, then of course the call's initial type needs to be 'voice'.

* Make room list items react to changes in call type

The type of a call may change over time; therefore room list items explicitly need to react to the changes.

* Update a call's type before notifying listeners of the change

If we notify listeners of a change in a call's type before actually making that change, the listeners will be working with glitched state. This would cause the room list to show the wrong call type in certain situations.

* Ignore the Vitest attachments directory
2026-03-26 10:28:48 +00:00
Michael Telatynski 91a3cb03c1 mv element.io @types __mocks__/ debian docker module_system/ playwright res src test webapp Dockerfile .dockerignore .eslintignore .stylelintrc.cjs babel.config.cjs recorder-worklet-loader.cjs .modernizr.json components.json config.json config.sample.json package.json project.json tsconfig.json tsconfig.module_system.json jest.config.ts playwright.config.ts webpack.config.ts build_config.sample.yaml apps/web/
mkdir apps/web/scripts
mv scripts/{cleanup.sh,ci_package.sh,copy-res.ts,deploy.py,package.sh} apps/web/scripts

And a couple of gitignore tweaks

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 15:43:58 +00:00