Commit Graph

577 Commits

Author SHA1 Message Date
Thomas Citharel
69f7e6ae23 Send Notifications when participation approval
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-08 13:59:27 +02:00
Thomas Citharel
5203d3c9fd Merge branch 'validate-number-of-places' into 'master'
Validate number of places being a positive integer

Closes #286

See merge request framasoft/mobilizon!440
2020-06-05 11:52:33 +02:00
Thomas Citharel
d76d60c0cb Validate number of places being a positive integer
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-05 11:38:49 +02:00
Thomas Citharel
c54fea9fc2 Merge branch 'event-address-update-trigger-change' into 'master'
Also send event updates if physical address changed

See merge request framasoft/mobilizon!438
2020-06-05 11:02:46 +02:00
Thomas Citharel
d0fbf11e4e Add weekly notification
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-05 10:27:02 +02:00
Thomas Citharel
2fbdf9ed6d Also send event updates if physical address changed
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-05 10:18:08 +02:00
Thomas Citharel
dbcc1c3633 Disable mix docs for now
Because of https://github.com/elixir-lang/ex_doc/issues/1172

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-04 10:58:27 +02:00
Thomas Citharel
083ed0ecdb Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-03 16:55:34 +02:00
Thomas Citharel
b36a9f1322 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
6fa768c2e9 Fix DateTime comparison
!420 used Date.compare/2 instead of DateTime.compare/2

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-04-14 17:50:17 +02:00
setop
d560c5d548 fix compare begin and end dates
this bug prevent from creating an event with the day of month of the begin date greater than the day of month of the end date, event if end date is effectively greater than begin date.

for example, if the begin date is '2020-04-28' and end date is '2020-05-13', these dates are valid but because 28 > 13, the validation fails.

