Commit Graph

316 Commits

Author SHA1 Message Date
Thomas Citharel c07ba3a5d1
Add rate-limiting on queries with Hammer
Closes #67

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-03-24 15:32:27 +01:00
Thomas Citharel c4e9f88e85
Fix front-end stuff
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-03-24 15:32:26 +01:00
Thomas Citharel 8984bd7636
Introduce authorizations with Rajska
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-03-22 10:19:25 +01:00
Thomas Citharel b6875f6a4b
Introduce device flow
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-03-22 09:34:11 +01:00
Thomas Citharel 2ee329ff7b
Introduce application tokens
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-03-22 09:34:10 +01:00
Thomas Citharel 317a3434b2
feat(spam): Introduce checking new accounts, events & comments for spam with the help of Akismet
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-02-07 15:18:29 +01:00
Thomas Citharel 1db5c4ae2d
Save IP and login date from directly registered accounts
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-01-31 19:33:33 +01:00
Thomas Citharel 30b0d3ca08
Add GraphQL operation name, user ID and actor name in logs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-06 13:03:53 +01:00
Thomas Citharel 4dede63b83
Remove unused variable
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-02 18:32:30 +01:00
Thomas Citharel 75296498c4
Do not list drafts in upcoming / old events event if moderator
Closes #1086

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-02 17:12:35 +01:00
Thomas Citharel dcfe87116e
Allow to view more than 10 drafts events on my events view
Closes #993

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-02 11:38:14 +01:00
Thomas Citharel 579bcaba06
Allow to disable non-SSO login
With a new disable_database_login parameter under :mobilizon, :instance

Closes #1154

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-28 17:41:49 +02:00
Thomas Citharel 2454fe2aa4
Fix leaving a group
There's still an issue because the call is made twice, but at least it
works

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-26 18:45:47 +02:00
Thomas Citharel c9fffca046
Always lowercase the emails before trying to reset password
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-18 18:37:39 +02:00
Thomas Citharel 620008ee0d
Fix group location edition
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-05 18:17:11 +02:00
Thomas Citharel fee4f9add8
Fix address selector
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-05 17:54:04 +02:00
Thomas Citharel f0c8fa2525
Handle events with no physical location
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-03 19:26:35 +02:00
Thomas Citharel ca9826e299
Improve related events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-03 14:02:25 +02:00
Thomas Citharel 1087e19ee5
Enable E2E tests in CI
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-27 13:43:09 +02:00
Thomas Citharel 6f7d5f649b
Add participant info in event search results
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-26 10:29:58 +02:00
Thomas Citharel a37bab3b84
Fix some Dializer issue
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-26 10:29:58 +02:00
Thomas Citharel 530539c631
Make sure instance list is refreshed before notifying admin from new
instance follow

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-26 10:20:51 +02:00
Thomas Citharel 151a7e54ae
Fix lint issues, update deps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-20 17:06:42 +02:00
Thomas Citharel eecb04516e
Add the map in search view
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-09-01 10:00:17 +02:00
Thomas Citharel 48935e2168
Add global search
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-08-28 10:02:06 +02:00
Thomas Citharel e07f88277b
Use correct IP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-08-22 12:19:14 +02:00
Thomas Citharel baac00f678
Improve search
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-08-22 12:12:09 +02:00
Thomas Citharel ee20e03cc2
Migrate to Vue 3 and Vite
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-08-11 16:46:31 +02:00
Thomas Citharel 888d2ef4b8
Expose correct relay address in federation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-06 17:21:11 +02:00
Thomas Citharel 3982977121
Allow to get Mastodon instance relays
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-06 16:59:28 +02:00
Thomas Citharel 05724476aa
Remove unused addRelay mutation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-06 14:23:16 +02:00
Thomas Citharel cd3d0c5fc4
Add a proper error message when adding an instance that doesn't respond
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-06 14:23:16 +02:00
Thomas Citharel 26cf892758 Revert "Merge branch 'external-events' into 'main'"
This reverts merge request !1223
2022-05-04 07:02:16 +00:00
Thomas Citharel d85f708c37 Merge branch 'external-events' into 'main'
Add option to link an external registration provider for events

