Skip to content

Feature/push notification#63

Open
GigiaJ wants to merge 74 commits intoGigiaJ:sliding-sync-messyfrom
krishukr:feature/push-notification
Open

Feature/push notification#63
GigiaJ wants to merge 74 commits intoGigiaJ:sliding-sync-messyfrom
krishukr:feature/push-notification

Conversation

@GigiaJ
Copy link
Copy Markdown
Owner

@GigiaJ GigiaJ commented Feb 16, 2026

Description

Fixes #

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings

ajbura and others added 30 commits July 5, 2025 21:31
as we were mutating the content of m.direct the sdk was comparing old value with new one and preventing update if found equal
Bumps nginx from 1.27.4-alpine to 1.29.0-alpine.

---
updated-dependencies:
- dependency-name: nginx
  dependency-version: 1.29.0-alpine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 9 to 11.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](dawidd6/action-download-artifact@07ab29f...ac66b43)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-version: '11'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.2.1 to 2.3.2.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](softprops/action-gh-release@c95fe14...72f2c25)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-version: 2.3.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
when a room has more than one orphan parent, we will select parent which has highest number of special users who have special powers in selected room.
* load auth metadata configs on startup

* deep-link cross-signing reset button with oidc

* deep-link manage devices and delete device with oidc

* fix import typo
* add time and date picker components

* add time utils

* add jump to time in room timeline

* fix typo causing crash in safari
* add buttons to codeblocks

* add functionality

* Document functions

* Improve accessibility

* Remove pointless DefaultReset

* implement some requested changes

* fix content shift when expanding or collapsing

---------

Co-authored-by: Ajay Bura <32841439+ajbura@users.noreply.github.com>
* add simple button to start a thread on reply

* force build

* remove useless actions

* add actions back

* change icon to ThreadPlus

* add button to context menu

* fix capital T

---------

Co-authored-by: Ajay Bura <32841439+ajbura@users.noreply.github.com>
* render room avatar for dm group chat

* remove extra conditions
…at (cinnyapp#2347)

* Add setting to enable 24-hour time format

* added hour24Clock to TimeProps

* Add incomplete dateFormatString setting

* Move 24-hour  toggle to Appearance

* Add "Date & Time" subheading, cleanup after merge

* Add setting for date formatting

* Fix minor formatting and naming issues

* Document functions

* adress most comments

* add hint for date formatting

* add support for 24hr time to TimePicker

* prevent overflow on small displays
* make menus more spacious

* improve threaded reply layout

* fix search filter button spacing
* add code block language header and improve styles

* improve codeblock fallback text

* move floating expand button to code block header

* reduce code font size
* Slate style has certain behavior elements that iOS expects

* Swap to using that implementation
* Show file size exceeds error on upload

* fix missing import and make size bold
* add new create room

* rename create room modal file

* default restrict access for space children in room create modal

* move create room kind selector to components

* add radii variant to sequence card component

* more more reusable create room logic to components

* add create space

* update address input description

* add new space modal

* fix add room button visible on left room in space lobby
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@v3.4.0...v3.5.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 5.7.0 to 5.8.0.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](docker/metadata-action@v5.7.0...v5.8.0)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-version: 5.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…nnyapp#2406)

* prevent listing "private" rooms on directory

* clean up boolean expression

* add knock_restricted
* usability improvements

* revert change

* requested change
* WIP - new profile view

* render common rooms in user profile

* add presence component

* WIP - room user profile

* temp hide profile button

* show mutual rooms in spaces, rooms and direct messages categories

* add message button

* add option to change user powers in profile

* improve ban info and option to unban

* add share user button in user profile

* add option to block user in user profile

* improve blocked user alert body

* add moderation tool in user profile

* open profile view on left side in member drawer

* open new user profile in all places
ajbura and others added 30 commits August 24, 2025 22:33
* fix 0 displayed in invite with no timestamp

* support displaying invite reason for receiver

* show invite reason as compact message

* remove unused import

* revert: show invite reason as compact message

* remove unused import

