Conversation
|
You do not signoff your commits, could you please check the DCO CI job? |
|
@provokateurin it may interest you for Neon |
|
We'll check the rough idea later this week, but CI seems pretty red at the moment 🙈 |
Indeed, I'm fixing it. I was waiting for the CI to run PS: I forgot to mention, this feature is part of a grant with NLnet |
9afa07d to
4da7b5f
Compare
|
It's conflicting in composer.lock so CI is not starting 🙈 |
|
Should be ok now |
|
@nickvergessen Can you run the CI again ? |
|
I will need some help to fix the CI.
|
|
The changes for the android-lib are ready, once this PR is done: nextcloud/android-library@master...p1gp1g:nextcloud-library:feat/webpush |
|
@nickvergessen : Are you OK to run the CI if I push a potential fix for it? (cf. #2662 (comment)) |
|
You were missing some files to set up Mozart correctly, I added them. Let's see what that does to CI. |
| "time": "2025-12-02T00:53:42+00:00" | ||
| }, | ||
| { | ||
| "name": "psr/clock", |
There was a problem hiding this comment.
Something is wrong here.
It might be that your dependency brings in psr/clock or in a different version or something
There was a problem hiding this comment.
it has moved to the packages list, same version: it may be possible another lib use it. Is it a problem since the lib is still listed ?
There was a problem hiding this comment.
The problem is that it should be here, but aparently is not anymore as per Psalm:
Error: lib/BackgroundJob/GenerateUserSettings.php:21:3: MissingDependency: OCP\AppFramework\Utility\ITimeFactory depends on class or interface psr\clock\clockinterface that does not exist (see https://psalm.dev/157)
There was a problem hiding this comment.
Is it ok if I do composer require psr/clock --dev and update the lock, so it will be explicitly included in dev requirement ?
There was a problem hiding this comment.
I'm not sure how that fully works, but psr/clock is part of server's 3rdparty directory already and we should not duplicate it or create a conflict or something.
Maybe you can try if provide solves that?
https://github.com/ChristophWurst/nextcloud_sentry/blob/9e8385fb2c0c170edbedc3d81f3d304f50197cd6/composer.json#L27-L29
There was a problem hiding this comment.
If I understand correctly, we have to add the "provide" to nextcloud/ocp, I can push a test using a temporary repo to override nextcloud/ocp
There was a problem hiding this comment.
I've tested different combinations, with/without provide, in notification app, in ocp, with require/require-dev and nothing works: p1gp1g#1 any idea ?
There was a problem hiding this comment.
I've found the issue: mozart removes the vendor directory after namespacing, and psc/clock is a transitive dependence of the webpush lib
|
Thank you. I think we need to ignore the new vendor directories too? |
The vendor-bin/ part is correctly ignored already: But since this app is shipped with the server it has to be buildable repeatingly, so we need to commit lib/Vendor/ at the end of the pull request work or in a follow up. (Please don't commit it yet, as it makes the PR even more unreadable and not loadable in the GitHub UI) |
|
OK, I see, maybe excluding them from the lint checks then ? |
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
6445a29 to
406879d
Compare
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
Nice, works here now, but breaks production code locally. Will investigate further |
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Cool ! They were very reactive on the issue, that's nice :) |
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
Let's move forward for now. Will send some small follow ups afterwards, like checking the increased query count etc. |
|
Thanks a lot for the big contribution again. 🎉 |
|
Amazing, thanks a lot ! I will rebase the frontend (smaller) PR during the day If you need, do not hesitate to ping me |
|
awesome! ❤️ |
This PR adds web push support to send push notifications. Web Push is defined by 3 RFCs: RFC8030 (the requests), RFC8291 (encryption) and RFC8292 (server authorization).
It can then be used by the web application to receive real time notifications, even when nextcloud isn't opened in a tab, and without the notify_push app (which adds a websocket support to nextcloud). This is particularly useful for collaborative work, as nexcloud isn't always opened but we can expect to be notified anyway. This support is in the second PR
This support also allow to get push notifications on Android without the proxy:
Fix #1225
Required for:
nextcloud/android#8684
nextcloud/talk-android#257
Which will also fix:
nextcloud/android#12151 (won't be necessary)
nextcloud/android#11898 (duplicate)
nextcloud/android#5510 (supersede, openpush was a research project, and their website now link to unifiedpush)
nextcloud/android#8800 (another duplicated ?)
nextcloud/android#3333 (UP supports allow using FCM without the proprietary lib)
(There might be other issues)