Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
fb41b7a
feat(webpush): Add, update, activate and delete webpush subscription
p1gp1g Nov 18, 2025
780fa49
feat(webpush): Registration with new endpoint, p256dh or auth is 'cre…
p1gp1g Nov 19, 2025
58ed9d7
feat(webpush): Return error if too many appTypes are supplied
p1gp1g Nov 19, 2025
da72212
feat(webpush): Send activation token during registration
p1gp1g Nov 19, 2025
bd16853
feat(webpush): Prepare webpush requests
p1gp1g Nov 20, 2025
d89c1f4
feat(webpush): Send web push requests
p1gp1g Nov 20, 2025
be68474
feat(webpush): Delete expired web push subscriptions
p1gp1g Nov 21, 2025
7c0812a
feat(webpush): Send web push delete notifs
p1gp1g Nov 21, 2025
7a23d06
feat(webpush): Fix tests after 'Delete expired web push subscriptions'
p1gp1g Nov 21, 2025
7f3082e
feat(webpush): Add Urgency to web push notifs
p1gp1g Nov 21, 2025
94c53c7
feat(webpush): Add support for 429 status code with web push
p1gp1g Nov 21, 2025
c766615
feat(webpush): Fix composer for webpush
p1gp1g Nov 21, 2025
1ecc7cf
feat(webpush): Fix urgency
p1gp1g Nov 21, 2025
8c4ae10
feat(webpush): Add support for VAPID
p1gp1g Nov 21, 2025
9dfe042
feat(webpush): Fix missing $deleteAll
p1gp1g Nov 24, 2025
988a51b
feat(webpush): Add API endpoint to get the VAPID pubkey
p1gp1g Nov 24, 2025
dafc7f8
feat(webpush): Add webpush capability
p1gp1g Nov 24, 2025
2ccb2aa
feat(webpush): Fix apptypes
p1gp1g Nov 24, 2025
f8103da
feat(webpush): Add tests for webpush
p1gp1g Nov 25, 2025
55f8d5f
feat(webpush): Get apptypes as a string
p1gp1g Nov 26, 2025
2a40245
feat(webpush): Fix tests for apptypes as string
p1gp1g Nov 27, 2025
a6e6bd5
feat(webpush): Include WebPushController in ApplicationTest
p1gp1g Nov 27, 2025
43d3304
feat(webpush): Allow multiple delete with webpush
p1gp1g Nov 28, 2025
875b99c
feat(webpush): Lint
p1gp1g Dec 2, 2025
cc68e58
feat(webpush): Add composer lock
p1gp1g Dec 2, 2025
89b65e8
feat(webpush): Fix OpenAPI
p1gp1g Dec 3, 2025
2833511
feat(webpush): Small fixes
p1gp1g Dec 3, 2025
cbfeeb7
feat(webpush): Fix VAPID auth
p1gp1g Dec 4, 2025
68354da
ci: Try to fix psalm for now
nickvergessen Dec 5, 2025
8edcb87
ci(cs): Ignore lib/Vendor/ dir from coding standards
nickvergessen Dec 5, 2025
c705594
feat(webpush): Reduce max size for endpoint
p1gp1g Dec 5, 2025
6cc2df5
feat(webpush): Lint
p1gp1g Dec 6, 2025
e6a6dd5
feat(webpush): Update query count
p1gp1g Dec 8, 2025
75fd280
feat(webpush): Keep vendor dir
p1gp1g Dec 8, 2025
b766cd2
feat(webpush): Fix psalm CI
p1gp1g Dec 8, 2025
0f78bfb
feat(webpush): Lint
p1gp1g Dec 9, 2025
604f01e
feat(webpush): Init VAPID in constructor
p1gp1g Dec 9, 2025
01fc527
feat(webpush): Rename appTypes
p1gp1g Jan 9, 2026
e56ec88
feat(webpush): Store VAPID pubkey in plaintext
p1gp1g Jan 9, 2026
fbff10b
feat(webpush): Fix typo in comment
p1gp1g Jan 9, 2026
327d658
feat(webpush): Add WebPushClient to Push constructor
p1gp1g Jan 9, 2026
a430587
feat(webpush): Apply suggestions from code review
p1gp1g Jan 9, 2026
3428940
feat(webpush): Remove unused dep
p1gp1g Jan 12, 2026
1b905d2
feat(webpush): Do not remove old (>60d) tokens
p1gp1g Jan 12, 2026
b0d709e
feat(webpush): Comment testing values
p1gp1g Jan 12, 2026
95c80bf
feat(webpush): Change VAPID subject to use nextcloud domain
p1gp1g Jan 12, 2026
942b972
feat(webpush): Rename app_types column
p1gp1g Jan 12, 2026
dc45065
feat(webpush): Fix appTypes name
p1gp1g Jan 13, 2026
5fe87a9
feat(webpush): Lint
p1gp1g Jan 13, 2026
221625d
feat(webpush): Fix continues after token validation
p1gp1g Jan 13, 2026
933c373
feat(webpush): Fix CI with new validation
p1gp1g Jan 13, 2026
0027f75
feat(webpush): Fix appTypes name in psalm baseline
p1gp1g Jan 19, 2026
c92718e
feat(webpush): Rename ua_public column
p1gp1g Feb 1, 2026
dd97892
feat(webpush): Do not lazy load VAPID config
p1gp1g Feb 1, 2026
349c2bd
feat(webpush): Use constants for testing ua_public and auth
p1gp1g Feb 1, 2026
240b27b
feat(webpush): Use dedicated OpenAPI scope for webpush
p1gp1g Feb 1, 2026
2b03c40
feat(webpush): Fix lock hash
p1gp1g Feb 1, 2026
d187b75
build: Update mozart config to not ship polyfill
nickvergessen Feb 3, 2026
1dd22d2
build: Ignore lib/Vendor/ for now
nickvergessen Feb 3, 2026
344bcca
ci(coding-standard): Fix CS in test
nickvergessen Feb 3, 2026
a9ef865
build(mozart): Update mozart to 1.0.5
nickvergessen Feb 7, 2026
0f16bda
build(composer): Update lock files
nickvergessen Feb 9, 2026
753b7ab
ci(psalm): Restore baseline entries
nickvergessen Feb 11, 2026
0fb9f8e
ci(psalm): Split OCP package to own composer bin
nickvergessen Feb 11, 2026
406879d
fix: Fix missing import from conflicting pull request
nickvergessen Feb 11, 2026
83c46fd
ci(cs): Fix coding standards
nickvergessen Feb 11, 2026
0bfd94a
test: Migrated away from removed method
nickvergessen Feb 11, 2026
9bbe1c9
fix: Bump app version to trigger migration
nickvergessen Feb 11, 2026
138e695
fix: Add autoloader
nickvergessen Feb 11, 2026
8186359
build(mozart): Bump Mozart to 1.0.6 to fix file permissions
nickvergessen Feb 12, 2026
e0f1806
ci(psalm): Try fixing psalm issues
nickvergessen Feb 12, 2026
ab35a31
ci(psalm): Add to baseline for now
nickvergessen Feb 12, 2026
e1d38c7
ci(psalm): Update nextcloud/ocp
nickvergessen Feb 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/update-nextcloud-ocp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
- name: Composer update nextcloud/ocp # zizmor: ignore[template-injection]
id: update_branch
if: ${{ steps.checkout.outcome == 'success' && matrix.branches != 'main' }}
run: composer require --dev 'nextcloud/ocp:dev-${{ matrix.branches }}'
run: composer bin nextcloud-ocp require --dev 'nextcloud/ocp:dev-${{ matrix.branches }}'