* add new invite prompt
* fix dm invite appears in home

* use migrated function for convert to dm/room commands

* add new create chat screen
* update userId placeholder

* update sample names from login username input
* add new search modal

* remove search modal from searchTab

* fix member avatar load for space with 2 member

* use media authentication when rendering avatar

* fix hotkey for macos

* add @ in username

* replace subspace minus separator with em dash
…o publicly host it unless it becomes irrational in cost which should never happen)

add workbox precaching (for SW caching)

Add claim and install events

Convert to a more generic implementation for communicating with the client

add precaching from workbox import

actually set the path (should fix android blank icon issue)

add param type

Clean up fetch code

Add push notif handling (clicks and push events)

Add SW update prompt (useful for rolling out new changes and informing the user of them)

Add isProduction to determine the behavior to use for the SW

Embed a very simple message handler between the SW and client for now (for token auth atm)

Move MapSet position

clean up imports

remove disable import

Adds the client state listener for toggling whether to use push notifs or app notifs

Add a check for our custom tweak in the in-app notif handling to determine which should be used

Add WebPush separate toggle

Add render changes

update imports

Add push notif implementation

add push notif details to client config

Update gitignore

update package-lock

Undo these

Pass client config for togglePusher

Move message listener and add a togglePush listener (should ensure registers/deregisters always go off this way)

Revise our fetch to be more in line with W3C spec

Swap to sending to service worker for completion

add client config to parameters

adjust to reflect using the service worker to actually toggle

Fix imports

Remove large comment block, no longer needed

Remove subscription / service worker check requirement

Add store to push notif setting to local storage (so we can manage the pusher state cleanly)

Fix space navigation & view space timeline dev-option (cinnyapp#2358)

* fix inaccessible space on alias change

* fix new room in space open in home

* allow opening space timeline

* hide event timeline feature behind dev tool

* add navToActivePath to clear cache function

Add allow from currently selected space if no m.space.parent found (cinnyapp#2359)

Release v4.8.1 (cinnyapp#2360)

forgot to remove removed const ref

set app badge

Prevent firefox from crashing because of no badging API

add docs for Sygnal set-up

Remove incorrect nav badge handling placement

Remove incorrect nav badge handling placement

move nav badge handling to favicon and sum total there for it

swap fetch to use retry logic (shouldn't occur very often, but when it does we don't want to immediately fail)

Add global app events

Swap our visibility handler and notification implementation to use the global app events

Add visibility hook to remove from the ClientRoot

Place our storage handling into a state module instead and reference it

Revise to use atom values and simplify; modify to check for valid subscription via self-heal; modify togglePusher to defer to the users push notif setting before visibility changes

remove unused method for push notif visibility changes

useAppVisibility change hook instead of baking into client root for cleanliness

update imports

Add deregister pushers component

use deregister pushers component

adjust name to reflect new values

update name

Swap to using the atom values instead of raw setting them in the component. Passing the values forward as needed.

Update imports

Update names to reflect real behavior

adjust name of showNotifications to useInAppNotifications and add usePushNotifications
if event_id is not available, jump to inbox

i haven't check app notification, this is for push notification for now
still need to handle invitation notification
currenttly all browser requrire a `push` produces a notification, if
not, push subscription may be revoked.

see:
firebase/firebase-js-sdk#8010 (comment)

in this case, sygnal, the push gateway will send unread count, and
create a `push` event, when messages are read on other clients.
Therefore we have no choice but to stop sygnal from pushing data that
won't be presented as notifications

see:
https://github.com/element-hq/sygnal/blob/da48ba7457409391c1d12140ce2ea3d49d377ff3/sygnal/webpushpushkin.py#L142-L145
so that a notification will always be generated from a push event,
avoiding being killed for privacy policies from browser and os
Sygnal already adds `mailto:` by itself. When added manually, apple will error out with `403: BadJwtToken`. Hence the mailto should be removed :)

(cherry picked from commit 0d66762)
Signed-off-by: Kris Hu <i@krishu.moe>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants