Commit graph

132 commits

Author SHA1 Message Date
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 55902b56e7
Upgrade deps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-13 17:06:09 +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
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 dc07f34d78
Introduce comments below events
Also add tomstones

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-28 12:33:58 +01:00
Thomas Citharel c599a47d58
Introduce Mimirsbrunn geocoder and improve addresses & maps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-12 14:10:18 +01:00
Thomas Citharel 0e7cf89492
Remove floor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-08 19:39:02 +01:00
Thomas Citharel 95ba76a0fa
Fix issue when updating event and introduce background jobs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-04 16:40:36 +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
Thomas Citharel 7b6d9f73d3 Merge branch 'bug/delete-actors-cascade-followers' into 'master'
Make actors deletion cascade to followers

Closes #253

See merge request framasoft/mobilizon!294
2019-10-23 16:18:47 +02:00
Thomas Citharel 0f67256814
Make actors deletion cascade to followers
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-23 16:02:01 +02:00
Thomas Citharel b5f9518faf
Implement search engine & service in backend
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-23 15:27:11 +02:00
Thomas Citharel 342506bac0
Add some backend changes and validation for field length
Closes #225 and #226

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-18 11:31:11 +02:00
Thomas Citharel 442a011490
Add draft feature
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-02 18:23:32 +02:00
Thomas Citharel a84cfb5910
Save user locale and use it to translate things
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-01 13:08:09 +02:00
Thomas Citharel 5b4f1c271a
Send email notifications when a participation is approved/rejected
Also handles participant status :rejected instead of deleting the
participation

Closes #164

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-30 18:45:29 +02:00
miffigriffy f6800665e7 Apply formatting 2019-09-13 02:28:09 +02:00
miffigriffy e358dcce77 Refactoring of Events context 2019-09-13 01:01:17 +02:00
miffigriffy 4418275223 Refactoring of Actors context 2019-09-09 00:52:49 +02:00
miffy f316f0a940 Refactoring of Users context 2019-09-07 19:55:45 +02:00
miffy d0c9974558 Refactoring of Reports context 2019-09-07 18:54:30 +02:00
Thomas Citharel cb96b807a0
Improve event creation form by introducting EventOptions
It's a subentity that holds additional metadata in a map database type

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-02 17:11:27 +02:00
Thomas Citharel 050d5778dc
Remove events when deleting organizer
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-28 11:36:09 +02:00
Thomas Citharel 0e0b68445b
Reuse existing addresses when creating an event
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-22 16:20:42 +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 5fbaf42cad
Add address input and refactor federation stuff
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-30 10:35:29 +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
Thomas Citharel 5b3831b4bf
Attach actor to pictures entity 2019-05-31 18:07:37 +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
Thomas Citharel a877e4d7d9
Implement related events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-23 11:22:36 +02:00
Thomas Citharel ddad462076
Add description slug field for events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-11 14:45:31 +02:00
Thomas Citharel 0c8d2f7e00
Work around Addresses to bring them properly through GraphQL
Got caught with https://github.com/absinthe-graphql/absinthe/issues/601
at some point, that's why fields are renamed

Fix tests

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-01 16:51:15 +02: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 cb0808dbad
Introduce admin and moderator role, check role on list_users action
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Add test for guards
2019-03-07 14:18:11 +01:00
Thomas Citharel 7086fe8389
Make Categories a predefined list
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Allow null values for categories for now

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-25 15:31:04 +01:00
Thomas Citharel 7dd7e8fc36
Fix mix format and format migrations too
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Fix credo warnings

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Show elixir version

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Also lint migrations

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Reset allow failure to false

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-22 14:53:09 +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
Thomas Citharel 4bac5a07bd
Move Participant role from integer to enum
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-07 16:37:40 +01:00
Thomas Citharel 1b3ee17d72
Set visibility field default to null
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-07 14:01:38 +01:00
Thomas Citharel a2070b1d54
Split event visibility and join options
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Fix tests

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Fix format

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-07 11:49:14 +01:00
Chocobozzz 8388240957
Add ability to delete a group 2019-01-25 16:08:06 +01:00
Thomas Citharel 80c6351d2f
Remove type after column
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-15 14:22:06 +01:00
Thomas Citharel 3230381be4
Remove last occurences of address_type
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-14 18:12:52 +01:00
Thomas Citharel 289ba03960
Remove address_type and rename phone to phone_address
An event can indeed have several address types

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-14 17:48:08 +01:00
Thomas Citharel 2ece62bfb8
Add visibility to comments
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-14 16:21:13 +01:00
Thomas Citharel ab56d3e607
🔍 Implement basic event visibility
See https://framagit.org/framasoft/mobilizon/wikis/spec/Event#visibility

