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
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
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
0541fb0ada
Allow event's attributedTo to use the Dataloader
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-01 17:42:07 +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
68a4222a18
Add missing leftover documentation for GraphQL schema
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-20 15:24:04 +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
Thomas Citharel
9540a486ec
Fix About page crashing when instance language is not supported
...
Use the languages defined by CLDR on server instead, and fallback to
english if not defined
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-02 12:12:55 +01:00
Thomas Citharel
fa7cd7e0e3
New unlogged homepage
...
With fancy illustrations ✨
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-21 17:49:18 +02:00
Thomas Citharel
b94bf2ad87
Fix a credo issue
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 10:06:58 +02:00
Thomas Citharel
2ad043a91d
Fix OEmbed preview parser
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:58:18 +02:00
Thomas Citharel
23dcb47ce5
Make sure only group moderators can update/delete events, posts
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:58:17 +02:00
Thomas Citharel
8c9546ff2a
Improve member management
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-15 14:24:51 +02:00
Thomas Citharel
f6480cb37e
Improve dashboard
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-15 11:04:05 +02:00
Thomas Citharel
86e1e84247
Use datetime with TZ for posts timestamps
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-14 09:46:33 +02:00
Thomas Citharel
3c6916360d
Completely delete user when user request self destruction
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 15:10:27 +02:00
Thomas Citharel
cd5418825b
Make sure a person profile page returns 404
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-12 13:38:25 +02:00
Thomas Citharel
dad9623482
Make sure only proper pictures are uploaded
...
Closes #384
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 19:29:12 +02:00
Thomas Citharel
c296381ed6
[Security] Fix events being editable by other users that organizers
...
Closes #385
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 18:12:35 +02:00
Thomas Citharel
75fc1f125a
Show a proper error message on creating/updating an event
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 16:09:45 +02:00
Thomas Citharel
9430f1145f
Fix profiles not administrators able to edit a group
...
Related to #385
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 16:09:44 +02:00
Thomas Citharel
77970b8091
Improve anonymous participation and confirmation
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-07 17:05:15 +02:00
Thomas Citharel
586d8c440d
Add languages to admin settings
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-07 16:38:24 +02:00
Thomas Citharel
02eac30c9b
Expose more statistics
...
* differenciate local & all events/comments/groups
* add instance follows/followings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-07 10:52:29 +02:00
Thomas Citharel
8eca9d9702
Make sure only organizer actor can comment if event comments are
...
disabled
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-05 17:42:53 +02:00
Thomas Citharel
afb7d75307
Fix invitations
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-02 16:19:31 +02:00
Thomas Citharel
4896036cd1
Make sure event and group search only return the correct type
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-02 16:19:30 +02:00
Thomas Citharel
d41aa3b2fd
Disallow accessing identity page when logged in
...
And disallow calls to fetchPerson when not our own profile or unlogged
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-02 09:53:32 +02:00
Thomas Citharel
beba4a16ea
Fix anonymous call to profile endpoint
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-01 19:10:18 +02:00
Thomas Citharel
aced4d039b
Fix posts and rework graphql errors
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-01 15:07:15 +02:00
Thomas Citharel
36cdcaa864
Send all event reminder notifications
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-30 10:45:01 +02:00
Thomas Citharel
a600720062
Add local groups as statistics
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-30 10:42:19 +02:00
Thomas Citharel
49a5725da3
Improve and activate groups
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-29 10:25:00 +02:00
Thomas Citharel
b0e8a32d2a
Improvements to group page
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-21 11:18:49 +02:00
Thomas Citharel
69faeec14c
Allow to disable event creation
...
And change the group toggle
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-02 15:08:47 +02:00
Thomas Citharel
489fd74545
Allow to refresh instance outbox when they accept subscription
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-02 10:57:18 +02:00
Thomas Citharel
aa7d919c98
Show user connection IP and date in admin
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-31 16:57:13 +02:00
Thomas Citharel
45fa3e8ad0
Add login information to user
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-28 09:23:49 +02:00
Thomas Citharel
1984f71cbf
Add group admin profiles
...
And other fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-27 12:12:54 +02:00
Thomas Citharel
4782221ef4
Allow to update a member role
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-20 10:54:58 +02:00
Thomas Citharel
6ae8de7560
Fix datetime unserialize on admin logs view
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-18 17:22:06 +02:00
Thomas Citharel
2ea6286d3f
Fix account suspension
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-18 17:21:58 +02:00
Thomas Citharel
156eba0551
Improve member adding and excluding flow
...
Allow to exclude a member
Send emails to the member when it's excluded
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-18 14:37:31 +02:00
Thomas Citharel
3c077c59ad
Allow to search groups by location
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:24 +02:00
Thomas Citharel
b4f500532f
Allow to filter by begins_on and ends_on. Redirect explore to search
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:21 +02:00
Thomas Citharel
2198b2cb87
Allow to filter search by multiple tags
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:19 +02:00
Thomas Citharel
3807ab1b63
Allow events to be searched by location and period
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:18 +02:00
Thomas Citharel
9c9f1385fb
Introduce group posts
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-30 16:55:35 +02:00
Thomas Citharel
e0fad9ddd1
Update Instance Actor when updating instance settings
...
Also fix an issue when publishing activities to followers/group members
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-07 16:55:59 +02:00
Thomas Citharel
69841cbb45
Fix 3rd-party auth issues
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-06 17:33:40 +02:00
Thomas Citharel
9a080c1f10
Introduce support for 3rd-party auth (OAuth2 & LDAP)
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-06 15:42:59 +02:00
Thomas Citharel
39c03301c9
Allow to properly move group resources
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-26 11:48:05 +02:00
Thomas Citharel
83aa005faf
Drop HTMLSanitizeEx and fix title sanitizing
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-24 16:37:00 +02:00
Thomas Citharel
f5241954bd
Improve Terms of Service
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-23 10:35:15 +02:00
Thomas Citharel
e030eab93d
Fix event stats participants / going incoherent
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-18 16:24:00 +02:00
Thomas Citharel
b61d12b5fd
Participation panel revamp and fixes
...
Apollo is a pain in the ass with pagination & filters, so this removes
the tabs system and uses a <select> to filter instead
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-18 15:52:19 +02:00
Thomas Citharel
b5f295c5d9
UI improvements
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-17 15:55:21 +02:00
Thomas Citharel
7cd45a1351
Fixup
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-16 18:02:53 +02:00
Thomas Citharel
5cb3f478ae
Allow to change language
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-16 18:00:27 +02:00
Thomas Citharel
ef6a1a21ac
Even more fixes
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 19:41:11 +02:00
Thomas Citharel
47297127a2
Improve comment section
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 16:50:01 +02:00
Thomas Citharel
d8bdc132e8
Merge branch 'use-ap-wrapper-instead-of-calling-directly-actors-context' into 'master'
...
Use ActivityPub.get_or_fetch_actor_by_url/2 instead of directly Actors.get_actor_by_url
See merge request framasoft/mobilizon!469
2020-06-15 11:59:35 +02:00
Thomas Citharel
5990633fb9
Use ActivityPub.get_or_fetch_actor_by_url/2 instead of
...
directly Actors.get_actor_by_url
So that we can refresh actors when they're stale
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 11:45:58 +02:00
Thomas Citharel
d0bf64275e
Merge branch 'improve-registration-page' into 'master'
...
Improve registration page and add a rules option
See merge request framasoft/mobilizon!467
2020-06-15 11:20:16 +02:00
Thomas Citharel
97197e3811
Improve registration page and add a rules option
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 11:01:49 +02:00
Thomas Citharel
790f333e4a
Fix comment threads display
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 09:46:08 +02:00
Thomas Citharel
0fcbbaa80c
Fix searchable unlisted events
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-12 19:19:19 +02:00
Thomas Citharel
beb35a09c6
Introduce basic user and profile management
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-12 19:16:40 +02:00
Thomas Citharel
ff5e27b0a0
Fix admin settings
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 17:41:08 +02:00
Thomas Citharel
ba6e656015
Fix geocoding
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 15:20:07 +02:00
Thomas Citharel
dac47d2abb
Add config option to allow anonymous reporting
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 14:07:49 +02:00
Thomas Citharel
8310a3d4b9
Use correct locale for participation emails
...
For anonymous participations we now use a locale parameter in metadata
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 10:32:26 +02:00
Thomas Citharel
7dbabcf15f
Add toggle to disable groups
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-08 16:47:57 +02:00