Breda, Netherlands
Account created on 8 July 2014, over 10 years ago
  • Creative webdeveloper & tech consultant at Sebastix 
#

Merge Requests

Recent comments

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Awesome work on this @ambient.impact.

It's already quite long on my backlog, but I'm going to refreshless https://nostrver.se and will see how it goes!

🇳🇱Netherlands sebastian hagens Breda, Netherlands

I think this is because there is a namespace conflict with the contrib module flood_control .

I ran into the same issue with another project where I uninstalled the Flood Control module.

See https://www.drupal.org/project/pf_notifications/issues/3472184 TypeError: Cannot assign Drupal\flood_control\FloodWhiteList... Closed: won't fix

🇳🇱Netherlands sebastian hagens Breda, Netherlands

@kopeboy, the URL /admin/reports/push-subscriptions should give you an view with current subscriptions for push notifications.

Regarding DANSE, let me copy-paste this from my own documentation:

There are three cronjobs responsible for handling all the events and notifications which may clearify some stuff:

1. advancedqueue_cron
1. danse_cron
This will create the DANSE notifications events (entities)
2. push_framework_cron
This will collect the created DANSE notifications events and in the next iteration of this cronjob those collected items will be processed .

You can check the created queue items and their states at `admin/config/system/queues/jobs/push_framework`

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Provides web push notifications for DANSE events. Implements Web Push library for PHP, DANSE and Push framework, tailored and tested - a single case scenario though - to work with PWA.

So this is the combination:

  • Danse
  • Push Framework
  • PWA

An integration with Advanced PWA and/or ECA is not provided afaik.

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Just for my clearification, are you using the advanced_pwa module?
This module is build to be used with the pwa module, if enabling the pwa features for your site.

🇳🇱Netherlands sebastian hagens Breda, Netherlands

We had the same issue, so that's one of the reasons why this module is build.

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Disabling the contrib module flood_control fixed this for me, so it looks that there is something not going good there with defining class service names in that module.

🇳🇱Netherlands sebastian hagens Breda, Netherlands

This is an interesting one, as danse_content is a submodule and a dependency for the module. It seems having the module danse as a dependency in the composer.json is not sufficient.

> $ composer require 'drupal/pf_notifications:1.0.x-dev@dev'

  Problem 1
    - drupal/pf_notifications dev-1.0.x requires drupal/danse_content-danse_content * -> could not be found in any version, there may be a typo in the package name.
    - drupal/pf_notifications 1.0.x-dev is an alias of drupal/pf_notifications dev-1.0.x and thus requires it to be installed too.
    - Root composer.json requires drupal/pf_notifications 1.0.x-dev@dev -> satisfiable by drupal/pf_notifications[1.0.x-dev (alias of dev-1.0.x)].
🇳🇱Netherlands sebastian hagens Breda, Netherlands

Thx @bucefal91!

I'm on summer holiday at this moment and I will look into it when I'm back in two weeks.

🇳🇱Netherlands sebastian hagens Breda, Netherlands

@eelkeblok or start a seperate issue?

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Made a start on how a fixed position banner at the bottom is showed on iOS devices:

🇳🇱Netherlands sebastian hagens Breda, Netherlands

I would suggest also to implement a alternative way to trigger the callback in the beforeinstallprompt event listener for iOS Safari. iOS Safari does not support the BeforeInstallPromptEvent event, so this code is not working in safari browser on iOS.

https://caniuse.com/?search=beforeinstallprompt

Related to this issue: https://www.drupal.org/project/pwa/issues/3208359

🇳🇱Netherlands sebastian hagens Breda, Netherlands

I just noticed the patches (and instructions) are moved to the submodules. Nice work and I will close this issue now.

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Has the core.patch file been removed in the 2.x repo? Which is a good thing ;-)

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Sending a private message to multiple users does not work.

- Drupal version 10.2.4
- Private message version 3.0.0

A private message entity is only created and send to the last added user.

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Check! I'm not familiar with Yarn as wel, but I found out that corepack prepare yarn@stable --activate upgraded to 4.x and now yarn install worked.

