Thomas Citharel
fa25ffbc83
Add some typespecs
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-29 19:12:33 +02:00
Thomas Citharel
b5d9b82bdd
Refactor Mobilizon.Federation.ActivityPub and add typespecs
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-29 16:31:11 +02:00
Thomas Citharel
41f086e2c9
Spec improvements
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-27 09:42:12 +02:00
Thomas Citharel
55e7696230
Absinthe middleware actor provider
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-27 09:42:11 +02:00
Thomas Citharel
1893d9f55b
Various refactoring and typespec improvements
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-26 17:52:24 +02:00
Thomas Citharel
75e254d8b4
Actor suspension refactoring
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-26 17:52:23 +02:00
Thomas Citharel
de047c8939
Various typespec and compilation improvements
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-26 17:52:20 +02:00
Thomas Citharel
c2c3014c2b
Show a default text for contact in default terms text when no contact is
...
filled
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-07 17:41:27 +02:00
Thomas Citharel
ab843dff4c
Fixed deduplicated files from orphan media being deleted as well
...
Happens when a file is uploaded, then orphaned, and a similar file is
used somewhere. The CleanMedia job service didn't consider that case
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-22 16:17:20 +02:00
Thomas Citharel
d577b07c6e
Introduce event language detection
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-20 18:01:29 +02:00
Thomas Citharel
7c9b76765f
Cleanup
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-20 18:00:21 +02:00
Thomas Citharel
34e2c4f310
Fix geocoordinates mixmatch
...
Closes #828
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-16 10:23:16 +02:00
Thomas Citharel
d3a05b5568
Federate metadata
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-10 12:46:44 +02:00
Thomas Citharel
0cb43515bc
Fix language and redirection issues when connecting from 3rd-party
...
Closes #626
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-09 19:29:15 +02:00
Thomas Citharel
5f3d1f89df
Allow to add metadata to an event
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-09 16:16:14 +02:00
Thomas Citharel
783486a366
Support denying registration based on email or domain
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-08 19:56:33 +02:00
Thomas Citharel
630de6fee9
Add Actors.get_single_group_moderator_actor/1 and refactor
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-02 11:45:49 +02:00
Thomas Citharel
ecf7bb1fef
Various event AP converter changes and add tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:22 +02:00
Thomas Citharel
011128b0fb
Make sure draft events are not selected in search
...
Closes https://framagit.org/framasoft/mobilizon/-/issues/807
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:21 +02:00
Thomas Citharel
acd921432f
Refactor checking permissions when managing events and tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:21 +02:00
Thomas Citharel
6066a44ae8
Change can_be_managed_by/2
to can_be_managed_by?/2
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:20 +02:00
Thomas Citharel
a670a7d7a7
Fix and improve language handling
...
- Refactor plugs to detect and set language
- Translate ecto validation errors
- Use Gettext directly, not Mobilizon.Web.Gettext
- Set the language in the <html> attribute according to the one loaded
on front-end
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-07-27 20:11:56 +02:00
Thomas Citharel
fa8cae681f
Add possibility to create users with provider (such as LDAP)
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-07-22 15:09:12 +02:00
Thomas Citharel
11e75eaf66
Add the possibility to create profiles and groups from CLI
...
- Create an actor at the same time when creating an user
- or create either a profile and attach it to an existing user
- or create a group and set the admin to an existing profile
Closes #785
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-07-20 18:29:38 +02:00
Thomas Citharel
5cdac95a85
Send announcement notifications to anonymous participants
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-27 18:16:34 +02:00
Thomas Citharel
7ec6f158ec
Add wrapper to Sentry to not load it when not configured
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-27 15:21:33 +02:00
Thomas Citharel
3ed25bab81
Send notifications to event organizer when new comment is posted
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-27 13:16:17 +02:00
Thomas Citharel
2ec7457783
Handle actor being something else than Group or Person when deleting it
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-26 17:22:34 +02:00
Thomas Citharel
784c607c65
Send activity digests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-26 16:09:02 +02:00
Thomas Citharel
7bb8568504
Add an unique index on posts URLs
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-22 16:51:21 +02:00
Thomas Citharel
8caf1e302b
Add basic metadata to opengraph preview
...
Also refactor datetime & address utils
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-22 16:01:55 +02:00
Thomas Citharel
33838974c5
Improve resources display on mobile
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-14 15:13:08 +02:00
Thomas Citharel
a24e08a6de
Add blurhash support to backend
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-10 15:18:08 +02:00
Thomas Citharel
a336e76aae
Run mix format on Elixir 12
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-07 16:49:43 +02:00
Thomas Citharel
005f7e20ca
Remove compile-time dependencies for some config values
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-07 10:24:57 +02:00
Thomas Citharel
d3164899f3
Fix tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:26 +02:00
Thomas Citharel
c0ab3d9905
Fix credo warnings
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:25 +02:00
Thomas Citharel
58bffc5c66
WIP notification settings
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:25 +02:00
Thomas Citharel
679600f003
Comment fixes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:18 +02:00
Thomas Citharel
80f951680f
Order actor organized events by begins_on
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:17 +02:00
Thomas Citharel
4ad67e1efc
Fix an issue when deleting an actor
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:17 +02:00
Thomas Citharel
bfb04bb84d
Make deleting an actor ignoring error when deleting files
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:16 +02:00
Thomas Citharel
8c53ea442f
Make List report returns a paginated list
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:16 +02:00
Thomas Citharel
628c55cd84
Make sure relay and anonymous actors don't automatically approve
...
followers
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:14 +02:00
Thomas Citharel
938f698b7a
Add webpush front-end support
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:12 +02:00
Thomas Citharel
9f5e3a39ec
Add Push notifications backend support
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:32:06 +02:00
Thomas Citharel
86c2512c62
WIP
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:32:05 +02:00
Thomas Citharel
5afdd80c71
Fix searching for persons
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-05-02 19:27:34 +02:00
Thomas Citharel
4a1e9ce713
Add constraint on the comment url
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-29 10:23:46 +02:00
Thomas Citharel
b13d4d253e
Increase tag allowed size
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-28 18:18:42 +02:00
Thomas Citharel
495fbda330
Add pagination to moderation logs
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-28 10:27:29 +02:00
Thomas Citharel
493808a3c8
Reset default actor id for an user when a profile is deleted
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-27 12:02:56 +02:00
Thomas Citharel
17a6a6eada
Add an unique index on addresses url
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-22 19:29:46 +02:00
Thomas Citharel
67b537f380
Fix sentry issues
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-22 19:29:46 +02:00
Thomas Citharel
6ad4e33fab
Suspended actors don't need refreshing
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-20 17:10:34 +02:00
Thomas Citharel
16d192db24
Trim addresses when exporting them
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-19 12:41:40 +02:00
Thomas Citharel
4079af6f72
Make sure arg for Actors.get_actor_by_name/2 doesn't start with @
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-12 12:01:50 +02:00
Thomas Citharel
bd53bfc46b
Fix usage of is_bitstring instead of is_binary
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-08 16:41:49 +02:00
Thomas Citharel
00c8be4d8c
Fix an issue with default bot type value
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-08 10:39:02 +02:00
Thomas Citharel
1aa699fef0
Introduce instance ICS & Atom feeds (disabled by default)
...
And refactor the feed modules
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-26 16:19:58 +01:00
Thomas Citharel
95516a4067
Fix registering new user account with same email as unconfirmed
...
Refactors get_user_by_email/2
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-25 10:22:40 +01:00
Thomas Citharel
e6189390ac
Fix creating discussion with title containing only spaces
...
Also sanitize first comment
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-24 15:47:03 +01:00
Thomas Citharel
50c89e21da
Make sure default publish date doesn't override the current one
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-23 19:29:22 +01:00
Thomas Citharel
cfa94851fa
Fix close events order
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-18 09:58:53 +01:00
Thomas Citharel
1f926902aa
Add comments under events to activities
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-10 17:40:55 +01:00
Thomas Citharel
d8e4d6c24f
Introduce activity filters
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-09 16:21:12 +01:00
Thomas Citharel
bc99e48f06
Add tests for discussion
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-04 11:43:35 +01:00
Thomas Citharel
74e0e009d1
Add cron job to clean old activities
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-02 14:34:52 +01:00
Thomas Citharel
15eae2b070
Fix editing a group discussion
...
Make sure media is preloaded
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-26 14:04:10 +01:00
Thomas Citharel
3fe64a4389
Introduce the group activity section
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-26 09:37:06 +01:00
Thomas Citharel
b1cc3868a6
Add user setting to provide location and show events near location on
...
homepage
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-12 19:10:22 +01:00
Thomas Citharel
496debd6f3
Change everything for releases
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-10 14:39:09 +01:00
Thomas Citharel
0db39af37e
Fix default value for post visibility
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-02-04 12:29:34 +01:00
Thomas Citharel
ba3e9fbaec
Fix search event query
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-26 20:13:52 +01:00
Thomas Citharel
7b91367145
Some sobelow fixes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-22 23:24:51 +01:00
Thomas Citharel
21698f754d
Change some String.to_atom/1 to String.to_existing_atom/1
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-22 19:44:59 +01:00
Thomas Citharel
4fbdc94e7c
Fix following groups + Add interface to manage followers
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-22 11:52:52 +01:00
Thomas Citharel
e76a270e72
Feed improvements
...
And show public feed links on the group page
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-19 15:30:02 +01:00
Thomas Citharel
ba5c3c53ce
Improve Discussion docs
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-18 12:09:40 +01:00
Thomas Citharel
7f7bf025e7
Fix leftovers
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-14 11:52:37 +01:00
Thomas Citharel
eb72248e16
Revert "fix search results sorted by id instead of by begins_on"
...
This reverts commit a133612d9f
.
2021-01-14 11:39:01 +01:00
setop
a133612d9f
fix search results sorted by id instead of by begins_on
2021-01-12 10:28:20 +01:00
Thomas Citharel
7657cadbbd
Sort group events by asc: begins_on
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-11 18:21:38 +01:00
Thomas Citharel
766b452640
Filter out cancelled events on homepage
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-18 16:48:04 +01:00
Thomas Citharel
ad0086032b
Fix tests with events listing
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-18 16:48:04 +01:00
Thomas Citharel
3635967439
Fix posts AP endpoint
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-17 17:32:59 +01:00
Thomas Citharel
5e7bcc44df
Fix events query
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-17 16:57:55 +01:00
Thomas Citharel
f9e14c3a93
Fix events being not distinct
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-17 16:52:57 +01:00
Thomas Citharel
a646d4a40a
Fix unlisted groups being available in search
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-17 15:38:03 +01:00
ty kayn
5c57f1ce3c
⚡ if an event has geo coordinates, add links to routing on OSM, with correct place and zoom of 14, 3 buttons to get routig as car, bike, and by feet.
...
Signed-off-by: Baptiste Lemoine <contact@cipherbliss.com>
2020-12-17 11:26:25 +01:00
Thomas Citharel
d1472d94de
Expose posts media through AP
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-16 09:54:56 +01:00
Thomas Citharel
9b27e70eb0
Save remote profiles avatars & banners locally
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-15 17:17:42 +01:00
Thomas Citharel
848c18470c
Handle doing a paginated query on ordered_by results
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-09 19:55:45 +01:00
Thomas Citharel
8e722032fb
[GraphQL] Move events endpoint to paginated event list
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-09 19:55:44 +01:00
Thomas Citharel
d041d274e0
Fix leftover from Picture -> Media rename
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-27 17:20:21 +01:00
Thomas Citharel
0e1dc0df8d
Clean unconfirmed users
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-27 11:10:12 +01:00
Thomas Citharel
c9457fe0d3
Track usage of media files and add a job to clean them
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-26 17:53:33 +01:00
Thomas Citharel
b11d35cbec
Backend support to get used media size for users and actors
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-23 17:00:42 +01:00
Thomas Citharel
6a1cd42d2c
Add backend to list an user's pictures
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-23 17:00:42 +01:00
Thomas Citharel
e6077d0dc3
Forbid creating usernames with uppercase characters
...
We don't actually enforce anything on the ActivityPub level, only
user-facing interfaces
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-17 19:54:40 +01:00