- name: Raise on issue on failure
uses: dacbd/create-issue-action@cdb57ab6ff8862aa09fee2be6ba77a59581921c2 # v2.0.0
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -70,5 +70,6 @@ nbproject
# Build related files
/npm-debug.log
/build
/lib/Vendor
/vendor
/vendor-bin/*/vendor
1 change: 1 addition & 0 deletions .php-cs-fixer.dist.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
->notPath('l10n')
->notPath('node_modules')
->notPath('src')
->notPath('lib/Vendor')
->notPath('vendor')
->in(__DIR__);
return $config;
2 changes: 1 addition & 1 deletion appinfo/info.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

📣 Announcement center: An announcement was posted by an admin]]></description>

<version>7.0.0-dev.0</version>
<version>7.0.0-dev.1</version>
<licence>agpl</licence>
<author>Joas Schilling</author>

Expand Down
28 changes: 25 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
"description": "notifications",
"license": "AGPL",
"require-dev": {
"bamarni/composer-bin-plugin": "^1.9",
"nextcloud/ocp": "dev-master"
"bamarni/composer-bin-plugin": "^1.9"
},
"config": {
"optimize-autoloader": true,
Expand All @@ -24,7 +23,13 @@
},
"scripts": {
"post-install-cmd": [
"[ $COMPOSER_DEV_MODE -eq 0 ] || composer bin all install",
"@composer bin all install --ansi",
"\"vendor/bin/mozart\" compose",
"composer dump-autoload"
],
"post-update-cmd": [
"@composer bin all install --ansi",
"\"vendor/bin/mozart\" compose",
"composer dump-autoload"
],
"lint": "find . -name \\*.php -not -path './vendor/*' -not -path './build/*' -print0 | xargs -0 -n1 php -l",
Expand All @@ -38,5 +43,22 @@
"rector:fix": "rector",
"test:unit": "phpunit --color -c tests/Unit/phpunit.xml",
"test:integration": "cd tests/Integration && ./run.sh"
},
"require": {
"minishlink/web-push": "^9.0"
},
"extra": {
"mozart": {
"dep_namespace": "OCA\\Notifications\\Vendor\\",
"dep_directory": "/lib/Vendor/",
"classmap_directory": "/lib/autoload/",
"classmap_prefix": "NEXTCLOUDNOTIFICATIONS_",
"packages": [
"minishlink/web-push"
],
"excluded_packages": [
"symfony/polyfill-php82"
]
}
}
}
Loading