root@drplrefresh_drupal:/var/www# corepack prepare yarn@stable --activate
Preparing yarn@stable for immediate activation...
root@drplrefresh_drupal:/var/www# yarn --version
4.1.0
root@drplrefresh_drupal:/var/www# yarn install
➤ YN0000: · Yarn 4.1.0
➤ YN0000: ┌ Resolution step
➤ YN0085: │ + @hotwired/turbo@npm:8.0.3, and 678 more.
➤ YN0085: │ - www@workspace:.
➤ YN0000: └ Completed in 5s 485ms
➤ YN0000: ┌ Fetch step
➤ YN0013: │ 678 packages were added to the project (+ 61.54 MiB).
➤ YN0000: └ Completed in 4s 415ms
➤ YN0000: ┌ Link step
➤ YN0000: │ ESM support for PnP uses the experimental loader API and is therefore experimental
➤ YN0007: │ drupal-refreshless-turbo@workspace:web/modules/contrib/refreshless/modules/refreshless_turbo must be built because it never has been before or the last one failed
➤ YN0000: └ Completed in 2s 52ms
➤ YN0000: · Done with warnings in 12s 55ms
🇳🇱Netherlands sebastian hagens Breda, Netherlands

Really awesome work! Zero page refreshes ftw!

🇳🇱Netherlands sebastian hagens Breda, Netherlands

@WimLeers

@Ambient.Impact showed me a video of the prototype through Mastodon a while ago, but I can't find it anymore.

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Patch #7 is working for me.

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Thanks for the patch @timohuisman !

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Applied this patch with composer and works with Drupal 10.1.5 and PHP 8.2.12

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Sebastian Hagens made their first commit to this issue’s fork.

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Please check out this issue: https://www.drupal.org/project/rate/issues/3327528 🐛 PHP Fatal Error | undefined method Drupal\Core\Extension\ModuleHandler::getImplementations() RTBC

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Is this module maintained? Sorry to see that there is no follow-up on this issue or am I incorrect?

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Is this module maintained? Sorry to see that there is no follow-up on this issue or am I incorrect?

🇳🇱Netherlands sebastian hagens Breda, Netherlands

@rex.barkdoll Thanks a lot for your research and this guide!

It helped me a lot when exploring the possibilities with DANSE and I've worked this out in blog item on my site: https://sebastix.nl/blog/exploring-subscriptions-and-notifications-with-...

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Thanks for the trust!

🇳🇱Netherlands sebastian hagens Breda, Netherlands

@Swentel, Nostr still fascinates me and it has a big change to become a popular protocol coming years. I'm integrating the nostr_simple_publish in my new site (it's not live yet) to send a message to Nostr when I post a new blog article.

Taking over the maintainership would be nice responsible (and somewwat challenging because for me it's quite new) task for me.

🇳🇱Netherlands sebastian hagens Breda, Netherlands

How is the process going finding a new maintainer @swentel?
I'm still following several topics around Nostr ;-)

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Thanks for reporting this and the patch. Will pick it up when I've some time left next week.

🇳🇱Netherlands sebastian hagens Breda, Netherlands

This module is not compatible with Drupal 10 out-of-the-box as it's using jQuery as a dependency. jQuery has been removed from Drupal 10.

🇳🇱Netherlands sebastian hagens Breda, Netherlands

What is the error? Is it a javascript ajax error?
On Drupal 10.0.x?

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Checkout https://www.drupal.org/node/3201242 , this error is module related and some accessCheck function have to be added to entity queries for Drupal 10 support.

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Thanks for point that out! I'm learning small new things here along the way :) Pushed some changes again.

The alter was inspired by your nodeinfo module ;)

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Nice!

I just have look at NIP-23:
https://github.com/nostr-protocol/nips/blob/master/23.md

Could be relevant for configuraring a Nostr field which can be a markdown formatted text in someway.

🇳🇱Netherlands sebastian hagens Breda, Netherlands

FYI when I add newlines to the content, it fails signing the the event.

["EVENT", {"pubkey":"06639a386c9c1014217622ccbcf40908c4f1a0c33e23f8d6d68f4abf655f8f71","created_at":1677677323,"kind":1,"tags":[],"content":"Another test with https:\/\/www.drupal.org\/project\/nostr_simple_publish but now with some newlines in this note.\r\n\r\nPrevious test failed with newlines.\r\nFYI =)","id":"68c5422bbd6d971012480a1c5eba96c54bbaadb3af851b0d94d3ca7b564c169d","sig":"25b0c83476206fc820b200150241f0d1913cbca5af93a1e8261dfe0ba25dfe4290dba5bf103cea70d446e54635118ad28e5f1c47dcd1a7f6fe9fc1478d649516"}]
Array ( [0] => OK [1] => 68c5422bbd6d971012480a1c5eba96c54bbaadb3af851b0d94d3ca7b564c169d [2] => [3] => invalid: event id does not match )

Without newlines, the signing succeeds.

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Just did a first test after updating the module:

