Commit Graph

351 Commits

Author SHA1 Message Date
Massedil
16a4e4a5bc Add backend for accepting a group invitation
For #887
2025-11-29 19:14:28 +01:00
Massedil
bb71ec763c Add backend for group invitations
For #887
2025-11-29 19:14:28 +01:00
Massedil
249c5bf178 fix a elixir warning 2025-11-29 19:14:28 +01:00
Laurent GAY
3cdfc76aff modify event's participatiants permission - #687 2025-11-29 19:14:27 +01:00
Laurent GAY
8116f03ebf Add :allow_see_participants in group/actor - #687 2025-11-29 19:14:27 +01:00
Massedil
c7ab651449 fix: A disabled user can't create a new profile
Fixes #1842
2025-10-08 12:33:13 +02:00
Laurent GAY
36e045ed3d send email to moderators for pending user - #877 2025-10-01 12:42:45 +02:00
Massedil
9d4a558c1a Possibility to unban a user
#1843
2025-09-27 17:54:59 +02:00
Laurent GAY
726a5e1d78 user list for moderation of pending users - #877 2025-09-13 19:57:53 +02:00
Laurent GAY
23cd7333c4 can not login for pending user - #877 2025-09-13 16:43:00 +02:00
Laurent GAY
e3f3ccd148 Administration of users with pending - #877 2025-09-12 23:05:07 +02:00
Massedil
66f3956d14 refactor: rename externalUrls to externalLinks 2025-09-12 21:46:48 +02:00
Massedil
3f078fa96f fix(backend): Return all the admin settings for saveAdminSettings
Solves the null info returned if we only save a part of the admin settings and requested another part of the admin config as result.

For example : save instanceName, and request instanceName and contact in your response. Before : instanceName has the good value, but contact is wrongly null. After : instanceName and contact have the good and updated values.
2025-09-12 21:36:58 +02:00
Massedil
88b48f3350 feat(backend): add external_urls to GraphQL
Available for :
- saveAdminSettings
- adminSettings
- config

For #1764
2025-09-12 21:36:58 +02:00
Laurent GAY
04cf4efee4 manage user pending of moderation - #877 2025-09-11 20:07:20 +02:00
Laurent GAY
45378f0e40 Add moderation text in user - #877 2025-09-11 13:57:24 +02:00
Laurent GAY
3e4899c8e4 [Adminitration] Allow registrations: 3 modes = "close", "allowed", "moderate" - #877 2025-09-03 21:07:49 +02:00
setop
d047c130a7 fix: solves 3 compilation warnings, closes #1774
- group function variations together
- merge doc of all function variations at the top
2025-07-11 11:13:35 +02:00
Massedil
7b657c2ac6 fix(backend): catch all remaining errors in the accept_invitation and reject_invitation function
Solves the error when accepting an already refused invitation

Solves #1796
2025-06-19 17:15:27 +02:00
Massedil
77a05ac862 fix: solves 3 compilation warnings in feed_token.ex 2025-06-19 15:42:42 +02:00
Massedil
dcf9f82156 fix(backend): catch all remaining errors in the update_post function
Solves the case where a post is updated without a title

Fixes #1790
2025-06-18 19:30:27 +02:00
Massedil
62a54d42fe remove refresh_instance_actor 2025-06-10 05:38:49 +02:00
Massedil
933ee9f959 Return :none instead of nil for follower_status and followed_status
Solves #1690
2025-06-10 05:38:49 +02:00
setop
265803cb26 fix(backend): admin cant access profile page 2025-05-28 15:10:44 +02:00
setop
1ad8b268ed fix(backend): Conversations that include any user who has commented on an event are exposed 2025-05-28 10:28:42 +02:00
Massedil
8bb6b0b97c refactor: Remove the registerPerson GraphQL query
- The first profile is now created after the user email validation
- NavBar is correctly updated when a user is connected but without any profile
- Always fetch identities from the server at login (no cache)
- NoIdentitiesException is thrown again
- Refactor EditIdentity to create the first profile
- Translations updated
- Tests updated

