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
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
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
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
c5e7abe3d4
Make sure we have only one relay actor
...
Close #427
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-02 18:10:56 +01:00
Thomas Citharel
2c42cf2735
Fix listing event groups
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-22 16:59:04 +02:00
Thomas Citharel
6f5d535b86
Fix finding local actor by username with domain
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-15 17:19:22 +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
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
92367a5f33
Allow to report a group
...
And multiple group tweaks
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-30 15:26:58 +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
952e592e2c
Show group address in group metadata
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-02 10:57:19 +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
c011a988a8
Fix relay outbox endpoint
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-02 10:50:22 +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
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
c56fb710b6
Introduce Sitemaps
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-12 16:29:34 +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
d268a16c4f
Fix trying to create signatures for remote actors
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-31 09:21:10 +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
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
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
c61a54d802
Add a command to refresh a single actor or all actors
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-10 15:09:59 +02:00
Thomas Citharel
4144e9ffd0
Introduce group basic federation, event new page and notifications
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-03 16:01:26 +02:00
Thomas Citharel
39b7afd1cd
Blind key rotation and stale duration for profiles
...
See https://blog.dereferenced.org/the-case-for-blind-key-rotation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-14 18:21:18 +01:00
Thomas Citharel
9f007da286
Allow to edit account email and delete account
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-13 16:21:26 +01:00
Thomas Citharel
2ed9050a90
Add anonymous and remote participations
2020-01-29 17:28:11 +01:00
rustra
3505736705
Fix Credo code readability issues
2020-01-28 20:15:59 +01:00
rustra
97651e88e9
Implement Credo software design suggestions
2020-01-28 19:18:33 +01:00
rustra
8856cc2f55
Rename MobilizonWeb to Mobilizon.Web
2020-01-26 21:39:49 +01:00
rustra
8ca5c0b320
Separate Web modules related to Federation
2020-01-23 01:03:33 +01:00
rustra
cdb520a95b
Split Federation as separate context
2020-01-22 02:14:42 +01:00
Thomas Citharel
fe4cf86838
Restrict follows to approved actors/instances
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-19 13:41:25 +01:00
Thomas Citharel
039846d465
Clear AP cache when content is updated or deleted
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-16 11:47:31 +01:00
Thomas Citharel
334d66bf5d
Add admin interface to manage instances subscriptions
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-15 21:56:16 +01:00
Thomas Citharel
5e9c91e659
Added mix commands to manage users and view actors
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-21 15:51:13 +01:00
Thomas Citharel
4dc4524e71
Validate username on backend side and refactor actor changeset
...
Closes #316
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-18 18:56:28 +01:00
Thomas Citharel
cc820d6b63
Refactor Core things, including Ecto handling, ActivityPub & Transmogrifier modules
...
* Data doesn't need anymore to be converted to ActivityStream format to
be saved (this was taken from Pleroma and not at all a good idea here)
* Everything saved when creating an event is inserted into PostgreSQL in
a single transaction
2019-10-31 10:06:11 +01:00
miffigriffi
aed824f1aa
Fix code readability issues
2019-09-26 17:45:47 +02:00
miffigriffi
64f42d412b
mix credo warnings in Mobilizon context
2019-09-18 00:37:31 +02:00
miffigriffi
eaff073cd2
Remove Dataloader related code from Mobilizon context
2019-09-18 00:18:45 +02:00
miffigriffi
48dbec51f5
Move caching to MobilizonWeb
2019-09-18 00:01:16 +02:00
miffigriffi
ac77a7d28a
Refactoring of Events context
2019-09-17 02:22:54 +02:00
miffigriffy
f6800665e7
Apply formatting
2019-09-13 02:28:09 +02:00
miffigriffy
5967b30bb1
Clean specs
2019-09-13 02:15:04 +02:00
miffigriffy
e4a446003d
Refactoring of Actors context
2019-09-11 23:36:14 +02:00
Thomas Citharel
8f50e88e1e
Fix failing test on updating actor
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-09 09:55:08 +02:00
Thomas Citharel
cc4a59ad1f
Run mix format and fix a credo check
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-09 09:35:50 +02:00
miffigriffy
4418275223
Refactoring of Actors context
2019-09-09 00:52:49 +02:00
miffy
fa037fd683
Separating of Storage context
2019-09-08 01:49:56 +02:00
miffy
a32ab590ab
Refactoring of config wrapper
2019-09-08 00:05:54 +02:00
Thomas Citharel
f5c3dbf128
Correctly handle event update
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-05 13:59:52 +02:00
Chocobozzz
f21c79cf6a
Don't delete the last admin of a group
2019-08-26 15:44:02 +02:00
Thomas Citharel
641129dc74
Federate participations
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-20 10:17:28 +02:00
Thomas Citharel
c51115bdbe
Introduce relay
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-13 11:15:13 +02:00
Thomas Citharel
c3cca5d613
Fix credo style reports following it's update
...
Mainly transform `with` into `case`
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-23 18:12:26 +02:00
Thomas Citharel
aef841e192
Introduce backend for reports
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-23 13:49:22 +02:00
Chocobozzz
0e485b2388
Add ability to update/create/delete identities
2019-07-08 16:32:22 +02:00
Thomas Citharel
449baabe3c
Upgrade Elixir deps
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-03 17:30:22 +02:00
Thomas Citharel
e8cabd38d4
Delete files when updating parent identities
...
Closes #127
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-06-07 15:01:10 +02:00
Thomas Citharel
f90089e1bf
Refactor media upload
...
Use Upload Media logic from Pleroma
Backend changes for picture upload
Move AS <-> Model conversion to separate module
Front changes
Downgrade apollo-client: https://github.com/Akryum/vue-apollo/issues/577
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-05-24 17:29:51 +02:00
Thomas Citharel
12116ba6fa
Add visibility to actors
...
Also use url helpers to generate urls properly
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-25 19:05:05 +02:00
Chocobozzz
d66bbc5414
Add ability to search on Group, Person or Event
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-23 10:53:04 +02:00
Thomas Citharel
2fe33aa470
ℹ Improve docs and documentation (again)
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-19 11:16:03 +01:00
Thomas Citharel
99ac6ef100
Add GraphQL support to handle FeedTokens
...
Closes #88
Automatically create tokens for new users and actors
Closes #89
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-08 18:52:27 +01:00
Thomas Citharel
c61c75163f
Add backend and endpoints for Feed Tokens
...
Closes #19 #86 #87
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-08 14:57:05 +01:00
Chocobozzz
5a8ad3ab52
Add join/leave group
2019-03-08 14:43:45 +01:00
Thomas Citharel
c689406114
Extract User from Actors context
...
Mobilizon.Actors.User -> Mobilizon.Users.User
Also Mobilizon.Actors.Service now become Mobilizon.User.Service
And Mobilizon.Users and Mobilizon.UsersTest is introduced.
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-05 17:23:05 +01:00
Chocobozzz
a0123459b3
Add ability to list users
2019-03-05 10:41:23 +01:00
Thomas Citharel
66e67aa816
Redirect properly to correct endpoint depending on content-type
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-04 17:20:18 +01:00
Thomas Citharel
a3ffc08e57
Add Activity Pub endpoints cache
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-01 18:30:46 +01:00
Thomas Citharel
02d1cea2d7
Add cached RSS feeds for actors endpoints
2019-02-27 18:30:01 +01:00
Thomas Citharel
8efb1af306
Make sure actor usernames are unique
...
Closes #72
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-25 18:35:00 +01:00
Thomas Citharel
75554cd3f5
Merge branch 'improve-tests' into 'master'
...
Improve tests
See merge request framasoft/mobilizon!78
2019-02-22 18:13:01 +01:00
Thomas Citharel
8bba35e60b
Improve tests
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-22 18:07:20 +01:00
Thomas Citharel
d37c873b04
A few fixes comming from Dialyser
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-22 16:57:12 +01:00
Thomas Citharel
4ec40d601b
Implement search with PostgreSQL trigrams
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Rename function to reflect that we only get one result
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Add loggers and make Ecto call parallels during search
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Implement trigrams for events & replace pg similarity operator % with <%
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-22 13:53:10 +01:00
Thomas Citharel
256d50e855
Allow tag relations + bump ecto deps
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-21 16:58:14 +01:00
Chocobozzz
250f0b3bd1
Add API to join and leave an event
2019-02-07 16:56:59 +01:00
Thomas Citharel
681653e035
Introduce registerPerson mutation
...
To register a profile from an unactivated user
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
👤 Fix Person interface use
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Change host function for data property
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-30 15:59:27 +01:00
Thomas Citharel
0c2931c10b
Make register/1 only create an user
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Credo fix
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Fix rebase
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-30 10:53:40 +01:00
Chocobozzz
dd174f2446
Add ability to delete an event
2019-01-25 17:07:36 +01:00
Chocobozzz
8388240957
Add ability to delete a group
2019-01-25 16:08:06 +01:00
Thomas Citharel
90fd0ff6b6
Replace Vuetify with Bulma
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Remove vuetify and add Bulma
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-24 15:35:57 +01:00
Thomas Citharel
2f2c538cc9
Add Credo checks and refactor code
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Make Logger.debug calls lazy
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Add missing @moduledocs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Refactor according to credo
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Final fixes and add credo to CI
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Closes #52
2019-01-03 15:52:48 +01:00
Chocobozzz
d8dde92c86
Fix user registration and validation
2018-12-28 16:19:21 +01:00
Thomas Citharel
c1e6612405
[WIP] Test transmogrifier
...
Introduce MobilizonWeb.API namespace
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Format
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
WIP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
remove unneeded code
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Fix warnings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-12-20 17:44:33 +01:00
Chocobozzz
48eb72cd4c
Add pagination to events, groups, partipants to an event and categories
...
lists
2018-12-14 11:36:22 +01:00
Thomas Citharel
c6e6a61000
Event changeset more cleaner
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-12-03 12:29:31 +01:00
Thomas Citharel
dd87ad4f7e
Mix format
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-12-03 12:08:18 +01:00
Thomas Citharel
fd0dba62e0
Work on actors
...
* Implement group GraphQL APIs
* Change Actors changeset to properly set urls
* Remove old actors indexes and add some new ones
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-12-03 11:58:57 +01:00
Thomas Citharel
51aa511101
Changes to the actor - user relation
...
Now the GraphQL API replies mostly with users which have the default_actor
property filled to show profile information
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-29 17:43:22 +01:00
Thomas Citharel
909833c2bb
Remove unused alias
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-28 18:00:08 +01:00
Thomas Citharel
534138f775
More test stuff
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-28 17:16:23 +01:00
Thomas Citharel
da378633ac
Moar coverage
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-27 17:54:54 +01:00
Thomas Citharel
b99625afab
Add test to the follow backend
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-27 14:02:51 +01:00
Thomas Citharel
9f9113f094
Change schema a bit
...
Closes #29
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-23 15:03:53 +01:00
Thomas Citharel
403a32e996
Improve overall configuration and support
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-15 17:35:47 +01:00