this is better explained in this article ["Never compare dates in Elixir using < or >"](https://blog.leif.io/never-use-to-compare-dates/).

using Date.compare, as proposed in this PR fix the issue.
2020-04-03 23:37:56 +02:00
Thomas Citharel
acfe75768d Add ability to add message for participation and improve participation
management interface

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-03-06 09:00:48 +01:00
Thomas Citharel
4270c396a3 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
d6481a4540 Validate Date header in HTTPSignatures
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-14 09:22:17 +01:00
Thomas Citharel
3f24d79498 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
1acdd82f7c Fix event link construction in emails
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-10 09:59:20 +01:00
Thomas Citharel
4f3b1d89b7 Fix event online URL AP attachment
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-07 18:41:36 +01:00
Thomas Citharel
e02f8f0012 Don't access remote events from non-federated instances when not logged
in

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-07 16:28:49 +01:00
Thomas Citharel
1bec806eb6 Add canonical link to the original event
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-07 16:25:30 +01:00
Thomas Citharel
d93e941a17 Move configuration to traditional way
️ This is the way.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-06 16:12:13 +01:00
Thomas Citharel
2875d263d2 Add anonymous and remote participations 2020-01-29 17:28:11 +01:00
rustra
ca5a4fd83c Fix Credo code readability issues 2020-01-28 20:15:59 +01:00
rustra
bf2a36314b Implement Credo software design suggestions 2020-01-28 19:18:33 +01:00
rustra
c3358ca352 Fix mix format 2020-01-26 21:53:17 +01:00
rustra
55858805c1 Rename MobilizonWeb to Mobilizon.Web 2020-01-26 21:39:49 +01:00
rustra
3d73c4bdb6 Move API under GraphQL context 2020-01-26 21:15:04 +01:00
rustra
8a24c6127f Split GraphQL as separate context 2020-01-26 20:34:25 +01:00
rustra
5a439e493b Improve Federation boundaries 2020-01-24 22:02:10 +01:00
rustra
a239d1e0b0 Separate Web modules related to Federation 2020-01-23 01:03:33 +01:00
rustra
47d32d2b18 Put HTTPSignatures, WebFinger and ActivityStream alongside with ActivityPub 2020-01-22 22:40:40 +01:00
rustra
9726b91b12 Split Federation as separate context 2020-01-22 02:14:42 +01:00
Thomas Citharel
ca6ba4d084 Restrict follows to approved actors/instances
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-19 13:41:25 +01:00
Thomas Citharel
cece3c89e9 Fix comments URLs
Also remote comments were marked as local

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-18 18:25:40 +01:00
Thomas Citharel
6d50da12fe Add a mix mobilizon.actors task to list actors tasks
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-18 15:57:15 +01:00
Thomas Citharel
7ec15d56bf Use mix.exs version instead of config one
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-18 14:32:20 +01:00
Thomas Citharel
dc3353c608 Move from Schema.org Place to AS Place with Schema.org properties
See https://socialhub.activitypub.rocks/t/how-to-represent-places-in-an-event/413

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-18 11:03:04 +01:00
Thomas Citharel
8b27c729be Fix event html representation with no Accept header
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-18 10:15:58 +01:00
Thomas Citharel
32c1af35df Handle actor or object being AP Public string
Mastodon uses "https://www.w3.org/ns/activitystreams#Public" as object
when sending a `Follow` activity to a relay

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 13:36:45 +01:00
Thomas Citharel
153a4315ef Fix signatures for relay
The plugs were missing

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 13:36:25 +01:00
Thomas Citharel
69048089a5 Add a config option to whitelist users registration
Through whole email or domain email

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 12:09:24 +01:00
Thomas Citharel
4f9dc5f8c2 Fix comment visibility and local status
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 09:49:08 +01:00
Thomas Citharel
68af824fb7 Update demo warning message
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 09:20:40 +01:00
Thomas Citharel
205427007a Improve JSON-LD representation for Address and add it to the docs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-16 11:47:57 +01:00
Thomas Citharel
8f6877c06d 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
56182343b8 Support pt:CommentsEnabled in addition to mz:repliesModeration
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-16 11:46:19 +01:00
Thomas Citharel
ce6f78b054 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
c91f3c618b 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
00f8322e8b Merge branch 'master' into 'feature/add-a-demo-mode'
# Conflicts:
#   CHANGELOG.md
2019-11-21 16:28:53 +01:00
Thomas Citharel
1abdbce7b6 Added a demo mode to show or hide instance warnings that data is deleted
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-21 16:07:43 +01:00
Thomas Citharel
6cff9f46ce 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
19cb670cec Disable address autocomplete where required (nominatim)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-20 13:49:57 +01:00
Thomas Citharel
12d5d73361 Merge branch 'feature/add-pelias-geocoder' into 'master'
Feature/add pelias geocoder

See merge request framasoft/mobilizon!324
2019-11-19 20:19:02 +01:00
Thomas Citharel
eb28d5da45 Update docs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-19 20:01:31 +01:00
Thomas Citharel
45439b7f78 Introduce support for Pelias geocoder
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-19 17:59:04 +01:00
Thomas Citharel
e2e2e157dd Fix duplicate tags when editing an event with tags in description
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-19 15:36:25 +01:00
Thomas Citharel
1a82a64411 Include sender mail in from: emails
Closes #277

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-19 11:12:59 +01:00
Thomas Citharel
b5e872a670 Handle missing geolix database
Close #313

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-19 10:47:48 +01:00
Thomas Citharel
c810468783 Validate ends_on being after begins_on
Closes #315

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-18 18:56:36 +01:00
Thomas Citharel
dffd70ec96 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
19c7756465 Fix #232 and #230
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-18 18:56:28 +01:00
Thomas Citharel
b876baa556 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
f41cf86fe9 Remove floor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-08 19:39:02 +01:00
Thomas Citharel
56b804f64b Fixes with addresses and iCalendar
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-06 10:04:17 +01:00
Thomas Citharel
0fc79d1219 Fix for adding addresses
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-06 09:32:01 +01:00
Thomas Citharel
5bf50057f5 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
b3b41ad777 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
567d8ba555 Make inserting data into search table an async operation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-23 16:33:56 +02:00
Thomas Citharel
c6ce7f6795 Fix unrelated warning
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-23 15:27:11 +02:00
Thomas Citharel
75ec6afffc Implement search engine & service in backend
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-23 15:27:11 +02:00
Thomas Citharel
25e25d5537 Allow WebP and Gif pics
svg stays forbidden until we can be sure it's fine security-wise

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-21 13:43:06 +02:00
Thomas Citharel
74c12d6736 Add the optimize filter for uploaded pics
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-21 13:42:45 +02:00
Thomas Citharel
0f43a71eb0 Limit multipart upload to 10MB
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-18 14:10:39 +02:00
Thomas Citharel
60b9fa235b 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
5d64299e42 Upgrade vue-cli to v4, change the way server params injection is made
and serve es6 modules

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-17 14:20:22 +02:00
Thomas Citharel
9901a26eb1 Merge branch 'bug/fix-XSS-on-event-title' into 'master'
Make sure title is properly sanitized

Closes #247

See merge request framasoft/mobilizon!281
2019-10-16 19:17:27 +02:00
Thomas Citharel
32b04755a8 Make sure title is properly sanitized
Close #247

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-16 19:03:31 +02:00
Thomas Citharel
6bdf44f60f Translate them and handle difference between user not found and user not
confirmed

Closes #212

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-16 17:07:49 +02:00
Damien
6c7bb75907 (Hopefully) improve grammar
[CI skip]
2019-10-15 21:38:49 +02:00
Thomas Citharel
71470cca9a set default to show event time
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 20:00:58 +02:00
Thomas Citharel
0dbde97fb5 Change link for Framacolibri
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 19:33:07 +02:00
Thomas Citharel
cc1e5ba24e Better handle datetime
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 19:29:18 +02:00
Thomas Citharel
fd3116a0a8 Properly update event ics export cache and fix export desc html
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 15:44:16 +02:00
Thomas Citharel
b28182d110 Prevent picture resend on event update, handle duplicate pictures
properly in backend and add a proper default picture

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 11:41:57 +02:00
Thomas Citharel
a1d2affbc0 Handle errors better
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-13 13:56:24 +02:00
Thomas Citharel
dcaf927b71 Participation fixes
Closes #208 and #210

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-13 10:51:22 +02:00
Thomas Citharel
f9de0f0d5d Merge branch 'test/add-cypress-on-event-creation' into 'master'
Add e2e seed and test event creation

See merge request framasoft/mobilizon!254
2019-10-12 19:47:19 +02:00
Thomas Citharel
88eee78123 Add e2e seed and test event creation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-12 19:34:16 +02:00
Thomas Citharel
78b9d6003c Add custom user-agent to geospatial calls
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-12 11:41:18 +02:00
Thomas Citharel
5e7c646225 Properly handle event status
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-11 16:34:03 +02:00
Thomas Citharel
a16832a446 Fix participation section, show how many places are available
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-11 15:26:16 +02:00
Thomas Citharel
69ea0f9721 Expose participants number through API
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-11 11:54:57 +02:00
Thomas Citharel
74fe9db43e Make sure people can't join an event with limited participants
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-11 11:50:06 +02:00
Thomas Citharel
896e6bf523 Add warning inside emails as well
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-11 10:44:53 +02:00
Thomas Citharel
ad8c681e95 Fix title & meta
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-10 17:28:32 +02:00
Thomas Citharel
206697891a Merge branch 'bug/email-logo-alt' into 'master'
Bug/email logo alt

See merge request framasoft/mobilizon!238
2019-10-10 14:57:07 +02:00
Thomas Citharel
5aab0e474c Replace email logo alternative text by instance name
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-10 14:27:06 +02:00
Thomas Citharel
29b3806471 Fix preview
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-10 12:25:32 +02:00
Thomas Citharel
3c07c8f7fb Fix editor related issues
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-10 11:05:53 +02:00
Thomas Citharel
211290985f Make sure featured events have currently happening events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-09 16:37:39 +02:00
Thomas Citharel
2a5b9a39e5 Fix unavailable access to an event
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-08 21:31:47 +02:00
Thomas Citharel
f5d4816c3d Properly handle account deleted
Close #191

Also fix an issue with public events not being accessible when requested
as another logged-in user.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-08 18:13:06 +02:00
Thomas Citharel
7f65428b38 Introduce Cypress
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-06 18:28:18 +02:00
Thomas Citharel
4bc8fbf714 Redirect to profile creation when user has no identities
Also load persons by ID instead of preferred_username

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-06 12:36:42 +02:00
Thomas Citharel
174a844ed5 Add draft feature
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-02 18:23:32 +02:00
Thomas Citharel
b0bba8ccb5 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
f8f5d0643a Notifications on event update
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-30 19:01:46 +02:00
Thomas Citharel
aab090f0c8 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
Thomas Citharel
54b00ff989 Add config option to disable federation
Closes #148

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-27 16:18:29 +02:00
Thomas Citharel
ef044c59e4 Fix rebase issue
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-26 18:10:11 +02:00
miffigriffi
ea072ff7c7 Fix software design suggestions 2019-09-26 17:45:47 +02:00
miffigriffi
24bb7d8ca5 Fix code readability issues 2019-09-26 17:45:47 +02:00
miffigriffi
32868d2e97 Fix refactoring opportunities 2019-09-26 17:45:33 +02:00
Thomas Citharel
f0233bac60 Merge branch 'feature/participate-dropdown' into 'master'
Add a dropdown on participate menu, disallow listing participations

Closes #174

See merge request framasoft/mobilizon!200
2019-09-26 17:41:14 +02:00
Thomas Citharel
fd669e90fa Add a dropdown on participate menu, disallow listing participations
Now requires quering the person endpoint to know if an actor
participates in an event, organizers can make authenticated requests to
event { participants { } } to see the pending / approved participants.

Also closes #174

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-26 17:00:01 +02:00
Thomas Citharel
6f6f8c2608 Remove unneeded Markdown converter (earmark)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-26 16:49:49 +02:00
Thomas Citharel
4aaabced2c [Backend] Allow to change your password
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-24 18:08:33 +02:00
Thomas Citharel
6c5b34e8f5 Fixes for email
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-24 12:09:43 +02:00
Thomas Citharel
59fae50318 🎨 Add fancy html emails
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-23 19:50:33 +02:00
Thomas Citharel
557d6ec954 Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-23 10:26:23 +02:00
Chocobozzz
e8ebd4c6e7 Exhaustive create/update event tests 2019-09-22 19:36:43 +02:00
Thomas Citharel
d80237f84f Fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-22 11:22:16 +02:00
Thomas Citharel
4d9f3c7247 Couple of fixes, and introducing Explore section
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-22 10:40:18 +02:00
Thomas Citharel
c5dd03f362 Allow to accept / reject participants
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-22 10:40:12 +02:00
Thomas Citharel
8570e14bb3 Work on dashboard
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-22 09:42:54 +02:00
Thomas Citharel
fbd6d31ff8 Move Mobilizon.Events.Activity to Mobilizon.Service.ActivityPub.Activity
It's only used for ActivityPub stuff, nothing DB related.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-22 09:24:18 +02:00
miffigriffi
5c575ec4ab Merge branch 'master' into refactoring-based-on-credo-and-dialyzer 2019-09-22 00:40:53 +02:00
miffigriffi
af996769cc mix credo warnings in Mobilizon context 2019-09-18 00:37:31 +02:00
miffigriffi
9342c12b32 Remove Dataloader related code from Mobilizon context 2019-09-18 00:18:45 +02:00
miffigriffi
4e324b4ffe Move caching to MobilizonWeb 2019-09-18 00:01:16 +02:00
miffigriffi
3716a826b9 Returm generation of URL by usage of MobilizonWeb.Endpoint 2019-09-17 22:10:22 +02:00
miffigriffi
c23c00e1c8 Move Email context under MobilizonWeb 2019-09-17 02:45:32 +02:00
miffigriffi
5f30334bcb Refactoring of Events context 2019-09-17 02:22:54 +02:00
miffigriffi
c6b37f63a1 Refactoring of Application module 2019-09-16 01:43:06 +02:00
miffigriffy
49822b1f67 Apply formatting 2019-09-13 02:28:09 +02:00
miffigriffy
3ab40411cd Clean specs 2019-09-13 02:15:04 +02:00
miffigriffy
76ed2b69a2 Move MIME under MobilizonWeb context 2019-09-13 01:35:56 +02:00
miffigriffy
bc5a9ed99d Move Activity under Events context 2019-09-13 01:35:03 +02:00
miffigriffy
edfb22f40f Refactoring of Events context 2019-09-13 01:01:17 +02:00
Thomas Citharel
44a8e2ecc7 Show number of participants
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-12 12:18:57 +02:00
miffigriffy
d828eeae7e Refactoring of Actors context 2019-09-11 23:36:14 +02:00
Thomas Citharel
efc52004de Add admin dashboard, event reporting, moderation report screens, moderation log
Close #156 and #158

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-09 20:53:16 +02:00
Chocobozzz
f67cafdae5 Edit events fixes and update cache 2019-09-09 14:41:19 +02:00
Thomas Citharel
c88278744f Fix failing test on updating actor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-09 09:55:08 +02:00
Thomas Citharel
ecd4675387 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
d3c3641d0a Refactoring of Actors context 2019-09-09 00:52:49 +02:00
miffy
e61520b8e4 Refactoring of Adresses context 2019-09-08 03:05:30 +02:00
miffy
5d2d4a91c9 Refactoring of Admin context 2019-09-08 02:06:28 +02:00
miffy
46bb816a23 Separating of Storage context 2019-09-08 01:49:56 +02:00
miffy
ce6efaece4 Refactoring of config wrapper 2019-09-08 00:05:54 +02:00
miffy
5733955181 Refactoring of Email context 2019-09-07 23:58:53 +02:00
miffy
da70286dcd Refactoring of Users context 2019-09-07 19:55:45 +02:00
miffy
0efe0ad5d6 Refactoring of Reports context 2019-09-07 18:54:30 +02:00
miffy
e8bd482bcd Refactoring of Media context 2019-09-07 02:36:37 +02:00
miffy
1b7394f886 Add separate module for pagination of queries 2019-09-07 02:32:23 +02:00
Thomas Citharel
c3b44f508a Correctly handle event update
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-05 13:59:52 +02:00
Thomas Citharel
3c1d554b75 Split ActivityPub.insert to create activity & insert object
So that when we're not inserting anything no need to call method

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-03 09:11:41 +02:00
Chocobozzz
86c735b36d Improve create event and prepare update event 2019-09-03 09:11:41 +02:00
Thomas Citharel
4844c8bc34 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
92c2a74afa Merge branch 'feature/group-create' into 'master'
Prepare create group

See merge request framasoft/mobilizon!173
2019-09-02 12:10:23 +02:00
Chocobozzz
fa324c9fda Prepare create group 2019-09-02 11:51:42 +02:00
Chocobozzz
a5af7f99ff Don't delete the last admin of a group 2019-08-26 15:44:02 +02:00
Thomas Citharel
61ddcdecae 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
895bae4b7e Federate participations
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-20 10:17:28 +02:00
Thomas Citharel
33c455f75a Make category optionnal and hide it from the form
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-13 11:15:19 +02:00
Thomas Citharel
1b3dfb20d2 Introduce relay
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-13 11:15:13 +02:00
Chocobozzz
db62eb4cd8 Fix lint 2019-08-13 10:59:12 +02:00
Chocobozzz
67c59950f3 Fix guardian db hook when refresh the access token 2019-08-12 17:41:41 +02:00
Chocobozzz
abaebd949d Remove apollo link state 2019-08-12 16:04:32 +02:00
Thomas Citharel
2d41e00771 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
a5ebf40829 Refactor adding tags to an event
Also refactor extracting tags from content, now uses Pleroma's Formatter

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-26 12:06:26 +02:00
Thomas Citharel
9f028195bf 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
c70d1d03d4 Front end deps upgrades and fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-23 17:14:03 +02:00
Thomas Citharel
ca4831f780 Introduce backend for reports
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-23 13:49:22 +02:00
Thomas Citharel
4d9aa3dc47 Merge branch 'add-node-info-2.0-support' into 'master'
Add NodeInfo 2.0 support (in addition to 2.1)

See merge request framasoft/mobilizon!155
2019-07-09 10:01:55 +02:00
Thomas Citharel
5041506949 Add NodeInfo 2.0 support (in addition to 2.1) and fix validation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-09 09:43:13 +02:00
Thomas Citharel
5cd70adec9 Fix 404s on RSS feeds
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-08 16:53:54 +02:00
Chocobozzz
7c8dee9a9d Add ability to update/create/delete identities 2019-07-08 16:32:22 +02:00
Thomas Citharel
fb07be4ed7 Final fixes for build
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-05 16:59:25 +02:00
Thomas Citharel
443dbb7f81 Upload pictures fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-04 17:43:23 +02:00
Thomas Citharel
ad1730a3a3 Drop the eex template and directly use the webpack index.html
Partly reverts ff7fd460

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-04 17:43:18 +02:00
Thomas Citharel
0e0df8df0d Upgrade Elixir deps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-07-03 17:30:22 +02:00
Thomas Citharel
dacb9cfd9f 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
aa9c18cf3c Add filesize to file entity, expose it to GraphQL API
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-06-03 17:13:47 +02:00
Thomas Citharel
7ef4ef264b Attach actor to pictures entity 2019-05-31 18:07:37 +02:00
Thomas Citharel
34e353939a Add proxy route and proxify pics everywhere
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-05-28 10:55:13 +02:00
Thomas Citharel
3cb29be4fc 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
Julien Lavergne
6657d3cc22 Update NodeInfo support to 2.1 (#79) 2019-05-24 09:18:19 +02:00
Vincent
5fbde60f0f Simplify PageController 2019-05-02 13:54:06 +02:00
Vincent
7aa9201414 Move eventos to mobilizon 2019-05-02 11:38:44 +02:00
Thomas Citharel
555620c7b0 Fix tests for FeedController
And remove useless Fallbacks in Fallback controller

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-30 14:30:26 +02:00
Thomas Citharel
cf10e45412 Fix warning
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-30 14:04:00 +02:00
Thomas Citharel
9d5bb8deea Fix Docker setup and add back back an entrypoint
* Also add special deps for argon2 support inside the Alpine image
* Make sure yarn install is triggered

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-30 13:56:20 +02:00
Vincent
4a425e6011 add make test and Remove vue-cli serve 2019-04-30 13:56:07 +02:00
Chocobozzz
fb072fc002 Only render public comments 2019-04-26 10:03:46 +02:00
Thomas Citharel
bf75335c2a 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
a3c90f1654 Merge branch 'feature/related_events' into 'master'
Feature/related events

See merge request framasoft/mobilizon!113
2019-04-23 11:31:20 +02:00
Thomas Citharel
f241251b24 Show related events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-23 11:23:18 +02:00
Thomas Citharel
5ee97dfa43 Implement related events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-23 11:22:36 +02:00
Chocobozzz
5d9186cfe1 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
Vincent
b5a96f5b03 Minor change on web_finger_controller 2019-04-17 17:33:36 +02:00
Thomas Citharel
c64d4924d1 Add description slug field for events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-11 14:45:31 +02:00
Thomas Citharel
45dbf3a2c6 Various UI stuff (mainly implement mookup)
Fix lint

Disable modern mode

Fixes

UI fixes

Fixes

Ignore .po~ files

Fixes

Fix homepage

Fixes

Fixes

Mix format

Fix tests

Fix tests (yeah…)

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-11 11:58:13 +02:00
Thomas Citharel
4df0ae055f Merge branch 'feature/event-maps' into 'master'
Feature/event maps

See merge request framasoft/mobilizon!105
2019-04-01 17:26:33 +02:00
Thomas Citharel
6814182ea2 Add timeline events you're going to
Mix format

Fix chocobozzz feedback

Only show upcoming events on feed

Remove console log calls

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-01 17:07:00 +02:00
Thomas Citharel
9a881ed4d9 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
Chocobozzz
2b99736f5b Get config and display/hide register button 2019-03-22 15:26:58 +01:00
Chocobozzz
de4ddf1aca Add config endpoint 2019-03-22 13:58:57 +01:00
Thomas Citharel
f2e4366ae8 ℹ Improve docs and documentation (again)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-19 11:16:03 +01:00
Thomas Citharel
ecb6d20d60 Better docs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Nicer docs

No 3rd stage

Add mix.deps get before docs

Add :ex_doc on test env so that it runs into CI
2019-03-18 12:10:29 +01:00
Thomas Citharel
3cb58ab601 Add GraphQL methods and test
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Finish

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

Fix tests

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-15 16:37:46 +01:00
Thomas Citharel
9f034990d8 Add GeoSpatial backends for geocoding
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Geospatial Backend

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-15 16:37:43 +01:00
Thomas Citharel
ff6053927a 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
30a5811b36 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
aea9621fd9 Add join/leave group 2019-03-08 14:43:45 +01:00
Thomas Citharel
f27b6b9816 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
2428b99ad0 Implement public actor ICS endpoint and event ICS export
Closes #83 and #84

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-06 17:07:42 +01:00
Thomas Citharel
061cd74ca1 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
Thomas Citharel
2500f01fb0 Make accept the default content-type on AP/HTML routes
Fixes case with Accept: */* getting AP instead of HTML

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-05 12:24:29 +01:00
Thomas Citharel
5c12d8d5c9 Merge branch 'feature/list-users' into 'master'
Add ability to list users

See merge request framasoft/mobilizon!83
2019-03-05 12:19:40 +01:00
Thomas Citharel
c7357cad55 Invert list users sort direction (make it desc)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-05 12:14:31 +01:00
Thomas Citharel
a9d0a4275d Fix routing between BE & FE and fix event creation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-05 12:07:58 +01:00
Thomas Citharel
aa28bb7264 Add @moduledoc to new module
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-05 10:41:23 +01:00
Chocobozzz
29af7e3b82 Add ability to list users 2019-03-05 10:41:23 +01:00
Thomas Citharel
355dce9dd7 Add and fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-05 10:13:19 +01:00
Thomas Citharel
8bf8e8a46f Add JSON-LD schema
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-04 18:38:30 +01:00
Thomas Citharel
d394bdae99 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
02a098446f Add Activity Pub endpoints cache
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-01 18:30:46 +01:00
Thomas Citharel
8c4ca7a045 Fix render/4 -> render/3 calls
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-03-01 14:54:02 +01:00
Thomas Citharel
e5ea49daff Refactor Atom feed caching
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Fixes
Fix tests
Fix tests
2019-03-01 14:53:56 +01:00
Thomas Citharel
ad36e34b22 Add cached RSS feeds for actors endpoints 2019-02-27 18:30:01 +01:00
Thomas Citharel
7edd61ef63 Merge branch 'make-sure-actor-usernames-are-unique' into 'master'
Make sure actor usernames are unique

Closes #72

See merge request framasoft/mobilizon!81
2019-02-25 18:41:26 +01:00
Thomas Citharel
ae1b97a3a0 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
aa99412aed Front-end fixes and updates
Especially Join/Leave event, Vue-Markdown replacement

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-25 17:20:06 +01:00
Thomas Citharel
c2a421eabd 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
82b34f112e Merge branch 'improve-tests' into 'master'
Improve tests

See merge request framasoft/mobilizon!78
2019-02-22 18:13:01 +01:00
Thomas Citharel
b044924278 Improve tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-22 18:07:20 +01:00
Thomas Citharel
71d06d4024 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
73df4b70a8 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
bf6da6cc55 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
8cd3217f3e Allow tag relations + bump ecto deps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-21 16:58:14 +01:00
Thomas Citharel
eedbd15723 Events with only one event creator participant can't be left
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-07 17:57:49 +01:00
Thomas Citharel
f5e6bd6a23 Base default participant role on event join_options instead of visbility
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-07 17:09:04 +01:00
Chocobozzz
a9dcd13578 Add API to join and leave an event 2019-02-07 16:56:59 +01:00
Thomas Citharel
5b97eeaf80 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
c2cf83e588 Merge branch 'split-event-visibility-and-join' into 'master'
Split event visibility and join options

Closes #56

See merge request framasoft/mobilizon!54
2019-02-07 14:07:16 +01:00
Thomas Citharel
d8131c21c0 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
e4c8222833 Add group resolver tests 2019-02-07 10:29:01 +01:00
Thomas Citharel
665e27e485 Add missing @moduledoc for MobilizonWeb.Schema.Utils
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-02-07 10:27:54 +01:00
Thomas Citharel
1b470f3f04 Handle validated users without profiles
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Format

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-30 15:59:30 +01:00
Thomas Citharel
640bb878e8 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