Fixes #1762
2025-05-27 11:18:21 +02:00
Massedil
a50681c9ac refactor(media): use UUID instead of ID for media retrieval in GraphQL
Fixes #1760
2025-05-27 11:18:21 +02:00
Massedil
1b2c55508e Prevent access to confirmation_token and reset_password_token via GraphQL API
Those tokens do not need to be exposed to authenticated users, not even admin users.

Fixes #1761
2025-05-27 11:18:21 +02:00
setop
6ecab1df1b fix: sanatize FeedToken 2025-04-05 23:45:33 +02:00
Massedil
8303eb13a5 feat(config): add durationOfLongEvent in FullConfig query
For #1568
2025-02-11 17:40:03 +01:00
Laurent GAY
fbcca23057 #1629: remove GeoIP for default location 2025-01-22 16:18:45 +01:00
Massedil
71c0ce37a9 case harmonization with other fields
- longevents -> long_events (back-end)
- longevents -> longEvents (front-end)
2024-11-29 19:15:35 +01:00
Massedil
752da9e641 Issue #1567 : Add a long_event computed field to an event
The actual long_event implementation is only done for search and long_event is a parameter of the search request.

This change is needed for the the front-end to know if an event is a long_event everywhere an event is received.

The computed field (Ecto virtual field) is set after the Ecto request with the function with_virtual_fields().

with_virtual_fields() handles cases where there is an event, a list of events and a paginated list of events returned.
2024-11-29 19:15:35 +01:00
Massedil
6ff3525764 #1308 Fix group sorting and add new criteria (creation date, last event activity) 2024-10-24 19:09:28 +02:00
setop
79bd6a5d21 fix #1469 and # 1475 2024-07-08 21:44:22 +00:00
setop
7030d56864 all developments of milestone 1 2024-04-10 12:36:21 +00:00
Thomas Citharel
9d99684402 feat: allow to filter events by local-only
In addition to internal (self + federated) and global (global external search engine), introduce the
self possibility

Closes #1322

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-09 13:51:59 +01:00
Thomas Citharel
ef20585f8c fix(announcements): error message not showing when an event announcement is created with empty text
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:22 +01:00
Thomas Citharel
5bc0593ed6 fix(graphql): fix checking actor identity when publishing event announcements
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:21 +01:00
Thomas Citharel
10c4038b85 fix(backend): hide non-public replies to comments in event comment threads
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:20 +01:00
Thomas Citharel
c9a1c35aa7 fix(announcements): make sure only valid announcements are shown to the user
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-08 17:23:20 +01:00
Thomas Citharel
d0835232d6 refactor(backend): change naming of function names to avoid the is_ prefix
Following Credo.Check.Readability.PredicateFunctionNames check

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-01-04 13:35:08 +01:00
Thomas Citharel
c3aa145148 refactor(backend): extract convert_ecto_errors in the Mobilizon.Storage.Ecto module
And use it to log refreshing instance errors

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-01-04 12:59:15 +01:00
Thomas Citharel
2f4b8feeba fix(activitypub): refresh NodeInfo metadata straight away when adding a new instance to follow
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-01-03 18:33:14 +01:00
Thomas Citharel
99b2339424 feat(nodeinfo): extract and save NodeInfo information from instances to display it on instances list
We also try to detect the application actor if it's not given by NodeInfo metadata (FEP-2677)
(guessing for Mobilizon, PeerTube & Mastodon).

Closes #1392

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-21 10:45:56 +01:00
Thomas Citharel
459f486a90 refactor(docker): allow webPush configuration to be configured using env variables in Docker
Closes #1383

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-11 16:31:24 +01:00
Thomas Citharel
09f41328ab fix(graphql): set default value for resource type parameter
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-06 14:43:51 +01:00
Thomas Citharel
32caebb1d0 fix: prevent sending group physical address if it's empty and allow empty text for timezone
As old addresses don't hold TZ information

Closes #1357

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-03 18:14:00 +01:00
Thomas Citharel
9e6b232a78 feat: add links to cancel anonymous participations in emails
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-12-01 11:29:53 +01:00
Thomas Citharel
18314956ca fix(api): fix allowing posting event private announcement
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-11-21 12:00:04 +01:00