See merge request framasoft/mobilizon!1223
2022-05-04 07:01:53 +00:00
Luca Eichler 75502e2a4b
Add option to link an external registration provider for events 2022-05-03 15:33:32 +02:00
Thomas Citharel a18c4daf4c
Avoid using actor id from config cache
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-03 11:40:16 +02:00
Thomas Citharel e4a22bdb83
Fix latest group not refreshing in admin section
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-22 12:04:05 +02:00
Thomas Citharel 7c8de2b87f
Fix rejecting instance follow
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-20 18:35:38 +02:00
Thomas Citharel 0b04980332
Remove Koena Connect button
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-18 15:01:32 +02:00
Thomas Citharel 83f2880dd9
Fix some typespecs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-18 14:47:44 +02:00
Thomas Citharel 7a18d0b2bb
Fix ex_docs warnings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-07 18:51:10 +02:00
Thomas Citharel 709d26735b
Provide analytics on Front-end
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-06 12:31:46 +02:00
Thomas Citharel cb1e41d90d
Remove unused variable
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-05 14:10:21 +02:00
Thomas Citharel 4b9a38b2a7 Merge branch 'email-spam' into 'main'
Move mailer from Bamboo to Swoosh

Closes #491

See merge request framasoft/mobilizon!1203
2022-04-05 11:21:24 +00:00
Thomas Citharel e841fb6fbb
Move mailer from Bamboo to Swoosh
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-05 12:38:02 +02:00
Thomas Citharel e5ccdccbc7
Allow to get a group by it's ID
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-04 15:42:17 +02:00
Thomas Citharel 7fcaa4a151
[GraphQL] Allow to get group by ID in person memberships
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-04 15:42:16 +02:00
Thomas Citharel d2864a22d9
Allow to exclude stale actors from group search (one week without refreshment)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-04 15:42:16 +02:00
Thomas Citharel 4c9065ce68
Resource fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-31 11:24:22 +02:00
Thomas Citharel 368911b58e
Allow to register custom categories
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-28 20:02:43 +02:00
Thomas Citharel f5bdedf789
Introduce event categories
Closes #1056

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-28 17:42:59 +02:00
Thomas Citharel cd3c316881
Return a proper error directly when a group name conflicts
And translate the error

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-24 16:39:44 +01:00
Thomas Citharel 93425108c5
Allow GraphQL Error handler return custom Mobilizon.GraphQL.Error
directly

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-24 16:39:44 +01:00
Thomas Citharel 3c294b33a8
Provide group creation changeset errors as well to absinthe
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-24 16:39:44 +01:00
Thomas Citharel e7ce24966b
Fix loading list of languages after ex_cldr update
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-23 12:35:27 +01:00
Thomas Citharel 7067173a5a
Refactor to avoid calling Mobilizon.Cldr.known_locale_name with a string
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-21 17:50:38 +01:00
Thomas Citharel 3dd0b60606
Fix duplicate field in schema
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-03-21 16:55:01 +01:00
Thomas Citharel 6e5061250c
Improve admin views (2)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 15:53:24 +01:00
Thomas Citharel ca6ef9b06b
Improve admin views
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:49:48 +01:00
Thomas Citharel 193fcde123
Allow to filter reports by domain
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:49:46 +01:00
Thomas Citharel 26b1ea401a
Fix various issues reported by Dializer
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:49:46 +01:00
Thomas Citharel 1319985047
Rename Mobilizon.Actors.is_following/2 to check_follow/2
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:41:03 +01:00
Thomas Citharel e717312de7
Introduce instances admin page
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-01-17 14:41:03 +01:00
Thomas Citharel 3ad5f8977e
Simplify response for user not found
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-12-15 12:59:55 +01:00
Thomas Citharel 7771b27b55
Allow to filter user memberships and group memberships (contacts=) on
backend side

Closes #981 #969

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-12-13 17:33:36 +01:00
Thomas Citharel 07d679c4ab
Fix reject of already following instances
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-29 10:39:22 +01:00
Thomas Citharel 51afec1856
Fix new credo warnings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-26 14:47:10 +01:00
Thomas Citharel 147ea64483
Fix event language not allowed to be null
If the event language wasn't previously defined, it's not "und"

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-23 09:36:19 +01:00
Thomas Citharel 07a11d792c
Fix updating a group's avatar and banner picture
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-20 19:04:54 +01:00
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 69e91e89f5
Allow to search events by online status
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-06 14:39:23 +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 7ecf2e1da0
Add isOnline event option to mark event as fully online
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-18 11:13:37 +02:00
Thomas Citharel 4de78f58e0
Allow anonymous participants to have timezone metadata
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-10-18 11:13:35 +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 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 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