raucao
7c9a6a0ee0
0.12.0
CI / Test (push) Successful in 42s
2026-11-04 14:34:07 +04:00
raucao
71b44a0453
Merge pull request 'Hash remoteStorage access tokens at rest' ( #262 ) from feature/hashed_rs_access_tokens into master
...
CI / Test (push) Successful in 46s
Reviewed-on: #262
2026-11-04 09:49:56 +00:00
raucao
4bca003983
Hash remoteStorage access tokens at rest
...
Release Drafter / Update release notes draft (pull_request) Successful in 4s
CI / Test (pull_request) Successful in 45s
Store only SHA256(token) in a new token_digest column and use the digest for the Redis authorization keys instead of the plaintext token. The plaintext is now held in memory only for issuance.
This is the expand step: the plaintext token column stays in place so the old code can keep running during the deploy. A follow-up migration will drop it once rs:rekey_tokens has re-keyed Redis and confirmed no plaintext keys remain.
Refs #259
2026-11-04 09:33:57 +04:00
raucao
c7eb543ae6
Merge pull request 'Add PKCE support to remoteStorage OAuth' ( #256 ) from feature/rs_auth_pkce into master
...
CI / Test (push) Successful in 44s
Reviewed-on: #256
2026-11-03 16:42:40 +00:00
raucao
19b4dcfb46
Merge pull request 'Store per-device user agent for remoteStorage authorizations' ( #257 ) from feature/rs_device_tokens into feature/rs_auth_pkce
...
CI / Test (pull_request) Successful in 44s
Release Drafter / Update release notes draft (pull_request) Successful in 2s
Reviewed-on: #257
2026-11-03 16:39:10 +00:00
raucao
e6b7a55518
Merge pull request 'Storage dashboard: connected-app card and details modal' ( #258 ) from feature/rs_storage_dashboard into feature/rs_device_tokens
...
CI / Test (pull_request) Successful in 42s
Release Drafter / Update release notes draft (pull_request) Successful in 2s
Reviewed-on: #258
2026-11-03 16:37:22 +00:00
raucao
17bad40bf4
Show device timestamps in the reader's local time
...
CI / Test (pull_request) Successful in 48s
Release Drafter / Update release notes draft (pull_request) Successful in 3s
The exact issuance and expiry times in the device rows' hover titles were
rendered in UTC, which reads as wrong to anyone not living there.
- Mark the dates with a <time> element carrying the absolute (UTC) timestamp,
rather than a custom data attribute whose name claimed to hold local time
- Rewrite those titles in the browser's own zone, keeping the server's UTC
rendering as the fallback for when JavaScript is unavailable
- Only convert values that carry an explicit offset, so a date-only <time> is
not read as UTC midnight and shifted onto the previous day
- Give the revoke button a little more room from the device name and dates
Part of #254
2026-11-03 18:28:14 +04:00
raucao
faa7bf6146
Revoke device authorizations in place with Turbo Streams
...
Revoking a device redirected away from the storage dashboard, which closed the
details modal and reloaded the page. Refreshing the affected parts instead
keeps the modal open and shows the change where it happened.
- Extract the card and the modal's access list into their own components, so
either can be re-rendered without touching the modal's open state, and share
the group summaries between the components
- Derive the app's DOM ids from its client_id (the grouping key) and the device
row ids from the authorization, through one helper used by both the templates
and the controller
- Revoke one of several devices as a Turbo Stream: remove the row and refresh
the card behind the modal and the access list
- Revoke an app's last device with a redirect, so the dashboard re-renders
itself and grouping, sorting and the empty state stay in one place
- Fade the removed row out, deferring Turbo's own removal until the animation
has ended
Part of #254
2026-11-03 17:45:37 +04:00
raucao
614ead90a9
Distinguish tokens without a recorded device
...
Tokens issued before user agents were captured cannot be attributed to a
single device, and the per-app tokens issued earlier could even be reused
from several devices at once.
- Add RemoteStorageAuthorization#device_label, falling back to
"Unknown device(s)" so the card and the details modal share one source
- Show a lower-bound device count with a "+" whenever an app has such a
token, so it reads as "could be more" instead of claiming a number we
cannot support
- Drop the now-redundant device-name wrapper from the details modal
Part of #254
2026-11-03 16:55:05 +04:00
raucao
d94fda6d26
Polish the storage dashboard and details modal
...
CI / Test (pull_request) Successful in 44s
Visual refinement pass on the connected-apps dashboard introduced for #254 .
Card:
- Restructure into a header row (app icon, name, host, chevron) with the
device/category summary as a full-width footer, so the icon aligns with
the name and the metrics sit on a consistent baseline
- Always show the host alongside the app name, except when it is identical
- Render the icon fallback as a neutral rounded tile instead of a faint
watermark, and stop distorting real icons (object-contain)
- Summarise the union of the app's scopes, with monitor/folder icons
Details modal:
- Replace the duplicated blue buttons with a secondary Close and a primary
Launch app, split 50:50 on desktop like the consent dialog
- Tighten the header, section spacing and device rows; hide a redundant host
- Add exact date/time tooltips to the connected and expiry labels
- Align the scope-list folder icons with their labels
Misc:
- Use fewer near-identical grays across the cards and modal
- Drop the redundant top margin on the app grid
Part of #254
2026-11-03 14:36:39 +04:00
raucao
30e45d3d34
Address second-round review nits in the storage dashboard
...
CI / Test (pull_request) Successful in 43s
Show the union of the app's authorizations' scopes in the modal's Access
section too, so it matches the card's summary, and cover the union
summary with a feature spec.
Part of #254
2026-11-03 12:01:56 +04:00
raucao
27168dde06
Address review nits in the storage dashboard
...
- Move the app display name and a root-access helper onto
RemoteStorageAuthorization, used by both components and the controller,
removing the duplicated fallback chain and the unused OauthHelper includes
- Summarise the card's categories from the union of the app's authorizations'
scopes, so an older token with broader access is not understated
Part of #254
2026-11-03 12:00:40 +04:00
raucao
f2248ea744
Rework storage dashboard and fix authorization revocation
...
- One card per app (grouped by client_id) showing distinct device and
category counts; the whole card opens the details modal (with hover and
focus highlight) instead of a separate Details button
- Details modal: access list styled like the OAuth consent dialog via a
shared RsScopeListComponent, plus per-token device, connected date and
expiry, each with its own Revoke
- "folder" -> "category" in the card, modal, consent dialog and the
auth-created notification
- Make revoke a real DELETE: it was a GET link that Turbo 8's
prefetch-on-hover fired on its own, silently deleting authorizations.
Missing or foreign authorizations now return 404 instead of 500.
- Move "Launch app" to the app level
(GET /services/storage/apps/:client_id/launch); no token id in the URL
Part of #254
2026-11-03 12:00:39 +04:00
raucao
c4df1772e0
Determine device names with device_detector
...
Replace the hand-rolled user-agent regexes with the device_detector gem.
Its UA database recognises many more clients (and, e.g., GNOME Web when
its UA carries the Epiphany token). WebKit "Safari" user agents on Linux
(WebKitGTK, which GNOME Web sends) are labelled "WebKit on Linux", since
Safari never runs on Linux.
Part of #254
2026-11-03 12:00:39 +04:00
raucao
c1548035ec
Add storage dashboard card and per-app details modal
...
- Rework RsAuthComponent into a card that shows the app, its device, an
access summary and the permission status
- Group connected apps by app and device, so repeated authorizations for
the same app and device (e.g. after a browser update) are shown together,
each with its own revoke action
- Add RsAuthDetailsModalComponent with the full scope list, device,
connected tokens and permission expiry, plus Launch and Revoke actions
(built on the existing ModalComponent)
- Add RemoteStorageAuthorization#device_name (parsed from the user agent)
and #expired?
Part of #254
2026-11-03 12:00:38 +04:00
raucao
3dcd263d43
Store the remoteStorage user agent as text, not varchar(255)
...
CI / Test (pull_request) Successful in 41s
Real-world user agents (in-app browsers, Android WebView variants) commonly
exceed 255 characters. On PostgreSQL that would raise and 500 the consent
POST and token exchange; SQLite dev/test does not enforce the limit, so it
went unnoticed. Use text columns for user_agent on both tables.
Part of #254
2026-11-03 11:59:52 +04:00
raucao
eeb399ff83
Document the storage-first launch flow
...
Add an explicit spec for the storage-first handoff (remoteStorage spec
section 11): launching an app passes only `#remotestorage=<address>`,
never an access token. The app then runs the application-first
(now PKCE-capable) flow itself.
Part of #254
2026-11-03 11:59:51 +04:00
raucao
7c4bad860a
Store per-device user agent for remoteStorage authorizations
...
- Add user_agent to remote_storage_authorizations and rs_authorization_codes
- Capture the browser's user agent at consent, carry it on the authorization
code, and store it on the authorization when the code is exchanged
- Store it directly for the implicit flow too
With the reuse shortcut gone, each authorization is already a distinct
per-device token; this adds the metadata needed to label and display them.
Part of #254
2026-11-03 11:59:51 +04:00
raucao
cd2b4c9ba5
Address second-round review findings in the PKCE core
...
CI / Test (pull_request) Successful in 42s
- Enqueue the expiry job and the "app connected" notification on
after_commit instead of after_create, so they only fire once the (now
transactional) code exchange commits
- Enforce the PKCE code_challenge format (43-128 unreserved chars, S256)
with model validations, not only at the controller
- Drop the now-unused RsAuthorizationCode#expired?
- Cover the client_id-vs-stored-client_id check
Part of #254
2026-11-03 11:59:12 +04:00
raucao
295261b332
Address review findings in the PKCE flow
...
CI / Test (pull_request) Failing after 46s
- Make authorization-code redemption atomic: claim the code with a guarded
delete inside the transaction that creates the authorization, so concurrent
exchanges can't both issue a token (RFC 6749 4.1.3)
- Compare the token request's client_id host to the code's stored client_id
(defense-in-depth alongside the exact redirect_uri match)
- Reject unknown response_type values with unsupported_response_type
- Validate the PKCE code_challenge (43-128 unreserved chars, S256) so a client
can't persist an over-long or malformed challenge
- Return invalid_request for missing token-endpoint parameters, and set
Cache-Control: no-store on error responses too
- Use the right separator when the redirect_uri already has a query string
- Look codes up through the active scope; drop the unused consume!; serialize
permissions as JSON
- Purge abandoned authorization codes via a recurring Solid Queue task
Part of #254
2026-11-03 11:40:18 +04:00
raucao
1e69957777
Shorten the authorization code lifetime to 60 seconds
...
CI / Test (pull_request) Failing after 45s
The code is redeemed by the client immediately in the OAuth callback, so
a 60-second window is plenty (and matches common practice; RFC 6749 caps
authorization codes at 10 minutes).
Part of #254
2026-11-03 09:17:44 +04:00
raucao
8dd0bf10ce
Add PKCE support to remoteStorage OAuth
...
Implements the optional OAuth 2.0 Authorization Code grant with PKCE
(RFC 7636) for remoteStorage, as described in the remoteStorage spec
(section 10.1).
- Advertise the authorization and token endpoints plus the supported
code_challenge method (S256) in WebFinger, and bump the advertised
spec version to draft-dejong-remotestorage-27
- Add RsAuthorizationCode: a short-lived (5 min), single-use authorization
code stored only as a SHA256 digest
- Add RsOauthManager services for issuing and exchanging codes, including
S256 verification
- Add a cross-origin POST /rs/oauth/token endpoint that exchanges a code
(and code_verifier) for an access token, with CORS and no CSRF token
- Consent dialog now carries response_type / code_challenge through the
form and redirects with the code in the query string for the code flow
- Remove the existing-token reuse shortcut so every authorization results
in a distinct authorization (and token)
Part of #254
2026-11-03 09:17:43 +04:00
raucao
bf23931822
Merge pull request 'Isolate remoteStorage Redis specs from concurrent runs' ( #261 ) from fix/rs-redis-flake into master
...
CI / Test (push) Successful in 42s
Reviewed-on: #261
2026-11-03 05:13:12 +00:00
raucao
1ac5c7725a
Isolate remoteStorage Redis specs from concurrent runs
...
Release Drafter / Update release notes draft (pull_request) Successful in 3s
CI / Test (pull_request) Successful in 42s
The specs deleted a global authorizations:* pattern from the shared
test Redis DB, so concurrent test processes could wipe each other's
keys mid-example, causing intermittent empty/mismatched set failures.
Drop all global pattern deletes and the now-unused
redis_rs_delete_keys helper. Each spec now reads or asserts only the
exact key derived from its own random token, so runs can no longer
interfere regardless of ordering or concurrency.
Also fixes a vacuous assertion in the #destroy spec, which checked
authorizations:<user.address>:* (never matching the keys, which use
user.cn), to assert the exact key is gone.
2026-11-03 09:10:45 +04:00
raucao
dbf76b64b6
Merge pull request 'Docker Compose dev setup: Garage + automated bootstrap' ( #250 ) from chore/docker-compose-setup into master
...
CI / Test (push) Successful in 46s
Reviewed-on: #250
Reviewed-by: Greg <greg@kosmos.org >
2026-10-12 19:12:20 +00:00
raucao
8c395ce737
Pin platform for amd64-only Docker services
Release Drafter / Update release notes draft (pull_request) Successful in 10s
CI / Test (pull_request) Successful in 45s
2026-10-12 15:33:42 +02:00
raucao
2093f67a64
Merge pull request 'Allow remote access to dev services' ( #253 ) from dev/remote_access into chore/docker-compose-setup
...
CI / Test (pull_request) Successful in 45s
Reviewed-on: #253
2026-10-06 17:37:49 +00:00
raucao
695977172f
Fix Liquor Cabinet performance in dev
...
CI / Test (pull_request) Failing after 46s
Can't handle enough requests without ThreadPool, so once you hit the
limit, requests take 5s+ (having to wait for the keepalive timeout)
2026-10-06 19:36:26 +02:00
raucao
bc37df52a0
Allow remote access to dev services
CI / Test (pull_request) Successful in 46s
Release Drafter / Update release notes draft (pull_request) Successful in 19s
2026-10-06 19:34:24 +02:00
raucao
6279699c11
Switch dev object storage from MinIO to Garage
...
CI / Test (pull_request) Successful in 43s
MinIO no longer publishes prebuilt community images (quay.io returns
401, Docker Hub 404), so the dev setup cannot pull the image.
Use a single-node Garage instance instead, which auto-creates the
remotestorage bucket and a dev-key1 access key on first start, and
point liquor-cabinet at it.
2026-10-06 13:52:38 +00:00
raucao
0d9c580a0a
Automate first-run LDAP and database setup
...
The documented flow started web (with Solid Queue in Puma) before the
databases existed, and required manually creating the 389ds back-end
and seeding the LDAP directory and databases. Automate it:
- add an ldap-init one-shot service that creates the 389ds back-end if
it does not exist
- add a web entrypoint that seeds LDAP and the databases on first start,
and runs db:prepare on later boots
- update README and AGENTS accordingly, including the reset steps
2026-10-06 13:52:38 +00:00
raucao
49c2c9feea
Merge pull request 'Gate remoteStorage by serviceEnabled instead of Flipper' ( #251 ) from bugfix/remotestorage-service-enabled into master
...
CI / Test (push) Failing after 41s
Reviewed-on: #251
2026-10-06 13:52:17 +00:00
raucao
465563d6a6
Merge pull request 'Fix db seeds for Solid Queue' ( #249 ) from fix/seeds-active-job into master
...
CI / Test (push) Successful in 43s
Reviewed-on: #249
2026-10-06 13:38:20 +00:00
raucao
911d2a5855
Fix db seeds for Solid Queue
...
CI / Test (pull_request) Successful in 45s
Release Drafter / Update release notes draft (pull_request) Successful in 3s
db/seeds.rb still required "sidekiq/testing" and wrapped seeding in
Sidekiq::Testing.inline!, but Sidekiq is no longer in the bundle after
the Solid Queue migration, so `rails db:setup` failed with a LoadError.
Run the jobs triggered while seeding inline via Active Job instead,
restoring the previous behavior with the adapter the app actually uses.
2026-10-06 13:36:33 +00:00
raucao
d8bba02636
Merge pull request 'Stabilize flaky remoteStorage Redis spec' ( #252 ) from bugfix/rs-redis-spec-stabilization into master
...
CI / Test (push) Failing after 44s
Reviewed-on: #252
2026-10-06 13:36:20 +00:00
raucao
2419982ef5
Stabilize flaky remoteStorage Redis spec
...
CI / Test (pull_request) Successful in 42s
Release Drafter / Update release notes draft (pull_request) Successful in 2s
"stores a token in redis" asserted an exact count of Redis keys for the
user, but database cleanup only covers SQL and Redis keys accumulate
across examples and spec files. It also relied on a previously-run
example having created the authorization, so it failed depending on test
order and leftover state.
Clear the authorizations:* namespace before each example in the #create
group, create the authorization under test, and assert on its specific
token key instead of a global count.
2026-10-06 15:33:04 +02:00
raucao
8fae099c12
Gate remoteStorage by serviceEnabled instead of Flipper
...
Release Drafter / Update release notes draft (pull_request) Successful in 2s
CI / Test (pull_request) Successful in 2m4s
The admin "Default services" setting writes the LDAP serviceEnabled
attribute, but remoteStorage access was also gated behind an unused
per-user Flipper flag that nothing ever enabled, so remoteStorage was
inaccessible for everyone.
Gate remoteStorage on service_enabled? like the other services, and make
the admin toggle reflect the LDAP attribute (this also fixes it reading
current_user instead of the user being viewed). E-Mail keeps its Flipper
gate for now.
2026-10-06 15:10:00 +02:00
raucao
4536b6505c
0.11.1
CI / Test (push) Successful in 33s
2026-08-10 21:53:49 -06:00
raucao
8453c38f41
Merge pull request 'Fix avatars failing to be set on ejabberd accounts' ( #247 ) from bugfix/246-xmpp_avatar_publishing into master
...
CI / Test (push) Successful in 31s
Reviewed-on: #247
2026-08-11 03:37:28 +00:00
raucao
1957df3bbd
Fix avatars failing to be set on XMPP accounts
...
CI / Test (pull_request) Successful in 32s
Release Drafter / Update release notes draft (pull_request) Successful in 3s
There's a stray `end` that prematurely closes the class
2026-08-10 21:35:28 -06:00
raucao
d196c161df
Force-shutdown Puma if necessary
...
CI / Test (push) Successful in 31s
Do it before the systemd service's timeout is reached
2026-08-10 17:24:08 -06:00
raucao
44b5a0b36b
Merge pull request 'Upgrade Rails to 8.1' ( #245 ) from chore/upgrade_rails into master
...
CI / Test (push) Successful in 32s
Reviewed-on: #245
2026-08-10 23:11:28 +00:00
raucao
5ebf496096
Upgrade Rails to 8.1
CI / Test (pull_request) Successful in 1m4s
Release Drafter / Update release notes draft (pull_request) Successful in 2s
2026-08-10 17:02:37 -06:00
raucao
7a63c87b03
Fix deprecation warning
2026-08-10 17:02:20 -06:00
raucao
6cc35f07eb
Remove more obsolete Devise code
...
The initializer was a no-op override after our Devise upgrade
2026-08-10 17:01:36 -06:00
raucao
89423ecf84
Merge pull request 'Upgrade Devise to 5.0, remove obsolete workarounds' ( #244 ) from chore/upgrade_devise into master
...
CI / Test (push) Successful in 31s
Reviewed-on: #244
2026-08-10 22:40:47 +00:00
raucao
c79c421b89
Fix Devise Turbo Stream responses for flash messages
...
CI / Test (pull_request) Successful in 33s
Release Drafter / Update release notes draft (pull_request) Successful in 2s
Wire Users::DeviseController as Devise parent controller with the
Turbo-aware responder, so failed form submissions (login, password
reset) render correctly as HTML with 422 status instead of
unprocessable turbo-stream content that Turbo silently drops.
Also fixes a NameError in the responder (rendering_options ->
error_rendering_options) and removes the dead TurboController.
2026-08-10 16:37:01 -06:00
raucao
8a8d407bcc
Add missing whitespace between Devise (sign-in) errors and forms
CI / Test (pull_request) Successful in 32s
2026-08-10 15:17:43 -06:00
raucao
045df94c29
Upgrade Devise to 5.0, remove workarounds
CI / Test (pull_request) Successful in 52s
2026-08-10 15:15:27 -06:00
raucao
0c667795a7
0.11.0
CI / Test (push) Successful in 33s
2026-08-10 14:43:42 -06:00
greg
3517303d37
Merge pull request 'Fix after-sign-in redirect issues' ( #243 ) from bugfix/after-signin_redirects into master
...
CI / Test (push) Successful in 32s
Reviewed-on: #243
Reviewed-by: Greg <greg@kosmos.org >
2026-08-10 17:43:39 +00:00
raucao
89184cd851
Redirect to root after password reset
CI / Test (pull_request) Successful in 32s
Release Drafter / Update release notes draft (pull_request) Successful in 2s
2026-08-10 11:22:03 -06:00
raucao
29a9dee1cb
Consume user_return_to on sign-in
2026-08-10 11:21:59 -06:00
raucao
a62d84e20a
Validate rs/oauth redirect_uri before storing return URL
2026-08-10 11:21:33 -06:00
raucao
7a892fad4e
Add AGENTS.md
CI / Test (push) Successful in 32s
2026-08-10 11:01:21 -06:00
raucao
d60d211765
Merge pull request 'Admin users page: filter by username' ( #242 ) from feature/admin_user_search into master
...
CI / Test (push) Successful in 34s
Reviewed-on: #242
2026-08-10 16:40:32 +00:00
raucao
d58c995230
Admin users page: filter by username
...
CI / Test (pull_request) Successful in 33s
Release Drafter / Update release notes draft (pull_request) Successful in 2s
Allow admins to filter the user list/index by username (partial matches
allowed)
2026-08-10 10:36:05 -06:00
raucao
9c143bc8d6
Merge pull request 'Switch from Yarn to Bun; use Ruby 3.3.12' ( #241 ) from dev/yarn_to_bun into master
...
CI / Test (push) Successful in 33s
Reviewed-on: #241
2026-08-10 00:50:19 +00:00
raucao
0d476c8a8b
Re-add Node.js for CI actions
CI / Test (pull_request) Successful in 34s
Release Drafter / Update release notes draft (pull_request) Successful in 3s
2026-08-09 18:24:28 -06:00
raucao
31341fb4ce
Upgrade Ruby to 3.3.12 everywhere
CI / Test (pull_request) Failing after 2s
2026-08-09 18:13:31 -06:00
raucao
39d9f9b312
Migrate everything from Yarn to Bun
...
No node.js or npm necessary anymore
2026-08-09 18:13:26 -06:00
raucao
8a6e733316
Merge pull request 'Show links for log-in, ToS, and Privacy Policy when logged out' ( #240 ) from chore/login_links into master
...
CI / Test (push) Successful in 44s
Reviewed-on: #240
2026-08-09 20:13:39 +00:00
raucao
9f25b23e2e
Show ToS and Privacy Policy links when logged out
CI / Test (pull_request) Successful in 41s
Release Drafter / Update release notes draft (pull_request) Successful in 2s
2026-08-09 14:10:25 -06:00
raucao
6a32dd5ee9
Show log-in link in header when logged out
...
Except on the login page itself
2026-08-09 14:10:00 -06:00
raucao
b93ddd9dbd
Merge pull request 'Add additional styles for rich text' ( #239 ) from feature/rich-text into master
...
CI / Test (push) Successful in 41s
Reviewed-on: #239
2026-08-09 19:05:33 +00:00
raucao
7e7892df7a
Fail CI if CSS wasn't built for any reason
CI / Test (pull_request) Successful in 40s
Release Drafter / Update release notes draft (pull_request) Successful in 2s
2026-08-09 13:03:02 -06:00
raucao
aff9e534c4
Upgrade Tailwind CSS
2026-08-09 13:02:27 -06:00
raucao
5f6269204b
Add auth token config for Release Drafter
2026-08-09 11:54:35 -06:00
raucao
b44b689caf
Additional styles for rich text
...
CI / Test (pull_request) Failing after 40s
Especially for editable content
2026-08-09 11:42:41 -06:00
greg
55df8a9c31
Merge pull request 'Migrate from Drone CI to Gitea Actions' ( #238 ) from dev/gitea_actions into master
...
CI / Test (push) Successful in 39s
Reviewed-on: #238
Reviewed-by: Greg <greg@kosmos.org >
2026-08-08 19:52:03 +00:00
raucao
da69cb4ad0
Cache gems in CI
CI / Test (pull_request) Successful in 41s
Release Drafter / Update release notes draft (pull_request) Failing after 2s
2026-08-08 08:36:39 -06:00
raucao
139d543e4f
Remove bun from script
CI / Test (pull_request) Successful in 2m11s
2026-08-08 08:15:24 -06:00
raucao
744cc7d7dd
Migrate from Drone CI to Gitea Actions
CI / Test (pull_request) Failing after 2m14s
2026-08-08 08:08:57 -06:00
raucao
8f1fadc74a
Point tailwind command at module executable
continuous-integration/drone/push Build is failing
2026-08-07 12:38:09 -06:00
raucao
e7527a1def
Merge pull request 'Allow anyone to publish NIP-46 events' ( #236 ) from feature/nostr_allow_public_bunker_events into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #236
2026-08-07 18:29:42 +00:00
raucao
0d248ead04
Allow anyone to publish NIP-46 events
...
Release Drafter / Update release notes draft (pull_request) Failing after 3s
This turns our relay into a public remote-sign-in relay
2026-08-07 11:03:31 -06:00
raucao
3bd07472b2
Fix pages views when signed out
continuous-integration/drone Build is passing
continuous-integration/drone/push Build is passing
2025-06-12 16:09:42 +04:00
raucao
32b1c2748a
Fix wrong variable
continuous-integration/drone/push Build is passing
2025-05-30 20:22:04 +04:00
raucao
fc6cac8368
Remove superfluous link
...
continuous-integration/drone/push Build is passing
Already linked in the same paragraph
2025-05-30 16:53:05 +04:00
greg
eefdc88a47
Merge pull request 'Editable content' ( #229 ) from feature/186-content_editing into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #229
Reviewed-by: Greg <greg@noreply.kosmos.org >
2025-05-30 11:14:50 +00:00
raucao
f2e8ca790c
Add Privacy and ToS pages, footer menu
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 3s
2025-05-30 13:27:15 +04:00
raucao
32cd4d896d
Fix link color for Devise links
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-05-29 17:26:18 +04:00
raucao
67c450860a
Fix tab links
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-05-29 16:24:33 +04:00
raucao
f1d9cf1e3d
Remove special link class
...
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
This cleans up the code quite a bit, but also allows links in editable
content to be rendered with the default style.
2025-05-29 16:10:34 +04:00
raucao
ab1490f472
Remove Kosmos name from wording
...
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
refs #222
2025-05-29 14:24:43 +04:00
raucao
6014134396
Finish MVP for content editing
2025-05-29 14:18:14 +04:00
raucao
6713665a61
WIP Rename "projects" page, make content editable
continuous-integration/drone/push Build is failing
2025-05-28 18:42:10 +04:00
raucao
315cf4dd9f
Add editable content helpers
2025-05-28 18:41:53 +04:00
raucao
2f86b3c16f
Add admin/editable_contents controller
2025-05-28 18:40:54 +04:00
raucao
55c63be9e2
Memoize instance variable
2025-05-28 18:39:48 +04:00
raucao
5c8ffc2630
Add editable contents table
2025-05-28 18:39:25 +04:00
raucao
c7a21c7a69
Add top margin to h3 within content
2025-05-28 18:37:59 +04:00
raucao
252b0f1792
Revert "Add ActionText configs, update spec helpers/configs"
...
This reverts commit c9d23f829d .
2025-05-28 16:53:31 +04:00
raucao
57246ea76d
Fix navbar current link
2025-05-28 15:35:57 +04:00
raucao
c9d23f829d
Add ActionText configs, update spec helpers/configs
2025-05-28 14:52:31 +04:00
raucao
55111f1b8b
Allow using icons without custom class
continuous-integration/drone/push Build is passing
2025-05-28 14:50:59 +04:00
raucao
4c6e64095f
Fix unused invitations count
continuous-integration/drone/push Build is failing
2025-05-28 14:28:59 +04:00
raucao
450ccff65b
Add custom class to all remaining icons
continuous-integration/drone/push Build is failing
2025-05-28 13:57:01 +04:00
greg
0778f29a8e
Merge pull request 'Refactor ejabberd API integration' ( #226 ) from core/refactor_ejabberd_integration into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #226
Reviewed-by: Greg <greg@noreply.kosmos.org >
2025-05-28 09:22:39 +00:00
greg
3dbde86cdf
Merge pull request 'Introduce membership statuses' ( #227 ) from feature/contributor_status into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #227
Reviewed-by: Greg <greg@noreply.kosmos.org >
2025-05-28 09:16:02 +00:00
raucao
0dcfefd66c
Merge pull request 'Improve admin pages for invitations' ( #228 ) from feature/admin_invitations into feature/contributor_status
...
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push 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/pr Build is passing
continuous-integration/drone/push 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/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 2s
continuous-integration/drone/push Build is passing
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
greg
308cac5a39
Merge pull request 'Add Mastodon API client, service for syncing avatars and display names' ( #225 ) from feature/mastodon_api into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #225
Reviewed-by: Greg <greg@noreply.kosmos.org >
2025-05-23 08:48:15 +00: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
Release Drafter / Update release notes draft (pull_request) Successful in 2s
continuous-integration/drone/pr Build is passing
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/pr Build is passing
continuous-integration/drone/push Build is passing
2025-05-14 15:39:50 +04:00
raucao
417e346074
Do not use ActiveStorage variants, process original avatar
...
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push 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/pr Build is passing
continuous-integration/drone/push 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
greg
ae5d63c613
Merge pull request 'Move remaining credentials from Rails credentials store to ENV' ( #221 ) from chore/215-configs into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #221
Reviewed-by: Greg <greg@noreply.kosmos.org >
2025-05-06 17:16:32 +00:00
raucao
93aa26f430
Remove lockbox column
continuous-integration/drone/push Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 2s
continuous-integration/drone/pr Build is passing
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/pr Build is passing
continuous-integration/drone/push 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/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 2s
continuous-integration/drone/push Build is passing
* 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
...
Release Drafter / Update release notes draft (pull_request) Successful in 3s
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
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
greg
b61906059c
Merge pull request 'Upgrade Rails to 8.0' ( #216 ) from chore/upgrade_rails into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #216
Reviewed-by: Greg <greg@noreply.kosmos.org >
2025-04-30 08:36:16 +00: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
Release Drafter / Update release notes draft (pull_request) Successful in 5s
continuous-integration/drone/pr Build is passing
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/pr Build is passing
continuous-integration/drone/push 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/pr Build is passing
continuous-integration/drone/push 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
raucao
64de4deddd
Fix serviceEnabled indicator on admin page
continuous-integration/drone/push Build is passing
2024-09-24 21:38:01 +02:00
raucao
9f6fa6deba
Remove example link
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Until we have a live example on kosmos.org
2024-09-23 20:36:05 +02:00
raucao
37b106e73c
Whitespace
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-09-23 19:22:52 +02:00
raucao
c3f1f97e1a
Add display name and PGP key to admin user page
...
Link the key to the ASCII Armor WKD endpoint, if it contains the user's
account address
2024-09-23 19:21:59 +02:00
raucao
4a677178e8
Add Web Key Directory endpoint
...
Serve public keys in binary and armored text, if they contain a user's
account address.
2024-09-23 19:20:10 +02:00
raucao
3042a02a17
Allow users to update their OpenPGP pubkey
continuous-integration/drone/push Build is passing
2024-09-23 18:13:39 +02:00
raucao
118fddb497
Document URLs for settings controller actions
...
No need to read the route sources all the time
2024-09-23 16:07:02 +02:00
raucao
ba683a7b95
Move some Rails app services to UserManager namespace
continuous-integration/drone/push Build is passing
2024-09-23 16:03:02 +02:00
raucao
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
raucao
8f7994d82e
0.10.0
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2024-09-18 15:49:07 +02:00
raucao
a7d0e71ab6
Fix spec
continuous-integration/drone/push Build is passing
2024-09-18 14:46:46 +02:00
raucao
27d9f73c61
Set host for RS auth url
...
continuous-integration/drone/push Build is failing
With X-Forwarded-Host set on the proxied request, Rails uses that host
for URLs. But we need it to be the accounts domain.
2024-09-14 17:17:09 +02:00
raucao
ed3de8b16f
Allow CORS for all LNURL endpoints
continuous-integration/drone/push Build is passing
2024-09-14 16:46:14 +02:00
raucao
d7b4c67953
Fix config when set to empty string
continuous-integration/drone/push Build is passing
2024-09-14 16:40:22 +02:00
greg
7489d4a32f
Merge pull request 'Add config for separate primary domain Nostr pubkey' ( #204 ) from feature/nostr_pubkey_primary_domain into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #204
Reviewed-by: Greg <greg@noreply.kosmos.org >
2024-09-13 12:33:11 +00:00
raucao
ac77e5b7c1
Allow ENV var for new setting
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-09-11 16:31:04 +02:00
raucao
e544c28105
Config for separate primary domain Nostr pubkey
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Allow to configure a separate key for the NIP-05 address of the primary
domain vs the accounts domain.
2024-09-11 16:28:12 +02:00
raucao
4909dac5c2
Fix typo
...
continuous-integration/drone/push Build is passing
The return value of `strip!` is `nil`
2024-09-11 16:26:48 +02:00
raucao
3cf4348695
Merge pull request 'Make default user services configurable by admins' ( #203 ) from feature/default_service_settings into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #203
Reviewed-by: galfert <garret.alfert@gmail.com >
2024-09-11 11:21:38 +00:00
raucao
af3da0a26c
Set CORS headers for all .well-known responses
...
continuous-integration/drone/push Build is passing
So we don't have to consider it for reverse proxies etc.
2024-09-10 16:06:11 +02:00
raucao
2d32320c7d
Style check boxes
continuous-integration/drone/push Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 5s
continuous-integration/drone/pr Build is passing
2024-09-05 11:24:38 +02:00
raucao
fc2bec6246
Make default user services configurable by admin
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-09-05 11:11:32 +02:00
raucao
5addd25186
Add service details config, use for known services
2024-09-05 11:10:54 +02:00
raucao
215d178e69
Remove empty spec files
2024-09-05 11:10:10 +02:00
raucao
5474bf66e7
Turn default services into a configurable setting
...
With the default value being all enabled services
2024-09-04 13:06:32 +02:00
raucao
ef2a37e2bf
Sort user services in LDAP entry
...
Makes it predictable for programmatic comparisons (e.g. tests)
2024-09-04 13:05:36 +02:00
raucao
0e3180602c
Rename "xmpp" user service back to "ejabberd"
...
If we ever add support for others, we can combine them as "xmpp" in
helper methods
2024-09-04 13:03:45 +02:00
raucao
15e2f9b962
Remove "in development" note
continuous-integration/drone/push Build is passing
2024-08-28 14:55:34 +02:00
raucao
4ae10c9b53
Refactor settings model
...
continuous-integration/drone/push Build is passing
Move the various sections to their own concerns, so they're easier to
find and maintain
2024-08-28 14:39:08 +02:00
raucao
45137e0cfe
Merge pull request 'Fix Ruby issue on Apple silicon (without compiling a patched Ruby)' ( #201 ) from chore/update_docker_image into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #201
Reviewed-by: galfert <garret.alfert@gmail.com >
2024-08-28 08:12:31 +00:00
raucao
717fe93104
Fix spec
continuous-integration/drone/push Build is passing
2024-08-22 14:07:54 +02:00
raucao
fdac789ccb
Add compatibility section to RS service page
continuous-integration/drone/push Build is failing
2024-08-19 15:13:19 +02:00
raucao
9355dab6b6
Enable RS service for all new users for now
continuous-integration/drone/push Build is failing
2024-08-19 14:48:24 +02:00
raucao
f3676949d2
Fix redirect
continuous-integration/drone/push Build is passing
2024-08-17 14:49:19 +02:00
raucao
79952b73c5
Fix link descriptions
continuous-integration/drone/push Build is passing
2024-08-17 14:45:31 +02:00
greg
17c419403e
Merge pull request 'Finish MVP of remoteStorage service pages/UI' ( #202 ) from feature/rs_service_page into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #202
Reviewed-by: Greg <greg@noreply.kosmos.org >
2024-08-17 12:33:48 +00:00
raucao
6d06312a5c
Update manifique gem
...
continuous-integration/drone/push Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 6s
continuous-integration/drone/pr Build is passing
Fixes a bug with some manifest files
2024-08-14 18:07:27 +02:00
raucao
acb399b0b7
Add app recommendation for Notes Together
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is passing
2024-08-14 16:32:06 +02:00
raucao
bf20b6467e
Re-order services on dashboard
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-08-14 13:37:22 +02:00
raucao
b91d90d75c
Fix some specs, improve config
...
Allow empty string to unset nostr relay URL config
2024-08-14 13:37:15 +02:00
raucao
3284bbf6ca
Add recommended apps for RS
2024-08-14 13:35:49 +02:00
raucao
171b84ee81
Add tabnav, dedicated auths view to RS service page
...
Includes a nicer view and illustration for when no auths exist yet
2024-08-14 13:35:02 +02:00
raucao
54b01dd282
Drive-by content update
2024-08-12 11:14:12 +02:00
raucao
e08ea64f47
Update Docker base image
...
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 5s
continuous-integration/drone/push Build is passing
Fixes the bug with Ruby on Apple silicon
2024-08-12 10:34:02 +02:00
raucao
8cc2c9554f
Revert "Fix Ruby in Docker container on Apple silicon"
...
This reverts commit bbf3fb91a0 .
2024-08-12 10:15:18 +02:00
raucao
32dff9c67f
Merge pull request 'Add dashboard icons for remoteStorage and email' ( #200 ) from chore/dashboard_service_icons into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #200
2024-08-12 07:03:22 +00:00
raucao
126b8b20e0
Improve dashboard icon opacity, layout
continuous-integration/drone Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 5s
2024-08-10 12:44:49 +02:00
raucao
5abf69f356
Add email service icon to dashboard
2024-08-10 12:44:25 +02:00
raucao
210a69bd9b
Add Geary app recommendation to email page
2024-08-09 14:19:49 +02:00
raucao
bbed3cd367
Add RS logo to service grid, resize others
2024-08-09 12:37:18 +02:00
raucao
7943da0f17
Add note
2024-08-09 12:34:10 +02:00
raucao
620167eedf
Merge pull request 'Admin pages: fix more user links, add missing services to user page' ( #199 ) from feature/admin_pages into master
...
Reviewed-on: #199
2024-08-09 10:33:29 +00:00
raucao
e077debfc2
Use npub for njump link
2024-06-23 17:30:03 +02:00
raucao
531b2c3002
Fix more links
2024-06-23 17:29:48 +02:00
raucao
6d2bc729b8
Add new services to admin user page
2024-06-23 17:26:33 +02:00
raucao
2630ec2af4
Fix admin user links
...
refs #166
2024-06-23 17:24:48 +02:00
raucao
daed5c1eea
Merge pull request 'Allow non-members to publish zap receipts for members' ( #197 ) from feature/strfry_zap_receipts into master
...
Reviewed-on: #197
Reviewed-by: bumi <bumi@noreply.kosmos.org >
2024-06-22 17:52:03 +00:00
raucao
2e9429bb32
Merge pull request 'Add support for integrated Nostr relay service' ( #198 ) from feature/own_relay into feature/strfry_zap_receipts
...
Reviewed-on: #198
Reviewed-by: bumi <bumi@noreply.kosmos.org >
2024-06-22 17:51:40 +00:00
raucao
37c15c7a62
Check in deno lockfile
2024-06-20 15:51:40 +02:00
raucao
01ecea74ff
Add pubkey whitelist to strfry policy
...
And allow the local akkounts instance to publish on the local relay
2024-06-20 15:28:17 +02:00
raucao
f401a03590
Fix exception for NIP-05 JSON of "_" with relay configured
2024-06-20 14:50:02 +02:00
raucao
fff6dea100
Add support for placeholder attribute to component
2024-06-20 13:54:59 +02:00
raucao
48ab96dda9
Support "_" placeholder username for domain's own NIP-05
2024-06-19 20:57:22 +02:00
raucao
7ac3130c18
Consistent formatting
2024-06-19 20:31:31 +02:00
raucao
cbfa148051
Publish zap receipts to own relay in addition to requested ones
2024-06-19 20:26:24 +02:00
raucao
87d900b627
Add own relay to NIP-05 relay list if configured
2024-06-19 20:06:07 +02:00
raucao
926dc06294
Add global setting for own nostr relay
2024-06-19 19:57:09 +02:00
raucao
00b73b06d7
Remove obsolete variable
2024-06-19 15:56:45 +02:00
raucao
0daac33915
Allow non-members to publish zap receipts for members
2024-06-19 15:43:56 +02:00
raucao
0e472bc311
Improve strfry extras usage
2024-06-19 15:43:24 +02:00
raucao
40b34d0935
Merge pull request 'Add strfry policies and members-only LDAP policy' ( #196 ) from feature/strfry_policies into master
...
Reviewed-on: #196
2024-06-11 20:10:34 +00:00
raucao
61cb8f4941
Add script for syncing notes from remote relays
2024-06-11 22:06:51 +02:00
raucao
433ac4dc8e
Use new strfry Docker image
2024-06-11 22:06:12 +02:00
raucao
62fe0d8fac
Add nostrKey to default org service ACI
2024-06-11 22:05:07 +02:00
raucao
2a675fd135
Hand LDAP config to policy from main policy file
...
Deployments will differ in production. The policy itself just needs the
configs, but should not care where credentials are fetched from.
2024-06-09 23:15:56 +02:00
raucao
c2c3ebc2e1
Add strfry policies and members-only LDAP policy
...
This will look up nostr pubkeys in the LDAP directory to allow or deny
publishing notes to the relay.
2024-06-09 22:49:44 +02:00
raucao
5a5c316c14
Fix time format in migration
2024-06-09 13:29:39 +02:00
raucao
f0d5457ec1
Merge pull request 'Zap model improvements' ( #195 ) from chore/zap_model_improvements into master
...
Reviewed-on: #195
Reviewed-by: bumi <bumi@noreply.kosmos.org >
2024-06-09 11:16:34 +00:00
raucao
5588e3b3e8
Add settled_at to zaps, scope by settlement status
2024-06-07 15:11:06 +02:00
raucao
8949d76d26
Fix zap receipt not being stored correctly
...
fixes #194
2024-06-07 13:40:49 +02:00
raucao
8bc9bbdc33
Merge pull request 'Add new Lightning notification settings' ( #193 ) from feature/ln_notification_settings into master
...
Reviewed-on: #193
Reviewed-by: bumi <bumi@noreply.kosmos.org >
2024-06-04 10:39:07 +00:00
raucao
d6d09b57b8
Merge pull request 'Add support for Lightning Zaps' ( #190 ) from feature/170-nostr_zaps into master
...
Reviewed-on: #190
2024-06-03 16:44:48 +00:00
raucao
1685d6ecf8
Respect new Lightning notification settings
2024-06-01 17:51:20 +02:00
raucao
5348a229a6
WIP Add new lightning notification settings
2024-05-29 15:12:07 +01:00
raucao
bad3b7a2be
Use dynamic list for allowed user preference params
2024-05-23 00:23:42 +02:00
raucao
b541e95bb7
Change default for lightning notifications
2024-05-23 00:22:38 +02:00
raucao
3f43fe8101
Fix missing description for FieldsetToggleComponent
2024-05-23 00:01:25 +02:00
raucao
231dfc8404
Log correct publish status
2024-05-21 18:28:46 +02:00
raucao
eeb9b0a331
Improve NostrManager::PublishEvent
...
* Use URI hostname as relay name
* Log relay name/URL for every websocket event
* Fix variable assignment for nostr event
* Fix Sidekiq job finishing too early, by creating a new thread waiting
for it to be closed from a callback
2024-05-21 18:08:14 +02:00
raucao
08e783d185
Remove default nil values
2024-05-19 17:07:27 +02:00
raucao
fa5dc8ca46
Fix argument name
2024-05-19 16:54:51 +02:00
raucao
bc34e9c5e0
Allow CORS requests for lnurlp invoice
2024-05-19 16:48:09 +02:00
raucao
f388bd0237
Merge branch 'master' into feature/170-nostr_zaps
2024-05-10 12:01:27 +00:00
raucao
48041630ca
Limit number of relays to publish zap receipts to
2024-05-10 13:57:25 +02:00
raucao
2d1ff29eca
Improve nostr settings, fix allowsNostr property name
2024-05-10 13:19:09 +02:00
raucao
46fa42e387
Merge pull request 'Refactor Nostr auth, add login via Nostr (web extension)' ( #188 ) from feature/nostr_login into master
...
Reviewed-on: #188
Reviewed-by: bumi <bumi@noreply.kosmos.org >
2024-05-10 11:01:00 +00:00
raucao
c6c5d80fb4
WIP Persist zaps, create and send zap receipts
2024-05-09 14:31:37 +02:00
raucao
c0f4e7925e
Use zap comment for description/memo
...
But use the hashed zap request event for the description hash.
2024-05-04 17:07:23 +02:00
raucao
49d24990b4
Add zap model, user relation
2024-05-04 17:05:34 +02:00
raucao
619bd954b7
WIP
2024-04-21 10:51:41 +02:00
raucao
e27c64b5f1
WIP Check for zaps, send zap receipt on incoming zap tx
2024-04-21 10:35:30 +02:00
raucao
b36baf26eb
Refactor WebhooksController
2024-04-21 10:02:17 +02:00
raucao
adedaa5f7b
Add task for easily creating test invoices
2024-04-21 10:01:54 +02:00
raucao
596ed7fccc
Use lndhub.go v2 endpoint for invoice creation
2024-04-21 10:01:18 +02:00
raucao
5685e1b7bc
Move lndhub invoice creation to service
2024-04-16 20:19:15 +02:00
raucao
c3b82fc2a9
WIP Verify and respond to zap requests
2024-04-16 19:13:10 +02:00
raucao
77e2fe5792
Add helper method for parsing nostr event tags
2024-04-16 19:10:48 +02:00
raucao
bc43082839
Add admin settings for nostr keys
2024-04-16 19:07:52 +02:00
raucao
b09225543b
Add Nostr relay service to Docker Compose config
2024-04-15 14:03:37 +02:00
raucao
f2507409a3
Announce nostr pubkey on lnurlp endpoint
2024-04-15 14:03:37 +02:00
raucao
46b4723999
Add global settings for account service's Nostr keys
2024-04-15 14:03:37 +02:00
raucao
3f90a011c4
Document URLs
2024-04-15 14:03:37 +02:00
raucao
3ba333e802
Indentation
2024-04-15 14:03:37 +02:00
raucao
d9dff3e872
Merge branch 'master' into feature/nostr_login
2024-04-15 12:03:12 +00:00
raucao
6ddeacb779
Merge pull request 'Add Mastodon aliases and links to Webfinger when enabled' ( #189 ) from feature/mastodon_webfinger into master
...
Reviewed-on: #189
Reviewed-by: galfert <garret.alfert@gmail.com >
2024-04-14 10:18:15 +00:00
raucao
78aff3d796
Fix spec
...
The test env has Mastodon enabled now
2024-04-04 17:22:57 +03:00
raucao
8f600f44bd
Add Mastodon aliases and links to Webfinger when enabled
...
Also requires "remotestorage" service to be enabled via attribute
2024-04-04 17:17:57 +03:00
raucao
819ecf6ad8
Add #service_enabled? method to user model
2024-04-04 13:28:09 +03:00
raucao
945eaba5e1
Add login via nostr (web extension)
2024-04-01 19:04:48 +03:00
raucao
22d362e1a0
Refactor Nostr settings/connect
...
* Use NIP-42 auth event instead of short text note
* Verify event ID and signature using the nostr gem instead of custom code
2024-04-01 18:27:08 +03:00
raucao
d4e67a830c
Update nostr gem
2024-04-01 18:27:08 +03:00
raucao
670b2da1ef
Ad-hoc content update
...
Before #186 is implemented
2024-03-29 10:33:28 +04:00
raucao
ed5c5b3081
Add remotestorage queue to Sidekiq config
2024-03-29 09:47:30 +04:00
raucao
4ee6bfddfa
Merge pull request 'Improvements/adjustments for Mastodon integration' ( #185 ) from chore/mastodon into master
...
Reviewed-on: #185
2024-03-29 05:24:10 +00:00
raucao
8b60890061
Add Phanpy to recommended Mastodon apps
...
It's too good not to.
2024-03-29 09:21:17 +04:00
raucao
0367450c4b
Replace hyphen with underscore in Mastodon address
...
Unfortunately, Mastodon only allows underscores for usernames, and
reversely, akkounts only allows hyphens and no underscores.
2024-03-29 09:08:15 +04:00
raucao
e6f5623c7f
Enable Mastodon service by default (for now)
2024-03-29 09:06:41 +04:00
raucao
367f566ccb
Merge pull request 'Add global setting for default services, enable for preconfirmed accounts' ( #184 ) from feature/preconfirmed_accounts into master
...
Reviewed-on: #184
2024-03-28 13:23:22 +00:00
raucao and greg
80e69df75c
Add global setting for default services, enable for preconfirmed accounts
...
Co-authored-by: Greg Karékinian <greg@karekinian.com >
2024-03-28 17:21:20 +04:00
raucao
02af69b055
Add missing env var to example config
2024-03-28 10:56:42 +04:00
raucao
5d459e7e7d
Fix LDAP attribute name
2024-03-19 18:18:06 +01:00
raucao
51a3cb60ec
Merge pull request 'Add custom LDAP attributes to schema' ( #181 ) from feature/custom_ldap_attributes into master
...
Reviewed-on: #181
Reviewed-by: greg <greg@noreply.kosmos.org >
2024-03-19 14:46:44 +00:00
raucao
43c57c128f
Merge pull request 'Move nostr pubkeys to LDAP attribute' ( #183 ) from feature/173-nostr_ldap into feature/custom_ldap_attributes
...
Reviewed-on: #183
Reviewed-by: greg <greg@noreply.kosmos.org >
2024-03-19 14:43:02 +00:00
raucao
5a3adba603
Move nostr pubkeys to LDAP attribute
...
closes #173
2024-03-17 11:04:11 +01:00
raucao
3715cb518b
User Settings: Rename Experiments to Nostr
...
And use a nostr icon
2024-03-16 16:03:15 +01:00
raucao
2c9ecc1fef
Add nostr icons
2024-03-16 16:03:00 +01:00
raucao
095747e89b
Fix broken admin links
2024-03-13 18:19:25 +01:00
raucao
2130369604
Update db schema
2024-03-13 18:15:42 +01:00
raucao
c996351930
Fix PostgreSQL query issue
2024-03-13 18:13:17 +01:00
raucao
8b897168cc
Merge pull request 'Let users donate sats via BTCPay Server' ( #176 ) from feature/donations_btcpay into master
...
Reviewed-on: #176
Reviewed-by: galfert <garret.alfert@gmail.com >
2024-03-13 16:31:54 +00:00
raucao
4217ba52e0
Switch service LDAP attribute to serviceEnabled
...
Improve internal naming on the way
2024-03-13 16:41:49 +01:00
raucao
de20931d30
Add tasks for modifying schema, first custom attributes
...
refs #172 , #173
2024-03-13 14:30:03 +01:00
raucao
8de0a2e26e
Improve seed output
2024-03-13 14:28:31 +01:00
raucao
06521d1c34
LDAP: add delete_all_users method, use in seeds
2024-03-13 14:27:39 +01:00
raucao
38b3d68fd5
LDAP: Rename client method, add modify method
2024-03-13 14:26:44 +01:00
raucao
eac8fa6edb
0.9.0
2024-03-07 14:48:27 +01:00
raucao
43f918a074
Update liquor-cabinet image, fix LC/redis networking issue on Linux
2024-03-06 22:07:35 +01:00
raucao
e322867d79
Merge pull request 'Fix login redirect for existing RS auth' ( #180 ) from bugfix/178-rs_login_redirect into master
...
Reviewed-on: #180
2024-03-06 21:06:27 +00:00
raucao
4d6fa318b7
Fix login redirect for existing RS auth
...
fixes #178
2024-03-06 22:00:15 +01:00
raucao
7f2df3b025
Fix donation record for amounts given in sats
2024-03-06 11:22:53 +01:00
raucao
da22a9d448
Add spec for reported regression
2024-03-06 11:20:43 +01:00
raucao
e3b96d5cff
Merge branch 'master' into feature/donations_btcpay
2024-03-03 12:50:16 +01:00
raucao
4e8878a4b5
Merge pull request 'Allow running specs in Docker container, update README' ( #177 ) from dev/docker_rspec into master
...
Reviewed-on: #177
Reviewed-by: galfert <garret.alfert@gmail.com >
2024-03-03 11:47:53 +00:00
raucao
e65b890880
Update db schema
2024-03-02 17:31:44 +01:00
raucao
f57edd4d3b
Update README to account for Docker Compose everywhere
2024-03-02 16:57:07 +01:00
raucao
1afd56fb80
Allow running specs in Docker (Web) container
2024-03-02 16:56:07 +01:00
raucao
71669a4b96
Merge pull request 'Refactor admin settings routes' ( #156 ) from feature/content_settings into master
...
Reviewed-on: #156
2024-03-02 14:30:21 +00:00
raucao
c312e30c17
Fix link in admin settings/services sidenav
2024-03-02 15:26:12 +01:00
raucao
51f4556ede
Refactor admin settings routes
...
This is much cleaner, and semantically more correct.
2024-03-02 14:22:08 +00:00
raucao
c36cf5eee6
Merge branch 'master' into feature/donations_btcpay
2024-03-02 15:07:40 +01:00
raucao
54220019bb
Send email confirmation when BTC payment is confirmed
2024-03-02 14:31:48 +01:00
raucao
079ee8833c
Implement bitcoin donations via BTCPay
2024-03-02 14:31:48 +01:00
raucao
26d613bdca
Allow other controllers to access lndhub user balance
2024-03-02 14:31:48 +01:00
raucao
69b3afb8f7
DRY up btcpay and lndhub services
...
Removing initialize methods from the main/manager class also allows for
different iniitalizers in specific task services
2024-03-02 14:31:48 +01:00
raucao
fee951c05c
Move past donations to partial
2024-03-02 14:31:45 +01:00
raucao
4fa4ae6b54
Merge pull request 'Comment out settings in .env.example' ( #175 ) from task/env-example into master
...
Reviewed-on: #175
Reviewed-by: Râu Cao <raucao@kosmos.org >
2024-03-02 13:30:18 +00:00
galfert
869ff4691b
Comment out settings in .env.example
2024-03-02 12:43:59 +01:00
raucao
822a2dc018
Fix specs
2024-03-01 17:15:02 +01:00
raucao
5b7fc3707b
Hide avatar settings behind feature flag
...
In favor of #157
2024-03-01 11:13:49 +01:00
raucao
0e2dc54dc6
Merge pull request 'Upgrade Rails to 7.1, update dependencies, require Ruby 3.x' ( #160 ) from chore/update_dependencies into master
...
Reviewed-on: #160
Reviewed-by: slvrbckt <slvrbckt@noreply.kosmos.org >
2024-02-27 18:56:59 +00:00
greg
87f09c94d0
Merge pull request 'Fix/improve local ActiveStorage backend usage and handling of WebApp icons' ( #162 ) from bugfix/local_web_app_icons into chore/update_dependencies
...
Reviewed-on: #162
Reviewed-by: greg <greg@noreply.kosmos.org >
2024-02-27 16:07:55 +00:00
raucao
b33b8104a8
Fix typo
2024-02-27 14:33:37 +01:00
raucao
4a4a222973
Merge branch 'chore/update_dependencies' into bugfix/local_web_app_icons
2024-02-23 18:25:23 +00:00
raucao
8c524abcf5
Merge pull request 'Fix Docker volume permissions on some host platforms' ( #171 ) from bugfix/macos_docker_volumes into chore/update_dependencies
...
Reviewed-on: #171
Reviewed-by: galfert <garret.alfert@gmail.com >
2024-02-23 18:24:10 +00:00
raucao
a852ab75ae
Fix Docker volume permissions on some host platforms
...
Use named volumes instead of bind mounts.
2024-02-23 16:43:56 +01:00
raucao
de1f234c15
Merge branch 'chore/update_dependencies' into bugfix/local_web_app_icons
2024-02-22 15:13:18 +01:00
raucao
4581900427
Merge pull request 'Fix Ruby in Docker container on Apple silicon' ( #168 ) from chore/fix_docker_ruby_on_apple_silicon into chore/update_dependencies
...
Reviewed-on: #168
Reviewed-by: slvrbckt <slvrbckt@noreply.kosmos.org >
2024-02-22 14:12:05 +00:00
raucao
56d91083e5
Fix seeds for new keyword argument
2024-02-22 13:24:41 +01:00
raucao
ba7c3795f8
Add pkg-config
2024-02-22 11:29:56 +01:00
raucao
bbf3fb91a0
Fix Ruby in Docker container on Apple silicon
2024-02-22 10:47:21 +01:00
raucao
1754df73cb
Merge pull request 'Allow admins to add and remove invitations per account' ( #167 ) from feature/164-invites into chore/update_dependencies
...
Reviewed-on: #167
Reviewed-by: galfert <garret.alfert@gmail.com >
2024-02-17 10:17:47 +00:00
raucao
9a1f9abf84
Formatting
2024-02-10 12:53:26 +01:00
raucao
2753388e1e
Add specs for admin user management
2024-02-10 12:53:11 +01:00
raucao
f3159d30f1
Allow admins to add and remove invitations per account
2024-02-10 11:21:45 +01:00
raucao
ca238be6f4
Add option for hiding close button in modal windows
2024-02-10 10:24:09 +01:00
raucao
8747ce4eb0
Remove multi-domain support on admin user pages
...
refs #166
2024-02-10 08:55:15 +01:00
raucao
fcda3b9c8c
WIP Make dropdowns more configurable, add invitations menu to admin page
2024-02-09 18:57:07 +01:00
raucao
67689dcce3
Add service for creating invites
2024-02-09 17:59:07 +01:00
raucao
22ffcd54db
Patch away a deprecation warning caused by Devise
2024-02-09 17:58:28 +01:00
raucao
bd1b177993
Rescue all icon download/upload errors, send to Sentry
2024-02-08 13:36:17 +01:00
raucao
3f110995a4
Add timestamp to icon filenames
...
There can be race condition when a background job is supposed to delete
an icon while there is a new one being attached. Also, this encodes the
date/time when the icon has been added, for inspection and convenience.
2024-02-08 13:03:32 +01:00
raucao
a7410058fa
Save WebApp before fetching icons
2024-02-08 13:02:08 +01:00
raucao
411587456b
Destroy dependent RS auths when destroying a WebApp
2024-02-08 13:01:19 +01:00
raucao
84e915ece9
Allow custom path for ActiveStorage local/disk backend
2024-02-08 13:01:07 +01:00
raucao
70ac3b0a70
Fix RS dashboard for auths without Web App
...
RS auths without a valid domain name will not fetch any metadata and
therefore not create a WebApp record. This fixes icons being looked up
anyway, resulting in exceptions
2024-02-08 12:51:53 +01:00
raucao
a7cbd8ce36
Allow disabling S3 explicitly, disable in Docker Compose
...
For example when there is a .env.development for running the app on a
host machine directly, but as a developer you also want to run it with
Docker Compose from time to time.
2024-02-08 12:50:34 +01:00
raucao
c9052b35f6
Database update for Flipper
2024-02-08 12:29:11 +01:00
raucao
3b96130491
Upgrade web-console, fix it for Docker
...
Was failing silently in Docker, because the warnings were turned off.
2024-02-08 12:26:28 +01:00
raucao
176b1a10c6
Remove obsolete closing tag
2024-02-08 12:10:14 +01:00
raucao
1c54e4c0b5
New CI image Dockerfile
2024-02-03 11:36:06 +02:00
raucao
7796a22491
Switch to newly published manifique gem
2024-02-02 17:55:20 +02:00
raucao
7e6e917ae1
Use new CI image with Ruby 3.3.0
2024-02-02 17:28:33 +02:00
raucao
28cfe4b1e7
Fix deprecation warning
2024-02-02 16:58:04 +02:00
raucao
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
raucao
420442c1c0
Update Ruby for Dockerfile/Compose
2024-02-02 14:34:09 +02:00
raucao
68c5758ecc
Update dependencies, upgrade to Rails 7.1, require Ruby 3.x
2024-02-02 14:25:47 +02:00
raucao
c5dd3c30a6
Use full URL for S3 alias host
continuous-integration/drone/push Build is passing
2024-02-02 14:01:47 +02:00
raucao
422d5c7cd2
Fix address missing in lightning address receive notifications
continuous-integration/drone/push Build is passing
2024-02-01 16:22:20 +02:00
raucao
5a23d523a8
Add fallback icons for apps on RS app dashboard
continuous-integration/drone/push Build is passing
2024-01-29 18:33:06 +02:00
raucao
f8da034e66
Fail gracefully when remote icon is 404
continuous-integration/drone/push Build is passing
2024-01-29 14:54:18 +02:00
raucao
b0b56fcf92
Fix lnurlp route
continuous-integration/drone/push Build is passing
2024-01-29 11:18:51 +02:00
raucao
0cf000c1b8
Merge pull request 'Only support primary domain for Lightning Address' ( #158 ) from chore/well-known_routes into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #158
2024-01-29 09:03:37 +00:00
raucao
fa9a924b0a
Merge pull request 'Fix RS auth array usage in production' ( #159 ) from bugfix/postgresql_arrays into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #159
2024-01-29 08:58:02 +00:00
raucao
50f91cc7d7
Fix RS auth array usage in production
...
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
Serialization into YAML breaks the native PostgreSQL array usage.
Needs to be adjusted later to not use the environment, but database
adapter (issue #149 ).
2024-01-29 10:52:52 +02:00
raucao
a628a03f84
Only support primary domain for Lightning Address
...
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
Part of the process of removing support for serving multiple domains
from a single akkounts instance.
Also puts the Lightning Address discovery routes under the .well-known
path. Combined, these changes simplify reverse-proxying to the
.well-known endpoints.
2024-01-26 16:08:21 +02:00
raucao
eaf41e0835
Adjust spec for c32fc51
continuous-integration/drone/push Build is passing
2024-01-26 16:02:47 +02:00
raucao
243cf9c08d
Don't add CORS headers for Webfinger in production
...
continuous-integration/drone/push Build is failing
The reverse proxy should handle it.
2024-01-26 11:01:45 +03:00
raucao
c32fc51aab
Do not enable email service by default
continuous-integration/drone/push Build is failing
2024-01-26 09:38:38 +03:00
raucao
aa9178d569
Sort service ENV vars alphabetically, add missing lndhub var
continuous-integration/drone/push Build is passing
2024-01-26 08:36:58 +03:00
raucao
281938dd64
Only set API CORS headers in development
...
continuous-integration/drone/push Build is passing
In production, this is the reverse proxy's responsibility
2024-01-22 15:35:13 +03:00
raucao
fafc5d8f6f
Improve copy
continuous-integration/drone/push Build is passing
2024-01-22 12:10:17 +03:00
raucao
1238359b5f
Remove superfluous header text
continuous-integration/drone/push Build is passing
2024-01-22 12:04:55 +03:00
raucao
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
raucao
1e9ec9bb76
Fix wrong prefix for email QR code
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
2024-01-22 11:52:45 +03:00
raucao
21e51a7c40
Merge pull request 'Update nostr gem, switch to Ruby for bech32 encoding' ( #155 ) from chore/bech32_handling into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #155
2024-01-21 09:31:51 +00:00
raucao
e3c30f7b16
Remove obsolete function
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
2024-01-15 13:00:48 +03:00
raucao
b4f0c60ea0
Update nostr gem, switch to Ruby for bech32 encoding
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-01-15 12:54:58 +03:00
raucao
1a5a2177b4
Update spec
continuous-integration/drone/push Build is failing
2024-01-15 12:38:27 +03:00
raucao
7e8443c598
Change Lightning balance property
...
continuous-integration/drone/push Build is failing
... so that clients can use the same property with all balances
2024-01-15 11:39:24 +03:00
raucao
7b71f2cf76
Revert "Fix fixture file"
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
This reverts commit c7b137e5eb .
2024-01-10 18:35:04 +03:00
raucao
c7b137e5eb
Fix fixture file
continuous-integration/drone Build is failing
2024-01-10 18:30:19 +03:00
raucao
958d18d61a
Add email service and settings
2024-01-10 18:30:05 +03:00
raucao
3aa0c49507
Set CORS headers for BTCPay API endpoints
2024-01-02 09:49:09 +03:00
Râu Cao
4e566a0607
Merge pull request 'Fetch/store Web App metadata and icons, finish RS integration' ( #153 ) from feature/142-webapp_database into master
...
Reviewed-on: #153
Reviewed-by: galfert <garret.alfert@gmail.com >
2024-01-01 13:18:47 +00:00
Râu Cao
aab6793b86
Improve permission list in RS emails
Release Drafter / Update release notes draft (pull_request) Successful in 3s
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-11-20 18:32:52 +01:00
Râu Cao
cfd0935bdc
Notify user about new RS authorizations
2023-11-20 18:24:34 +01:00
Râu Cao
c2dae105ff
Add settings page for Storage, add notification prefs
2023-11-20 18:22:06 +01:00
Râu Cao
2a70bf2fb9
Small refactoring
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-11-20 13:40:56 +01:00
Râu Cao
9a9947f9ad
Respect "start_url" from manifest when launching web apps
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-11-20 13:32:40 +01:00
Râu Cao
bdf5a18ad4
Re-add more specs
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-11-20 12:21:57 +01:00
Râu Cao
aa399b862a
Allow to launch RS apps from dashboard
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-11-19 19:10:13 +01:00
Râu Cao
713e91a720
Implement RS auth revocation
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-11-19 18:49:17 +01:00
Râu Cao
8ec2a6d7e4
Remove obsolete spec file
2023-11-19 18:49:06 +01:00
Râu Cao
4ecf2c4246
Improve app list
2023-11-19 18:48:44 +01:00
Râu Cao
4fdf8accd6
Add note
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-11-18 17:36:18 +01:00
Râu Cao
f451adcb53
Try smaller icons if 256px not available
2023-11-18 17:35:57 +01:00
Râu Cao
721dccb499
Add dropdown components, menus for RS auth items
2023-11-18 17:13:55 +01:00
Râu Cao
27bb7d1bfe
Finish working liquor-cabinet setup for Docker Compose
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-11-16 12:46:19 +01:00
Râu Cao
1d44181fb5
Wording
2023-11-16 12:46:05 +01:00
Râu Cao
de67f59d5c
Fail gracefully and log error when token missing in Redis
2023-11-16 12:45:26 +01:00
Râu Cao
1995e6dda2
Fix RS OAuth URL in Webfinger record
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-11-16 12:44:59 +01:00
Râu Cao
600cfe0f78
Update lockfile
2023-11-16 12:42:39 +01:00
Râu Cao
e301ac8e2e
Fix title
continuous-integration/drone/push Build is passing
2023-11-01 22:47:59 +01: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
00049f3743
Add info for running Minio/RS to README
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-11-01 22:01:14 +01:00
Râu Cao
60c0a43f33
Add minio to Docker Compose setup, configure Liquor Cabinet
2023-11-01 21:51:29 +01:00
Râu Cao
0c1b1b4afe
Adjust specs for web app metadata fetching
2023-11-01 21:49:08 +01:00
Râu Cao
92310d434a
Remove rs namespace from Redis keys
...
Superfluous, since the whole db should be RS only
2023-11-01 21:48:16 +01:00
Râu Cao
56c127ca0c
Only allow primary domain for RS
...
Replace user addresses with usernames in the respective URLs
2023-11-01 21:46:38 +01:00
Râu Cao
5075fef616
Only show avatar when available on admin user page
continuous-integration/drone/push Build is failing
2023-10-25 22:16:16 +02:00
Râu Cao
8e090daa9c
Fetch web app metadata when creating RS auth
2023-10-25 22:16:16 +02:00
Râu Cao
def87a1621
Remove variants from attachment
2023-10-25 22:16:16 +02:00
Râu Cao
00ec7fa21c
WIP Add RS auths/apps to Storage dashboard
2023-10-25 22:16:13 +02:00
Râu Cao
2b8bfaaca8
Add admin page for web apps
continuous-integration/drone/push Build is passing
2023-10-24 22:42:16 +02:00
Râu Cao
3e9a08a266
Remove (long) obsolete edge case
2023-10-24 17:29:24 +02:00
Râu Cao
fcea11f0e5
Associate RS authorizations with web apps
2023-10-24 17:29:24 +02:00
Râu Cao
261a782963
Only complete icon URLs when given relative or absolute paths
2023-10-24 17:29:24 +02:00
Râu Cao
e964e7e52c
Save web app metadata explicitly
2023-10-24 17:29:24 +02:00
Râu Cao
e508407df4
Remove debug statement
2023-10-24 17:29:23 +02:00
Râu Cao
bec827acb1
Store web app icons with proper folder paths
2023-10-24 17:29:23 +02:00
Râu Cao
0a69603643
Update web app metadata when first creating a record
2023-10-24 17:29:23 +02:00
Râu Cao
d4f71e98ed
Download and attach icons for web apps
2023-10-24 17:29:23 +02:00
Râu Cao
e56c9bd0d5
Add web app model, service to fetch metadata
2023-10-24 17:29:23 +02:00
Râu Cao
e1b7e1b2ef
Update dependencies, add manifique
2023-10-24 17:29:23 +02:00
Râu Cao
1056ffd08e
Add optional S3 config/backend for ActiveStorage
2023-10-24 17:29:23 +02:00
raucao
be5fe00f20
Merge pull request 'Fix XMPP from-address config not being used' ( #150 ) from bugfix/xmpp_from_address into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #150
2023-10-19 10:47:45 +00:00
Râu Cao
e9c4929726
Fix XMPP from-address config not being used
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 3s
2023-10-17 15:21:57 +02:00
raucao
14ff0c0e16
Merge pull request 'BTCPay settings, admin page, and new Lightning balance API' ( #147 ) from feature/btcpay_configs into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #147
Reviewed-by: galfert <garret.alfert@gmail.com >
2023-09-26 10:13:09 +00:00
Râu Cao
d939f5d649
Merge branch 'master' into feature/btcpay_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 4s
2023-09-20 19:12:24 +02:00
Râu Cao
69fffb29d8
Make publishing of BTCPay wallet balances optional
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is failing
2023-09-20 18:36:53 +02:00
Râu Cao
91d3b977e9
Fix spec
2023-09-20 18:26:50 +02:00
raucao
7a5fd46835
Merge pull request 'Add user avatars to LDAP, upload on profile settings page' ( #148 ) from feature/123-user_avatars into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #148
Reviewed-by: galfert <garret.alfert@gmail.com >
2023-09-13 13:01:25 +00:00
Râu Cao
9c4c5c2553
Use correct content type for image
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
2023-09-13 14:49:16 +02:00
Râu Cao
8f819d12c0
Remove debug output
2023-09-13 14:48:51 +02:00
Râu Cao
b810e27480
Use custom docker image with libvips installed in CI
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-07 19:40:43 +02:00
Râu Cao
1949f1876f
Use attr_reader instead of shared instance variables
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-07 19:22:15 +02:00
Râu Cao
2ba0116ca6
Fix wrong inheritance
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-07 19:17:46 +02:00
Râu Cao
2c2ddabdff
Fix code being silly
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-07 19:15:14 +02:00
Râu Cao
dfcdbec0dd
Add specs for avatar upload
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-09-07 11:42:42 +02:00
Râu Cao
3b67a8791c
Add libvips package to Docker container
2023-09-07 11:42:24 +02: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
86f85a90f4
Add/configure ActiveStorage
2023-09-06 12:14:28 +02:00
raucao
d8a35ac3fd
Merge pull request 'Fix wrong redirect after sign-in for RS OAuth' ( #146 ) from bugfix/rs_oauth_login into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #146
Reviewed-by: galfert <garret.alfert@gmail.com >
2023-09-05 11:03:02 +00:00
Râu Cao
5a5f62e98a
Refactor BTCPay service and API, add lightning balance
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-04 16:02:54 +02:00
Râu Cao
074f9afcbb
Fix descriptions not being shown for resettable form fields
2023-09-04 15:37:02 +02:00
Râu Cao
725fd2e5ea
Move lndhub admin token to env var/setting
2023-09-04 15:36:22 +02:00
Râu Cao
8349ca5e12
Add admin settings page for BTCPay
2023-09-04 15:25:20 +02:00
Râu Cao
46d59e3371
Improve icons in admin service settings sidenav
2023-09-04 15:24:35 +02:00
Râu Cao
e8e6ee0bc4
Add configurable settings for BTCPay
2023-09-04 15:23:27 +02:00
Râu Cao
a91ee2bd0a
Fix generated usernames in seeds potentially being too short
continuous-integration/drone/push Build is passing
2023-09-04 11:35:51 +02:00
Râu Cao
fcb6923c92
Fix wrong redirect after sign-in for RS OAuth
...
Release Drafter / Update release notes draft (pull_request) Successful in 3s
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
We use a custom auth method to pre-fill the username when reaching the
RS OAuth while signed out. However, it needs to redirect back to the RS
OAuth page after sign-in, and not to the root path.
2023-09-04 11:33:16 +02:00
Râu Cao
0f3b9f176e
0.8.1
continuous-integration/drone/push Build is passing
2023-09-03 15:35:46 +02:00
raucao
822ae2f945
Merge pull request 'Fix migration failing with PostgreSQL' ( #145 ) from bugfix/144-postgres_migration into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #145
2023-09-03 13:32:36 +00:00
Râu Cao
96c669ab4e
Update database schema, fix spec
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
2023-09-03 15:29:09 +02:00
Râu Cao
558100c35e
Fix migration failing with PostgreSQL
2023-09-03 15:28:32 +02:00
Râu Cao
6739b38f4c
0.8.0
continuous-integration/drone/push Build is passing
2023-09-01 12:18:26 +02:00
raucao
7e1272c936
Merge pull request 'Service pages for Chat and Social' ( #143 ) from feature/service_pages into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #143
Reviewed-by: galfert <garret.alfert@gmail.com >
2023-09-01 08:36:09 +00:00
Râu Cao
ecdeb4c122
Fix copypasta
continuous-integration/drone/push Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 3s
continuous-integration/drone/pr Build is passing
2023-09-01 10:32:11 +02:00
Râu Cao
8614e2f12b
Use service configs on dashboard
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Only show enabled services, and use the URLs from the various configs.
2023-08-13 17:24:10 +02:00
Râu Cao
a038a857d9
Make Drone CI configurable
2023-08-13 17:23:57 +02:00
Râu Cao
eee81d0cf1
Small link improvement
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-13 15:41:57 +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
10bcd5c32b
Ignore .env.development
2023-08-13 12:26:56 +02:00
Râu Cao
f79d5d4724
Use select element instead of tabs on mobile
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-11 14:17:12 +02:00
Râu Cao
866ffbe615
Upgrade tailwindcss-stimulus-components to latest version
...
continuous-integration/drone/push Build is passing
The latest one offers more tabs features. Required some changes to the
modals and tabs code.
2023-08-11 13:58:57 +02:00
Râu Cao
3c1fe3396d
Add Mastodon service page
2023-08-11 13:58:53 +02:00
Râu Cao
e4242333d9
Add recommended apps for Chat/XMPP
continuous-integration/drone/push Build is passing
2023-08-08 19:59:29 +02:00
Râu Cao
138f13c1a0
Add note
continuous-integration/drone/push Build is passing
2023-08-07 18:16:40 +02:00
Râu Cao
ad5e515200
Update README
2023-08-07 18:16:34 +02:00
Râu Cao
1ea8b22a59
WIP Add service page for Chat
continuous-integration/drone/push Build is running
2023-08-07 18:16:14 +02:00
Râu Cao
f49aff262c
Add base controller for service controllers
continuous-integration/drone/push Build is running
2023-08-07 18:15:17 +02:00
raucao
852e2fea1e
Merge pull request 'remoteStorage OAuth' ( #109 ) from feature/rs-oauth into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #109
2023-08-04 08:55:28 +00:00
Râu Cao
353b55fe1a
Add RS OAuth controller specs
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 3s
continuous-integration/drone/push Build is passing
2023-08-01 14:29:24 +02:00
Râu Cao
ba0cbba96b
Add feature spec for RS OAuth dialog
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-01 13:01:41 +02:00
Râu Cao
5f921f1b53
RS OAuth pre-fills username for login
2023-08-01 13:01:03 +02:00
Râu Cao
a2d27bf575
Support pre-filling of username in login form
2023-08-01 13:00:22 +02:00
Râu Cao
fcf9a065e1
Fix specs
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-07-14 15:56:28 +02:00
Râu Cao
ec9bcacd46
Add specs for RemoteStorageAuthorization model
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-07-14 15:31:20 +02:00
Râu Cao
645abac810
Rename RS token expiry job
2023-07-14 15:29:29 +02:00
Râu Cao
e11be727a1
Indentation
2023-07-14 15:29:04 +02:00
Râu Cao
12b24337e7
Fix typo
2023-07-14 15:28:45 +02:00
Râu Cao
b0bfc290c4
Refactor code for newer Redis
2023-07-14 15:28:09 +02:00
Râu Cao
4c6c81171b
Fix typo
2023-07-14 15:27:57 +02:00
Râu Cao
4d88a40109
Add separate config for RS Redis
2023-07-14 15:27:30 +02:00
Râu Cao
d9b39b36fb
Merge branch 'master' into feature/rs-oauth
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-07-13 15:31:28 +02:00
Râu Cao
06aed8c33d
Count up minor version on feature merge
continuous-integration/drone/push Build is passing
2023-07-13 15:26:35 +02:00
raucao
0a778e92d8
Merge pull request 'Add modal component, QR codes for invite links' ( #140 ) from feature/139-qr_codes into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #140
2023-07-13 13:24:12 +00:00
Râu Cao
e5a5633e44
Add Redis config for dev with Redis on localhost
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-07-04 17:00:04 +02:00
Râu Cao
a68825493f
Add Redis config in CI
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-07-04 16:44:11 +02:00
Râu Cao
e1e83386a8
Merge branch 'master' into feature/rs-oauth
2023-07-04 16:43:32 +02:00
Râu Cao
3adc1917f6
Improve outline button style, use everywhere
Release Drafter / Update release notes draft (pull_request) Successful in 4s
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-06-27 19:23:20 +02:00
Râu Cao
8a570ce724
Use modal component for LndHub setup code
2023-06-27 19:23:20 +02:00
Râu Cao
c78df9e5f1
Add QR code icon, button, modal for invites
...
Using https://excid3.github.io/tailwindcss-stimulus-components/
2023-06-27 19:23:20 +02:00
galfert
5c2df3df07
Add Redis service to Drone config
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-06-27 15:07:28 +02:00
greg
83e3e2ecd8
Merge pull request 'Allow editing and resetting of all admin setting strings' ( #137 ) from feature/admin_settings into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #137
Reviewed-by: greg <greg@noreply.kosmos.org >
2023-06-24 14:57:08 +00:00
raucao
b32e2fcb7b
Merge pull request 'Fix docker volume mappings for node_modules, improve docker-compose usage' ( #138 ) from bugfix/fix-docker-mapping into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #138
Reviewed-by: raucao <raucao@noreply.kosmos.org >
2023-06-23 15:38:30 +00:00
slvrbckt
96a4db5bae
improve sentence
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 4s
2023-06-23 17:32:39 +02:00
slvrbckt
c7925f132e
formatting
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-06-23 17:30:00 +02:00
slvrbckt
e4406bf6ff
use PRIMARY_DOMAIN for both web and sidekiq directives
2023-06-23 17:29:42 +02:00
slvrbckt
ee7769c8c7
Update readme with simplified usage
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-06-23 17:21:52 +02:00
slvrbckt
fdf3218f88
leave services uncommented, add /akkounts/node_modules to volume mapping as a directory to explicitly exclude
2023-06-23 17:21:43 +02:00
slvrbckt
652ed5f7e3
copy files as list
2023-06-23 17:21:17 +02:00
Râu Cao
e4ed797920
Adjust specs
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
2023-06-22 13:57:55 +02:00
Râu Cao
93740f17ef
Allow editing and resetting of all admin setting strings
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-06-22 13:48:29 +02:00
Râu Cao
affb058671
Add config for XMPP notifications from-address
2023-06-21 16:44:06 +02:00
Râu Cao
6acc3f2f59
0.7.0
continuous-integration/drone/push Build is passing
2023-06-20 18:49:38 +02:00
raucao
7987e92723
Merge pull request 'Offer LNURL QR code for download on Lightning info page' ( #135 ) from feature/lightning_donation_qr_codes into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #135
Reviewed-by: slvrbckt <slvrbckt@noreply.kosmos.org >
Reviewed-by: bumi <bumi@noreply.kosmos.org >
2023-06-20 16:44:58 +00:00
Râu Cao
d922e7f869
Resolve review comment
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
2023-06-20 18:18:14 +02:00
galfert
716d4b944a
Merge branch 'master' into feature/rs-oauth
...
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
# Conflicts:
# app/models/user.rb
# config/routes.rb
# db/schema.rb
2023-06-20 14:07:46 +02:00
galfert
42af148168
Persist RS auth tokens in Redis
2023-06-20 14:02:48 +02:00
Râu Cao
89c67f3617
Merge branch 'master' into feature/lightning_donation_qr_codes
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-06-18 15:51:38 +02:00
raucao
1b959b5643
Merge pull request 'Let users add a verified nostr pubkey to their account' ( #101 ) from feature/98-nostr_nip05 into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #101
2023-06-16 13:04:24 +00:00
Râu Cao
4551a14362
Fix path
continuous-integration/drone/push Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 4s
continuous-integration/drone/pr Build is passing
2023-06-16 14:55:11 +02:00
Râu Cao
bfc0969829
Improve wording
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-06-16 14:39:28 +02:00
Râu Cao
a1be338ba1
Add hint for updating nostr profiles when pubkey is added
2023-06-16 14:39:26 +02:00
Râu Cao
589e46bc63
Replace hardcoded domains with primary domain setting
2023-06-16 14:38:04 +02:00
Râu Cao
34e4cec503
Add NIP-05 well-known endpoint
2023-06-16 14:37:16 +02:00
Râu Cao
c48538a1c6
Add primary domain setting
2023-06-16 14:37:15 +02:00
Râu Cao
2cced696f5
Don't try to access target when it doesn't exist
2023-06-16 14:35:57 +02:00
Râu Cao
beaafa5d7e
Make nostr pubkey unique globally
2023-06-16 14:35:56 +02:00
Râu Cao
9cf309aaa8
Prevent mounting of checked-in vendored files
...
Mount bundle cache specifically on `vendor/cache` instead of all of
`vendor`, which prevents access to vendored javascript code for example.
2023-06-16 14:34:34 +02:00
Râu Cao
e8bbe6c713
Let user remove nostr pubkey from account
2023-06-16 14:34:32 +02:00
Râu Cao
49de4007ab
Settings page for adding verified nostr pubkeys
2023-06-16 14:22:30 +02:00
Râu Cao
bc4d9ff528
Add nostr_pubkey to users
2023-06-16 13:52:42 +02:00
Râu Cao
b03c6e9513
Support vendoring npm module code
2023-06-16 13:51:09 +02:00
Râu Cao
332ad757a5
Use respond_to for request formats
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-06-13 12:30:38 +02:00
Râu Cao
07fe8dba71
Add a copy button for the Lightning address
...
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Same as on profile settings page.
2023-06-12 18:18:47 +02:00
Râu Cao
aedaabc7ba
Offer lnurl-pay QR codes for download on the Lightning page
2023-06-12 18:18:06 +02:00
Râu Cao
8eb5f093a4
Don't show flash message when opening the root URL while signed out
2023-06-08 08:04:23 +03:00
raucao
de45d070aa
Merge pull request 'Report Lndhub API errors to Sentry' ( #133 ) from refactor/lndhub_integration into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #133
2023-06-06 15:44:36 +00:00
raucao
c0b1112e49
Merge pull request 'Hide unsuccessful outgoing lndhub txs in list' ( #132 ) from bugfix/lndhub_tx_list into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #132
2023-06-06 15:43:38 +00:00
Râu Cao
2f90393eb6
Lndhub v2 service inherits from v1, only adds v2-specific code
continuous-integration/drone/push Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 3s
continuous-integration/drone/pr Build is passing
2023-06-05 13:53:24 +03:00
Râu Cao
8b87072485
Raise custom auth error, re-raise on failed re-auth
2023-06-05 13:52:41 +03:00
Râu Cao
82019f47be
Report lndhub errors to Sentry
2023-06-05 13:51:59 +03:00
Râu Cao
259e72167b
Hide unsuccessful outgoing lndhub txs in list
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 4s
2023-06-05 13:06:49 +03:00
Râu Cao
7000908891
Auto-login Discourse link
continuous-integration/drone/push Build is passing
2023-06-04 15:15:09 +03:00
Râu Cao
df0c13b400
Fix potential nil access
continuous-integration/drone/push Build is passing
2023-05-31 14:43:00 +02:00
Râu Cao
387a2fa2e6
0.6.0
continuous-integration/drone/push Build is passing
2023-05-31 14:12:26 +02:00
raucao
68eba80fd7
Merge pull request 'Integrate Discourse Connect (SSO)' ( #131 ) from feature/126_discourse_sso into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #131
2023-05-31 10:02:43 +00:00
Râu Cao
7e05530ab7
Add specs for Discourse Connect
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 3s
2023-05-31 12:00:33 +02:00
Râu Cao
745a319b3d
Minor refactoring
2023-05-31 12:00:31 +02:00
Râu Cao
f829bb3379
Use devise method for requiring login
2023-05-31 12:00:02 +02:00
Râu Cao
19bafe081f
Integrate Discourse Connect (SSO)
2023-05-31 12:00:02 +02:00
greg
d130f2f68b
Merge pull request 'Allow users to set/update their display name in LDAP' ( #128 ) from feature/123-display_names into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #128
Reviewed-by: greg <greg@noreply.kosmos.org >
2023-05-31 09:13:50 +00:00
Râu Cao
e284996c1c
Remove obsolete route
Release Drafter / Update release notes draft (pull_request) Successful in 4s
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-05-28 15:28:51 +02:00
Râu Cao
51489a83ab
Use feature block for email update specs
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-05-28 15:25:53 +02:00
Râu Cao
05426e4ced
Add specs for display name update
2023-05-28 15:25:42 +02:00
Râu Cao
445cdfa024
Only validate display name when updated
...
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push 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
32d1992632
Set user instance var for settings routes where needed
2023-05-27 19:58:59 +02:00
greg
48be35f1b1
Merge pull request 'Allow updating one's email address on the account settings page' ( #127 ) from feature/103-update_email into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #127
Reviewed-by: greg <greg@noreply.kosmos.org >
2023-05-26 18:07:07 +00:00
greg
87720ef285
Merge pull request 'Add feature flags' ( #125 ) from feature/124-feature_flags into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #125
Reviewed-by: greg <greg@noreply.kosmos.org >
2023-05-26 17:56:50 +00:00
Râu Cao
193a4c2edd
Remove obsolete function argument
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-05-25 19:31:16 +02:00
Râu Cao
134c81460a
Allow email address updates on account settings page
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-05-25 16:58:53 +02:00
Râu Cao
b1a693e7cf
Send different Devise mail for re-confirmations
2023-05-25 16:58:45 +02:00
Râu Cao
75bd879f84
Rename settings menu item for Lightning
2023-05-25 16:57:14 +02:00
Râu Cao
33a9e1eaa9
Use username instead of email in Devise mails
2023-05-25 16:56:40 +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
61f12c2741
Improve form fields with errors for model updates
2023-05-25 16:53:16 +02:00
Râu Cao
c58358c66e
Add feature flags, RS dashboard dummy
...
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 4s
continuous-integration/drone/push Build is passing
closes #124
refs #94
2023-05-23 19:18:11 +02:00
Râu Cao
287adbd365
Add flipper gem and database migration/tables
2023-05-23 14:09:35 +02:00
Râu Cao
9048052318
Fix URL in email template
continuous-integration/drone/push Build is passing
2023-05-16 13:22:44 +02:00
raucao
cddc1e86f6
Merge pull request 'Show fees of Lightning transactions' ( #122 ) from feature/lightning_fees into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #122
Reviewed-by: hueso <hueso@noreply.kosmos.org >
Reviewed-by: bumi <bumi@noreply.kosmos.org >
2023-05-10 12:27:24 +00:00
Râu Cao
ce7387a409
Remove obsolete routes
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 6s
2023-05-03 21:54:33 +02:00
Râu Cao
f1ae5667de
Shape tx details UI a bit
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-05-03 12:51:22 +02:00
Râu Cao
67a9fc02d7
Rename Wallet to Lightning Network, move to Services
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-05-01 16:13:41 +02:00
Râu Cao
34849b28b0
WIP show fees of Lightning transactions
2023-05-01 15:15:23 +02:00
raucao
8ce5f9708f
Merge pull request 'Add configurable default chatroom bookmarks for new users' ( #116 ) from feature/default_chatrooms into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #116
Reviewed-by: galfert <garret.alfert@gmail.com >
2023-04-19 13:07:00 +00:00
Râu Cao
cb2197893c
Merge branch 'master' into feature/default_chatrooms
Release Drafter / Update release notes draft (pull_request) Successful in 4s
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-04-18 17:00:48 +02:00
Râu Cao
dabd892a25
Improve RS OAuth UI
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-04-13 16:21: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
raucao
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
raucao
64c8c3cb06
Merge pull request 'WebFinger endpoint' ( #118 ) from feature/webfinger into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #118
Reviewed-by: raucao <raucao@noreply.kosmos.org >
2023-04-11 09:44:39 +00:00
Râu Cao
a2100b23a9
Formatting, wording
continuous-integration/drone/push Build is passing
Update release notes draft
continuous-integration/drone/pr Build is passing
2023-04-11 11:41:30 +02:00
raucao
27195f693a
Merge pull request 'Fix failing spec expectation when using Ruby 3.x' ( #119 ) from fix/ruby-3-failed-expectation into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #119
Reviewed-by: raucao <raucao@noreply.kosmos.org >
2023-04-11 09:32:46 +00:00
galfert
9e74c89a80
Fix failing spec expectation when using Ruby 3.x
continuous-integration/drone/push Build is passing
Update release notes draft
continuous-integration/drone/pr Build is passing
2023-04-10 23:03:59 +02:00
galfert
0774c88918
WebFinger endpoint
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-04-10 21:23:21 +02:00
raucao
ef2d2b6422
Merge pull request 'Add remoteStorage settings' ( #117 ) from feature/rs-settings into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #117
Reviewed-by: raucao <raucao@noreply.kosmos.org >
2023-04-09 09:45:19 +00:00
galfert
a47e4fc16b
Add RS storage URL to test env
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Update release notes draft
2023-04-09 10:12:12 +02:00
galfert
9b89101afc
Basic RemoteStorage settings
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-04-08 21:49:16 +02: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
705bd63b42
Add configurable default room bookmarks for new users
continuous-integration/drone/push Build is passing
2023-04-07 23:03:43 +02:00
Râu Cao
83e418cdee
Update README
continuous-integration/drone/push Build is passing
2023-04-07 20:11:45 +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
bb82b6b462
Update README
2023-04-06 16:24:46 +02:00
Râu Cao
4e2e13108c
Refactor user preferences, add defaults from file
...
continuous-integration/drone/push Build is passing
Update release notes draft
continuous-integration/drone/pr Build is passing
* 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
ca7475dca2
Add notification mailer, make wallet notifications configurable
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-04-04 13:39:32 +02:00
Râu Cao
43a43e1a2c
Use setting instead of ENV var
continuous-integration/drone/push Build is passing
2023-04-04 12:46:09 +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
f19baaf22a
Add new user settings pages for Chat and Wallet
2023-04-04 12:28:53 +02:00
Râu Cao
23821f9e65
Add preferences to user model
2023-04-04 12:27:49 +02:00
Râu Cao
a33410eeb4
Allow handing custom field names to toggle fieldset component
2023-04-04 12:03:00 +02:00
Râu Cao
a1b238e86b
Fix email default URL options missing
continuous-integration/drone/push Build is passing
2023-04-04 09:11:06 +02:00
Râu Cao
334b47353e
WIP Add notifications preferences page
continuous-integration/drone/push Build is passing
2023-04-03 13:55:58 +02:00
Râu Cao
6848bd739c
Add horizontal layout option for fieldset component
2023-04-03 13:55:39 +02:00
Râu Cao
7f77ad5528
Refactor user settings
...
continuous-integration/drone/push Build is passing
Use resources instead of custom controllers, following the Rails way
and making things much cleaner in the process.
2023-04-03 13:19:07 +02:00
raucao
6f2160b479
Merge pull request 'Add solargraph in development, document usage with bundled gems' ( #112 ) from feature/solargraph into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #112
2023-04-02 08:19:26 +00:00
Râu Cao
fe1dfd8ec8
Add solargraph in development, document usage with bundled gems
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Update release notes draft
2023-03-31 18:07:38 +02:00
galfert
ee42d68471
Add RemoteStorageAuthorization model
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-03-28 01:21:28 +02:00
galfert
7acc3b2106
RemoteStorage OAuth dialog
2023-03-28 01:21:28 +02:00
galfert
20c014607c
Basic RemoteStorage settings
2023-03-27 22:52:01 +02:00