["EVENT", {"pubkey":"06639a386c9c1014217622ccbcf40908c4f1a0c33e23f8d6d68f4abf655f8f71","created_at":1677676139,"kind":1,"tags":[],"content":"Testing out this Drupal module https:\/\/www.drupal.org\/project\/nostr_simple_publish where you can publish a simple note from the CMS of Drupal.\r\n\r\nhttps:\/\/shares.sebastix.dev\/wfo2Q4Dy.png","id":"40a90b62182024289663e292db061695f110a29f7c04d32e7dd1e5676579ca1d","sig":"e3ac00170ce5e3a9949200c4a21eac5c10c6788c47e38198371a7fe60c75d550c2822d4edbc6a61aa1a81573856642786a965491bf5e14dac68e5c1d5742ebbe"}]

Array ( [0] => OK [1] => 40a90b62182024289663e292db061695f110a29f7c04d32e7dd1e5676579ca1d [2] => [3] => invalid: event id does not match )

second try:

["EVENT", {"pubkey":"06639a386c9c1014217622ccbcf40908c4f1a0c33e23f8d6d68f4abf655f8f71","created_at":1677676398,"kind":1,"tags":[],"content":"Just a simple note test.","id":"d1a81126b72737cfcd33a266c2bda1d8a412a8a99b0bf03c33349bb4a413fbe2","sig":"f780aa23f161995bb385491dd4787b6611e34aba8765f0203f9a838f555fbd20c9b4047472cb0d7cac6e29120baaa7898fba8fa420930248febb4a8a04e75bd4"}]

Array ( [0] => OK [1] => d1a81126b72737cfcd33a266c2bda1d8a412a8a99b0bf03c33349bb4a413fbe2 [2] => 1 [3] => )

Looks like this second try succeeded!
I've found the note in the database of my relay.

Nice work with the debugging part =)

🇳🇱Netherlands sebastian hagens Breda, Netherlands

This is an example of a event before it's being signed, $event:

[
  "pubkey" => "06639a386c9c1014217622ccbcf40908c4f1a0c33e23f8d6d68f4abf655f8f71"
  "created_at" => 1677589707
  "kind" => 1
  "tags" => []
  "content" => "Just some basic text to send."
]

and this is the output of $message which is being send:

["EVENT", 
  {
    "pubkey":"06639a386c9c1014217622ccbcf40908c4f1a0c33e23f8d6d68f4abf655f8f71",
    "created_at":1677589707,
    "kind":1,
    "tags":[],
    "content":"Just some basic text to send.",
    "id":"cb91d5318e59f76c8f4d51a9d1bbcc695d71fa53ca147464db7644557e44b3ee",
"sig":"2c3c0b5889a882be150451abf6a6e99de97de086b8fa0b9fadfc52577af52edfe19741d1bfc57832f60183d17bfbf215029abcf356a211117b2db3139695fa6e"
  }
]

I've no clue either for now :)

🇳🇱Netherlands sebastian hagens Breda, Netherlands

I was quickly testing the publishing to my own (private) relay (wss://nostr.sebastix.dev) from my local dev environment but I don't see any incoming requests when inspecting the logs. No exception is thrown in the code. Also with the provided relay wss://nostr.pleb.network from the readme config it doesn't work.

I've done some debugging with reading out the response with $client->recieve() which returned from both relays:
["OK","b33...c33",false,"invalid: event id does not match"]

Something is going wrong on signing the event and setting the event id?
Validating the event is maybe be a good extra step? Like is done here: https://github.com/nbd-wtf/nostr-tools/blob/master/event.ts#L81

Some env info:
- SMP Debian 5.10.149-1 (2022-10-17) aarch64 GNU/Linux
- PHP 8.1.16
- GMP version => 6.2.1

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Is there a contrib generic key module for storing this type of data? Or should it be a more Nostr specific module for managing your keys?

🇳🇱Netherlands sebastian hagens Breda, Netherlands

I completely agree with you on that. This first development release was very lean & mean and on one server I was already having issues with permissions for writing the file. For me it's the first contrib module for Drupal I submitted, so I'm open to any feedback to learn!
I will be really honored with your feedback, I know your work from the fediverse space and your Drupal history goes way back further in time than mine.

I just pushed new code where I started to refactor the whole.

For the multiple user support, I will create a new ticket to separate things into smaller pieces to work on.

I've already included your package `swentel/nostr-php` but it's not used yet in the code for converting the pubkey.

Is there a way you now can review/comment the code in the MR (wip/draft) I've opened in the Gitlab space?

🇳🇱Netherlands sebastian hagens Breda, Netherlands

Same issue here, I'm also using the message_notify module for sending notifications (by email).

I've looked quick in the code, but I don't see any code dependency in the private_message code for the private_message_notifiy submodule. So this submodule is optional instead of a required dependency?

Production build 0.71.5 2024