393f85e45c
WIP Add member/contributor status to users
continuous-integration/drone/push Build is passing
2025-05-27 13:32:58 +04:00
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
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
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
9e2210c45b
Store avatars as binary instead of base64
continuous-integration/drone/push Build is passing
2025-05-10 20:58:36 +04:00
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
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
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
3042a02a17
Allow users to update their OpenPGP pubkey
continuous-integration/drone/push Build is passing
2024-09-23 18:13:39 +02:00
90a8a70c15
Add OpenPGP key to LDAP directory and User model
continuous-integration/drone/push Build is passing
2024-09-23 15:20:00 +02:00
ef2a37e2bf
Sort user services in LDAP entry
...
Makes it predictable for programmatic comparisons (e.g. tests)
2024-09-04 13:05:36 +02:00
49d24990b4
Add zap model, user relation
2024-05-04 17:05:34 +02:00
5685e1b7bc
Move lndhub invoice creation to service
2024-04-16 20:19:15 +02:00
819ecf6ad8
Add #service_enabled?
method to user model
2024-04-04 13:28:09 +03:00
0367450c4b
Replace hyphen with underscore in Mastodon address
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Unfortunately, Mastodon only allows underscores for usernames, and
reversely, akkounts only allows hyphens and no underscores.
2024-03-29 09:08:15 +04:00
80e69df75c
Add global setting for default services, enable for preconfirmed accounts
...
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
Co-authored-by: Greg Karékinian <greg@karekinian.com>
2024-03-28 17:21:20 +04:00
5a3adba603
Move nostr pubkeys to LDAP attribute
...
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
closes #173
2024-03-17 11:04:11 +01:00
4217ba52e0
Switch service
LDAP attribute to serviceEnabled
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Improve internal naming on the way
2024-03-13 16:41:49 +01:00
179a82d2dd
Use keyword arguments for ApplicationService calls
...
Not all services are using keywords, which breaks those calls in Ruby 3
2024-02-02 15:50:25 +02:00
68c5758ecc
Update dependencies, upgrade to Rails 7.1, require Ruby 3.x
2024-02-02 14:25:47 +02:00
c32fc51aab
Do not enable email service by default
continuous-integration/drone/push Build is failing
2024-01-26 09:38:38 +03:00
84220beb1c
Merge pull request 'Add email service and settings' ( #154 ) from feature/email_service into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #154
Reviewed-by: galfert <garret.alfert@gmail.com>
2024-01-22 09:01:18 +00:00
b4f0c60ea0
Update nostr gem, switch to Ruby for bech32 encoding
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-01-15 12:54:58 +03:00
958d18d61a
Add email service and settings
2024-01-10 18:30:05 +03:00
Râu Cao
03a1d9f277
Allow existing user records with reserved usernames to be saved
continuous-integration/drone/push Build is running
2023-11-01 22:26:53 +01:00
Râu Cao
d5ab532947
Store and retrieve avatars in/from LDAP exclusively
...
continuous-integration/drone/push Build is failing
No need to keep them in two places at the same time. We can fetch them
from LDAP whenever we want to do something with them.
2023-09-06 20:42:26 +02:00
Râu Cao
50c63d5c38
Update user avatar in LDAP
2023-09-06 19:02:07 +02:00
Râu Cao
64d09cfb7f
Use variant declarations instead of custom methods
2023-09-06 12:38:47 +02:00
Râu Cao
def44618ef
Comments
continuous-integration/drone/push Build is passing
2023-09-06 12:16:00 +02:00
Râu Cao
9e5aeaf572
Add user avatars
2023-09-06 12:15:53 +02:00
Râu Cao
b7fa4b012a
Allow Mastodon address domain to be different from primary domain
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-13 12:27:05 +02:00
Râu Cao
138f13c1a0
Add note
continuous-integration/drone/push Build is passing
2023-08-07 18:16:40 +02:00
716d4b944a
Merge branch 'master' into feature/rs-oauth
...
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
# Conflicts:
# app/models/user.rb
# config/routes.rb
# db/schema.rb
2023-06-20 14:07:46 +02:00
Râu Cao
beaafa5d7e
Make nostr pubkey unique globally
2023-06-16 14:35:56 +02:00
Râu Cao
49de4007ab
Settings page for adding verified nostr pubkeys
2023-06-16 14:22:30 +02:00
Râu Cao
445cdfa024
Only validate display name when updated
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Otherwise we needlessly fetch the validated one from LDAP every time a
model is saved.
2023-05-27 20:11:01 +02:00
Râu Cao
f74227fedb
Allow users to set/update their display name in LDAP
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-05-27 19:59:49 +02:00
Râu Cao
7b321577db
Update LDAP mail attribute when re-confirming email
2023-05-25 16:55:27 +02:00
Râu Cao
cb2197893c
Merge branch 'master' into feature/default_chatrooms
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
2023-04-18 17:00:48 +02:00
Râu Cao
eeabbdb7df
Merge branch 'master' into feature/rs-oauth
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-04-13 15:02:51 +02:00
7a50bd23d6
Merge pull request 'Add user preferences and configurable notifications' ( #113 ) from feature/user_preferences into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #113
Reviewed-by: galfert <garret.alfert@gmail.com>
2023-04-11 21:04:46 +00:00
Râu Cao
ad90fcd539
Add specs for xmpp default bookmarks, refactor xmpp job usage
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-04-08 16:37:21 +02:00
Râu Cao
7a193d6647
Add comment
continuous-integration/drone/push Build is passing
2023-04-06 16:25:01 +02:00
Râu Cao
4e2e13108c
Refactor user preferences, add defaults from file
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Update release notes draft
* Turn prefs into a flat hash structure, since nesting is not worth the
trouble
* Add a custom serializer class for prefs
* Add a config file for defaults and merge set prefs with unset ones
* Use booleans for "true" and "false", and integers where appropriate
2023-04-05 17:02:35 +02:00
Râu Cao
595bb03c5a
Do not exchange XMPP contacts when turned off by inviter
continuous-integration/drone/push Build is running
2023-04-04 12:45:13 +02:00
Râu Cao
62cd0eb7d1
Re-rename "ejabberd" service to "xmpp"
...
Shouldn't matter which implementation is integrated if someone adds
another one
2023-04-04 12:29:39 +02:00
Râu Cao
23821f9e65
Add preferences to user model
2023-04-04 12:27:49 +02:00
c1f275463e
Merge pull request 'Add Redis, Sidekiq to Docker Compose setup' ( #110 ) from feature/docker-compose_sidekiq into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #110
Reviewed-by: galfert <garret.alfert@gmail.com>
2023-03-31 09:09:46 +00:00
324809f77e
Merge pull request 'Expire inactive sessions, optionally allow to stay signed in' ( #82 ) from feature/8-session_timeouts into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #82
Reviewed-by: galfert <garret.alfert@gmail.com>
2023-03-31 07:58:24 +00:00
Râu Cao
d2987da70a
Send Devise emails via Sidekiq
2023-03-28 12:22:17 +02:00