raucao
450ccff65b
Add custom class to all remaining icons
continuous-integration/drone/push Build is failing
2025-05-28 13:57:01 +04:00
raucao
0dcfefd66c
Merge pull request 'Improve admin pages for invitations' ( #228 ) from feature/admin_invitations into feature/contributor_status
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 2s
Reviewed-on: #228
Reviewed-by: Greg <greg@noreply.kosmos.org >
2025-05-28 09:00:11 +00:00
raucao
c6a187b25a
Limit invitees on admin user page, link to invitations for more
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 4s
2025-05-28 12:50:10 +04:00
raucao
c99d8545c1
Add username filter to admin invitations index
continuous-integration/drone/push Build is passing
2025-05-28 12:34:52 +04:00
raucao
e8f912360b
Fix wrong stats number
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-05-28 12:11:26 +04:00
raucao
c94a0e34d1
Add donations to user details, link to filtered list
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-05-27 19:04:35 +04:00
raucao
04094efbdb
Add username filter with UI to admin donations page
2025-05-27 18:43:45 +04:00
raucao
71352d13d2
Add pending donations to admin donations index
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
And add more info to the details page
2025-05-27 18:08:22 +04:00
raucao
fff7527694
Don't show njump link when no pubkey set
2025-05-27 17:35:48 +04:00
raucao
7a8ca0707a
Add missing dash for no member status
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-05-27 17:18:47 +04:00
raucao
b657a25d4d
Wording
2025-05-27 17:16:26 +04:00
raucao
e48132cf5f
Set member status to sustainer upon payment
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Introduces a state machine for the payment status as well.
refs #213
2025-05-27 16:39:03 +04:00
raucao
463bf34cdf
Add link for icon library to README
continuous-integration/drone/push Build is passing
2025-05-27 15:12:31 +04:00
raucao
f313686b13
Add settings for member statuses
continuous-integration/drone/push Build is passing
2025-05-27 14:59:10 +04:00
raucao
0b4bc4ef5c
Improve color shade of sidebar link icon
...
Was a bit bright
2025-05-27 14:58:45 +04:00
raucao
393f85e45c
WIP Add member/contributor status to users
continuous-integration/drone/push Build is passing
2025-05-27 13:32:58 +04:00
raucao
d737d9f6b8
Refactor ejabberd API integration
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 2s
2025-05-26 14:10:27 +04:00
raucao
4bf6985b87
Fix wrong matcher for custom LDAP attribute
...
continuous-integration/drone/push Build is passing
389ds doesn't like case-insensitive matches for 7-bit ASCII strings
2025-05-23 14:08:41 +04:00
raucao
7f766473ab
Fix typo
continuous-integration/drone/push Build is passing
2025-05-22 13:21:37 +04:00
raucao
c1bac2625c
Only log exception to stdout
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2025-05-21 16:42:49 +04:00
raucao
c5c6765d67
Log LDAP exceptions
continuous-integration/drone/push Build is passing
2025-05-21 16:29:52 +04:00
raucao
171524fb83
Use production link
continuous-integration/drone/push Build is passing
2025-05-18 14:58:55 +04:00
raucao
3538067da6
Use production link
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 2s
2025-05-18 14:58:34 +04:00
raucao
c374bcd3bc
Merge branch 'master' into feature/mastodon_api
continuous-integration/drone/push Build is running
2025-05-18 14:56:42 +04:00
raucao
655009ad7a
Add example link for PGP pubkey
continuous-integration/drone/push Build is running
2025-05-18 14:56:29 +04:00
raucao
71c9bd29ab
Merge branch 'master' into feature/mastodon_api
2025-05-18 14:46:28 +04:00
raucao
e66d134550
Log missing l param for WKD requests, return 400
continuous-integration/drone/push Build is passing
2025-05-18 14:46:04 +04:00
raucao
11167e3e43
Merge branch 'master' into feature/mastodon_api
2025-05-18 14:37:47 +04:00
raucao
ebbd87368c
Handle l param missing for WKD request
continuous-integration/drone/push Build is passing
2025-05-18 14:37:22 +04:00
raucao
7b0ebb761f
Allow display name to be removed
...
continuous-integration/drone/push Build is passing
When form field is empty
2025-05-18 14:26:09 +04:00
raucao
fb03427d59
Allow syncing a single Mastodon profile
continuous-integration/drone/push Build is passing
2025-05-17 18:56:34 +04:00
raucao
ad138f715c
Update doc
2025-05-17 18:56:34 +04:00
raucao
6730aae2dc
Only update other avatars in one place
...
Prevent future mistakes
2025-05-17 18:56:33 +04:00
raucao
a71aa3fda2
Don't queue job when service isn't enabled
2025-05-17 18:56:33 +04:00
raucao
92e6b1395a
Add avatar to admin user page
2025-05-17 18:56:33 +04:00
raucao
37c59b7b0c
Sync Mastodon IDs/profiles to local accounts
...
Add a new service to import some data from Mastodon accounts:
* Find users by username, store Mastodon account ID in local db when
found
* Import display name (don't overwrite existing)
* Import avatar (don't overwrite existing)
2025-05-17 18:56:30 +04:00
raucao
c291765777
Add mastodon_id to users
2025-05-17 16:44:13 +04:00
raucao
f0cfde560b
Add Mastodon API service class, auth token config
...
Add a new REST API service class to keep things DRY
2025-05-17 14:18:16 +04:00
raucao
c43e43d89c
Open RS apps in new tab
continuous-integration/drone/push Build is passing
2025-05-16 17:30:11 +04:00
raucao
dbbf116c52
Fix RS storage-first auth work in dev, remove token
...
continuous-integration/drone/push Build is passing
See https://github.com/remotestorage/remotestorage.js/issues/900
2025-05-16 15:59:40 +04:00
raucao
208b1f04ae
Fix web app icon component
continuous-integration/drone/push Build is passing
2025-05-16 15:38:03 +04:00
raucao
8049f81b73
Merge pull request 'Set XMPP avatar when new avatar is uploaded' ( #224 ) from feature/ejabberd_pep into master
...
continuous-integration/drone/push Build is running
Reviewed-on: #224
2025-05-16 11:37:29 +00:00
raucao
5f276ff349
Queue XmppSetAvatarJob when new avatar is uploaded
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Failing after 10m9s
And let job do nothing in development for now
2025-05-15 22:04:25 +04:00
raucao
5916969447
Add job for setting avatar via XMPP
2025-05-15 20:05:53 +04:00
raucao
382c5ad10e
Return response for ejabberd API calls
2025-05-15 12:53:58 +04:00
raucao
8b3243af6b
Sort API methods alphabetically
continuous-integration/drone/push Build is passing
2025-05-15 12:19:09 +04:00
raucao
fc36fbf10c
Add get_vcard2 to ejabberd client
continuous-integration/drone/push Build is passing
2025-05-15 12:16:53 +04:00
raucao
06d2705c4c
Add private_get to ejabberd service
continuous-integration/drone/push Build is passing
2025-05-15 12:01:10 +04:00
raucao
03be2e09e6
Merge pull request 'User avatars' ( #223 ) from feature/user_avatars into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #223
Reviewed-by: Greg <greg@noreply.kosmos.org >
2025-05-14 14:58:15 +00:00
raucao
582d339c0a
Remove feature gate for avatar upload
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 2s
2025-05-14 18:55:26 +04:00
raucao
a098ea43bb
Add avatar URL to Webfinger when available
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-05-14 15:39:50 +04:00
raucao
417e346074
Do not use ActiveStorage variants, process original avatar
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Variants are currently broken. So we process the original file with the
most common avatar dimensions and stripping metadata, then hash and
upload only that version.
2025-05-14 14:42:03 +04:00
raucao
1884f082ee
Add note about variants not working when not generated ad-hoc
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-05-12 18:07:10 +04:00
raucao
51a3652fc8
Fix S3 keys/paths for user avatars
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Also fixes the avatars controller to work with all back-ends
2025-05-12 16:39:53 +04:00
raucao
46b908839d
Add avatar URL to Discourse Connect
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Discourse should download and set the avatar if the user doesn't have
one set yet.
2025-05-12 15:04:56 +04:00
raucao
512f0ccca1
Add controller for rendering avatars on simple URL
2025-05-12 15:04:01 +04:00
raucao
17ffbde03a
WIP Store avatars as ActiveStorage attachments
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Also push to LDAP as jpegPhoto
2025-05-11 18:43:21 +04:00
raucao
9e2210c45b
Store avatars as binary instead of base64
continuous-integration/drone/push Build is passing
2025-05-10 20:58:36 +04:00
raucao
6d7d722c5d
Add inetOrgPerson objectclass to user entries
...
refs #174
2025-05-08 16:52:54 +04:00
raucao
93aa26f430
Remove lockbox column
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 2s
2025-05-06 20:14:25 +04:00
raucao
50110c12b9
Remove lockbox gem
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2025-05-06 20:01:01 +04:00
raucao
95843aee6d
Remove credentials files
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-05-06 19:50:27 +04:00
raucao
84ed4b2de2
Remove old ln columns from users table
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-05-06 19:47:58 +04:00
raucao
931624cf95
Add encryption credentials to test env
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-05-06 18:14:26 +04:00
raucao
eae370b737
Migrate from lockbox to ActiveRecord encryption (1/2)
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2025-05-06 18:09:27 +04:00
raucao
15a9fdec3e
Make RS auth work by default in dev with Docker Compose
2025-05-06 18:07:52 +04:00
raucao
3d8619532b
Refactor LDAP config
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
* Move credentials to ENV vars in prod
* Use same configs in dev and prod
* Make UID attribute and admin DN configurable
2025-05-06 15:32:59 +04:00
raucao
d56edb34f1
Remove SMTP credentials from Rails credentials
...
Already unused
2025-05-06 15:08:46 +04:00
raucao
a97bbf61a8
Fix postgresql query for deleting auth expiry job
...
continuous-integration/drone/push Build is passing
Solid Queue uses a text column, instead of a jsonb, so we need to cast
it as jsonb on the fly.
2025-05-05 17:37:58 +04:00
raucao
5a523fd220
Merge pull request 'Refactor database configs' ( #220 ) from chore/db_configs into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #220
2025-05-05 12:54:22 +00:00
raucao and greg
889c9ae824
Refactor database configs
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 2s
* Move postgres credentials to ENV vars
* Allow postgres in development
* Allow SQlite in production
* Refactor optional lndhub db config
Co-authored-by: Greg Karékinian <greg@karekinian.com >
2025-05-05 15:25:25 +04:00
raucao
e686cf42e8
Merge pull request 'Switch from Sidekiq to Solid Queue' ( #219 ) from dev/sidekiq_to_solidqueue into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #219
Reviewed-by: Greg <greg@noreply.kosmos.org >
2025-05-05 11:24:56 +00:00
raucao
906468d156
Allow to immediately expire auth via job
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 3s
When running the job before its schedule
2025-05-05 12:46:46 +04:00
raucao
ee5c6d86d0
Port RS auth job removal to Solid Queue
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-05-05 11:07:30 +04:00
raucao
d1eea85b04
Add Redis gem explicitly, remove sidekiq require
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2025-05-04 18:14:49 +04:00
raucao
ecd814641a
Remove Sidekiq initializer
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2025-05-04 17:44:37 +04:00
raucao
b1dd5800b2
Update lockfile
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2025-05-04 17:42:31 +04:00
raucao
0cad4cdcfe
WIP Switch from Sidekiq to Solid Queue
continuous-integration/drone/push Build is running
continuous-integration/drone/pr Build is failing
2025-05-04 17:40:33 +04:00
raucao
aef779a59c
Switch from Sprockets to Propshaft
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 1s
2025-04-29 17:11:21 +04:00
raucao
1ddecab2c3
Upgrade Rails to 8.0
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-04-28 17:49:54 +04:00
raucao
74b4bc3875
Upgrade Rails to 7.2
continuous-integration/drone/push Build is passing
2025-04-28 00:17:25 +04:00
raucao
646c95ecc2
Fix local/development RS auth URL
continuous-integration/drone/push Build is passing
2025-04-27 16:09:32 +04:00
raucao
fb054ae455
Add task for generating ctags
continuous-integration/drone/push Build is passing
2025-04-26 12:37:10 +04:00
raucao
536052e9bf
Merge pull request 'Upgrade strfry/deno, port strfry policies to @nostrify/policies' ( #214 ) from chore/upgrade_strfry_deno into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #214
2025-04-18 10:51:35 +00:00
raucao
b29a0abb0b
Document strfry integration
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 3s
2025-04-16 17:34:10 +04:00
raucao
29ff486683
Port strfry policies to @nostrify/policies
...
Use packages from JSR and adapt code for new policy APIs
2025-04-15 19:01:22 +04:00
raucao
e53b9dd186
Upgrade strfry docker image
...
Contains latest strfry (1.0.4) and deno (2.2.10)
2025-04-15 19:00:52 +04:00
raucao
a2921297fe
Fix seeds
...
The CreateAccount service has moved to a namespace
2025-04-11 16:14:44 +04:00
raucao
7df56479a4
Fix 500 when pubkey is nil
2025-01-02 08:30:58 -05:00
raucao
8aa3ca9e23
Merge pull request 'Let users upload their OpenPGP public key, and serve WKD response' ( #205 ) from feature/191-gpg_keys_wkd into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #205
Reviewed-by: galfert <garret.alfert@gmail.com >
2024-10-14 14:08:31 +00:00
raucao
3ad1d03785
Merge pull request 'Encrypt all system emails for users with PGP key' ( #207 ) from feature/encrypted_system_emails into feature/191-gpg_keys_wkd
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 4s
Reviewed-on: #207
Reviewed-by: galfert <garret.alfert@gmail.com >
2024-10-14 13:39:01 +00:00
raucao
e258a8bd27
Merge pull request 'Use ASCII format for nostrKey LDAP schema' ( #206 ) from chore/nostr_key_ldap_schema into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #206
Reviewed-by: galfert <garret.alfert@gmail.com >
2024-10-10 14:18:31 +00:00
raucao
339462f320
Refactor mailer options usage
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 5s
2024-10-08 14:06:10 +02:00
raucao
c4c2d16342
Encrypt outgoing emails when possible
2024-10-08 14:05:50 +02:00
raucao
3ee76e26ab
Re-import user's pubkey on access
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Sometimes, the pubkey might not be imported in the local keychain
(anymore), but at this point in the code it had been successfully
imported at least once before. So we just (re-)import every time for it
to never fail.
2024-10-08 11:34:18 +02:00
raucao
729e4fd566
Add WKD policy endpoint
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-09-26 23:11:21 +02:00
raucao
8ad6adbaeb
Use ASCII format for nostrKey LDAP schema
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Failing after 10m11s
No need for UTF-8
2024-09-25 18:35:48 +02:00
raucao
534e5a9d3c
Gracefully handle wrong capitalization of username
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-09-25 00:20:30 +02:00
raucao
1b72c97f42
Remove obsolete code
2024-09-25 00:17:30 +02:00
raucao
bfd8ca16a9
Merge branch 'master' into feature/191-gpg_keys_wkd
2024-09-25 00:16:39 +02:00