Also brings support for event status (tentative/confirmed/cancelled)

Closes #56

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-14 15:56:07 +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 e32ce85f0f Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-12 23:36:51 +01:00
Thomas Citharel 69c24b8b25 Fix comments table references
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-08 17:57:10 +01:00
Thomas Citharel b54dae7e15 Move to GraphQL
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-11-06 10:30:27 +01:00
Thomas Citharel 559c889f1b Rename project to Mobilizon
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-10-11 17:37:39 +02:00
Thomas Citharel 686cf04787 More tests 2018-08-24 11:34:00 +02:00
Thomas Citharel e1e9b0fc11 Add some tests
Also add a unicity constraint on the followers table

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-08-03 10:16:22 +02:00
Thomas Citharel c4cfb081e7 Add docker-compose dev
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-07-25 16:42:04 +02:00
Thomas Citharel dee437e4f3 Allow multiple identities (accounts actors) for one user.
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-07-10 10:00:07 +02:00
Thomas Citharel e170aa7f66 Mostly UI stuff
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-07-09 14:19:24 +02:00
Thomas Citharel 93a97b0865 Some work
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-07-04 14:29:17 +02:00
Thomas Citharel ca36dd12e2
Make tests great again !
(Also use only one field for public/private key pem)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-06-14 17:25:55 +02:00
Thomas Citharel d9cfe26f34
Remove duplicate migration
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-06-06 18:25:57 +02:00
Thomas Citharel 63b63d9ee2
Encore des commits degeu
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-06-06 18:18:33 +02:00
Thomas Citharel 90de5a105b
Add groups back
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-06-06 18:16:39 +02:00
Thomas Citharel cac4dd3ca3
Search
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-06-06 18:16:14 +02:00
Thomas Citharel e47ff97ac6
Front-end stuff
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-06-06 18:15:45 +02:00
Thomas Citharel f1cb601b46
WIP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-06-06 18:14:04 +02:00
Thomas Citharel e14007bac5
WIP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-06-06 18:12:21 +02:00
Thomas Citharel 4b4ecec693 Introduce avatar and banner and fetch Gravatar to fill avatar during registration
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

typo

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Rename avatar to avatar_url, same with header.

Add a comment to explain why the tweak with HTTPoison and TLS1.2

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Rename avatar to avatar_url

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

rename old avatar properties in front-end to avatar_url

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

fix change gravatar from ?d= to ?default=

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

reorganize aliases and imports

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

set avatar url only when gravatar exists, add a test for that case

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-27 19:04:45 +01:00
Thomas Citharel 07382d6aca Add adresses
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-17 11:39:01 +01:00
Thomas Citharel 67ef32432e Fix front-end, allow events to be created by a group, allow to get sessions from an event
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-16 19:45:09 +01:00
Thomas Citharel 32bd50d161 fix tags
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-15 12:17:34 +01:00
Thomas Citharel 8b4d1ab4e4 Add categories properly
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-15 12:04:09 +01:00
Thomas Citharel 9df9a795c7 Add state and fix casting
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-15 11:50:26 +01:00
Thomas Citharel 20cd1bb579 Change models, new migrations, fix front and make tests work
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-13 23:33:03 +01:00
Thomas Citharel 92d2045735 end
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2018-01-09 17:52:26 +01:00
Thomas Citharel 8ac705d8c2 replace coherence with guardian 2017-12-09 14:58:37 +01:00
Thomas Citharel 90ceb4f6fe initial commit
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-12-08 09:58:14 +01:00