Thomas Citharel
d291a83cc9
Warn when registering with email containing uppercase characters
...
Closes #884 and #803
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-16 11:38:17 +01:00
Thomas Citharel
6eba531c89
Allow group admins to moderate new members
...
Closes #881
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-12 17:17:05 +01:00
Thomas Citharel
3961a2067b
Fix search exposing events to unlogged users
...
Closes #892
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-09 09:15:32 +01:00
Thomas Citharel
4de39d5850
Improve searching for group actors
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-06 10:50:48 +01:00
Thomas Citharel
8519364e77
Fix action logs containing group suspension events
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-04 18:38:47 +01:00
Thomas Citharel
b12cea5ead
Allow to get group followed events after a certain date
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:39 +01:00
Thomas Citharel
23fddaedf1
[GraphQL] Expose events from followed/member group activity
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:26 +01:00
Thomas Citharel
88b078ebce
Increase the number of related events to 4 and refactor function
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:26 +01:00
Thomas Citharel
d0b125064f
Improvements to group following
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:25 +01:00
Thomas Citharel
bac6628aea
Improve changing current actor
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:24 +01:00
Thomas Citharel
d0b45de175
Expose person follows
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:23 +01:00
Thomas Citharel
f315685deb
Handle already following group
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:23 +01:00
Thomas Citharel
44e8ac7e9a
Add support for GraphQL handling of group follows
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-02 19:50:21 +01:00
Thomas Citharel
3ecc2cbad7
Fix group profile being inaccessible
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-20 11:50:22 +02:00
Thomas Citharel
b383d11f51
Fix backend tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-12 08:49:12 +02:00
Thomas Citharel
62af1e72d6
Some fixes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-11 17:56:23 +02:00
Thomas Citharel
d58ca5743d
Add timezone handling
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-11 17:37:17 +02:00
setop
7940d69d5a
add "only platform admin can create groups" and "only groups can create events" restrictions
2021-10-11 15:59:59 +02:00
Thomas Citharel
dee7c58449
Spec fixes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-11 15:14:54 +02:00
Thomas Citharel
f4284e1d3a
Remove unused functions
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-05 16:05:51 +02:00
Thomas Citharel
0c667b13ae
Export participants to different formats
...
* CSV
* PDF (requires Python dependency `weasyprint`)
* ODS (requires Python dependency `pyexcel_ods3`)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-05 10:52:55 +02:00
Thomas Citharel
35b83950d4
Fix an issue when showing public page of suspended group
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-30 15:58:07 +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
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
e9e12500dc
Fix tags autocomplete
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-26 17:52:21 +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
e05735265b
Fix remote group moderators managing event participations
...
Closes #827
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-13 12:24:30 +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
f3a05929d9
Allow members-restricted posts to be viewable by instance moderators
...
But add a warning message on top of the post
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-05 16:10:03 +02:00
Thomas Citharel
c788c020db
Fix updating event organizer actor
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-02 11:45:49 +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
c394f2cc5a
Use Permission module to check if user can have access to resource
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-08-01 10:51:18 +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
24b94d1860
Add pagination to resources
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-14 15:12:38 +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
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
15b3940262
Revoke old refresh token when doing a refresh token rotation
...
See
https://auth0.com/blog/securing-single-page-applications-with-refresh-token-rotation/
for details for instance
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:24 +02:00
Thomas Citharel
a7da5ab269
Improve JWT tokens expiration
...
- Reduce access tokens TTL to 15 minutes
- Set refresh tokens TTL to 60 days
- Set Guardian.DB to only track refresh tokens
- Remove refresh token when logging out
Closes #710 #705 #706
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:22 +02:00
Thomas Citharel
c9700906f5
Paginate the list of conversations
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:20 +02:00
Thomas Citharel
b5a5de5c0c
Event edit and participant fixes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:18 +02:00
Thomas Citharel
4100b2f962
Refresh profiles in a background task
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:16 +02:00
Thomas Citharel
74778925e0
Refactor accessing person details resolver
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-06-04 13:33:15 +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
a56f28f98e
Make koena connect picture configurable
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-05-18 17:56:49 +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
70ca2d68a6
Improve some translations
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-28 16:16:46 +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
c39f83fa9a
Cleanup warnings
...
Came in 8185fcd0bd
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-27 09:13:45 +02:00
Thomas Citharel
8185fcd0bd
Refresh after invite accept only if remote group
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-26 10:17:57 +02:00
Thomas Citharel
280f461ba7
Refactor the ActivityPub module
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-22 19:29:47 +02:00
Thomas Citharel
eb2050a997
Handle errors from comment changeset as well when creating discussions
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-21 09:09:34 +02:00
Thomas Citharel
cb4a801519
Small fixes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-20 17:10:34 +02:00
Thomas Citharel
d98e68203e
Handle sending mail more properly
...
With custom sentry reporting issues
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-20 15:02:24 +02:00
Thomas Citharel
bcf52ccdf7
Expose instance feed config option in the API and show it on About page
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-19 12:40:51 +02:00
Thomas Citharel
489787ceb5
Avoid showing suspended broken UI for suspended/deleted groups
...
Don't return them if they're suspended
Closes #655
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-16 18:36:52 +02:00
Thomas Citharel
947d0b0cdb
Handle maximum file sizes better
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-12 12:01:52 +02:00
Thomas Citharel
0210b677c5
Expose maximum picture sizes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-12 12:01:52 +02:00
Thomas Citharel
e991d7d373
Fix content type and size missing for profile avatars
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-12 12:01:49 +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
356f69cef2
Fix accessing a discussion without being a member
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-04-08 09:54:22 +02:00
Thomas Citharel
13c8080097
Allow to create an event from a group preconfigured with the organizer
...
Refactored the organizer-picker components a lot
Close #464
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-29 10:33:19 +02:00
Thomas Citharel
cde9f8873e
Expose personal tokened feeds
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-26 19:36:48 +01:00
Thomas Citharel
968a965763
Handle empty comments
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-25 12:11:49 +01:00
Thomas Citharel
b95b3c16e7
Handle getting organized events from an actor when not authorized
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-25 10:46:45 +01:00
Thomas Citharel
7aadc447e1
Handle changing default actor unlogged
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-25 10:38:31 +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
48f52ba4fd
Handle duplicate usernames correctly
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-24 11:38:31 +01:00
Thomas Citharel
7b9910f251
Resources fixes and improvements
...
- Fix getting page description
- Fix fetching metadata from Twitter (thx @marienfressinaud)
- Improve error handling
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-24 11:07:00 +01:00
Thomas Citharel
346d6438f8
Fix changing changing email and validating new email with bad token
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-23 16:38:37 +01:00
Thomas Citharel
4ff00e92b6
Fix lasts events published order on the homepage
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-16 19:08:00 +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
aa2c79d312
Fixes for Bamboo 2.0
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-09 14:33:09 +01:00
Thomas Citharel
03824b898c
Get membership status only for the current group
...
Closes #575
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-03-05 11:23:17 +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
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
0ac12a0a29
Proxify resource metadata pictures
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-26 12:15:53 +01:00
Thomas Citharel
3b78cffb17
Hide event group organizers
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-01-25 12:00:06 +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
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
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
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
b05f0fe3e6
simplify user resolver errors
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-30 12:48:22 +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
1cd680526a
Add backend to remove pictures
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-23 17:00:36 +01:00
Thomas Citharel
3eacbb2ca3
Improve GraphQL documentation and cleanup API
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-20 11:44:00 +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
Thomas Citharel
44559a71ee
Remove duplicate @doc blocs
...
Elixir 11 notifies this a lot
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-06 15:48:05 +01:00
Thomas Citharel
7c11807c14
Allow to join an open group
...
Also:
* Refactor interacting with a remote event so that you can interact with
a remote group as well
* Add a setting for group admins to pick between an open and invite-only
group
* Fix new groups without posts/todos/resources/events/conversations URL
set
* Repair local groups that haven't got their
posts/todos/resources/events/conversations URL set
* Add a scheduled job to refresh remote groups every hour
* Add a user setting to pick when to receive notifications when there's
new members to approve (will be used when this feature is available)
* Fix pagination for members
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-06 15:19:36 +01:00
Thomas Citharel
78e3bcb2f8
Add proper error message when accessing followers/followings w/ auth
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-02 18:11:27 +01:00