Commit graph

418 commits

Author SHA1 Message Date
Thomas Citharel fa19270232
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 01bdd7b344 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 c732ec7f87
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 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 3a753312c1
Validate Date header in HTTPSignatures
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-14 09:22:17 +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 da879f5bcd
Fix event link construction in emails
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-10 09:59:20 +01:00
Thomas Citharel 18c8b7bc14
Fix event online URL AP attachment
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-07 18:41:36 +01:00
Thomas Citharel 94df5bd1be
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 39017b63a9
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 9e3df495dc
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 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 bc31e2f0c2 Fix mix format 2020-01-26 21:53:17 +01:00
rustra 8856cc2f55 Rename MobilizonWeb to Mobilizon.Web 2020-01-26 21:39:49 +01:00
rustra b3f8d52bc9 Move API under GraphQL context 2020-01-26 21:15:04 +01:00
rustra ba3ad713c0 Split GraphQL as separate context 2020-01-26 20:34:25 +01:00
rustra 3577fe42e1 Improve Federation boundaries 2020-01-24 22:02:10 +01:00
rustra 8ca5c0b320 Separate Web modules related to Federation 2020-01-23 01:03:33 +01:00
rustra d1251280c5 Put HTTPSignatures, WebFinger and ActivityStream alongside with ActivityPub 2020-01-22 22:40:40 +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 b911ecbb00
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 9485694392
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 d8c20feead
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 814c9ab53b
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 846b4e9b77
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 822a522579
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 89b751e124
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 d552fcb2d3
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 28e966e5b0
Fix comment visibility and local status
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 09:49:08 +01:00
Thomas Citharel 4da3fb946b
Update demo warning message
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 09:20:40 +01:00
Thomas Citharel 39b7a5b948
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 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 14176ccc89
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 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 8aed527971 Merge branch 'master' into 'feature/add-a-demo-mode'
# Conflicts:
#   CHANGELOG.md
2019-11-21 16:28:53 +01:00
Thomas Citharel a53100ef6e
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 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 3b210a33a2
Disable address autocomplete where required (nominatim)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-20 13:49:57 +01:00
Thomas Citharel 83fcf2b62e 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 ea00cf45dc
Update docs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-19 20:01:31 +01:00
Thomas Citharel c7b25474d3
Introduce support for Pelias geocoder
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-19 17:59:04 +01:00
Thomas Citharel 321a04babe
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 b6645a4acc
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 258550ec94
Handle missing geolix database
Close #313

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-19 10:47:48 +01:00
Thomas Citharel 634a0b851e
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 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 f35698005a
Fix #232 and #230
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-18 18:56:28 +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 33f7c14db6
Fixes with addresses and iCalendar
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-06 10:04:17 +01:00
Thomas Citharel f91f8ab926
Fix for adding addresses
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-11-06 09:32:01 +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 b117985dff
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 39d7db07f3
Fix unrelated warning
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-23 15:27:11 +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 afa3bb1eff
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 d1fb90eece
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 c16ef05d88
Limit multipart upload to 10MB
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-18 14:10:39 +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 6718dd8e69
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 4dcbf85d9a 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 8094f1d80a
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 de9b26df2d
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 b98a86184b (Hopefully) improve grammar
[CI skip]
2019-10-15 21:38:49 +02:00
Thomas Citharel 5e9ca2f2f3
set default to show event time
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 20:00:58 +02:00
Thomas Citharel 7b296e01da
Change link for Framacolibri
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 19:33:07 +02:00
Thomas Citharel d93561742a
Better handle datetime
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-14 19:29:18 +02:00
Thomas Citharel cc701f8994
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 cbe1dd2868
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 33e51a05ec
Handle errors better
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-13 13:56:24 +02:00
Thomas Citharel 57f0b5dad1
Participation fixes
Closes #208 and #210

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-13 10:51:22 +02:00
Thomas Citharel 2577a2a27b 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 5e75daa732
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 d3a5b1f3e5
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 534ff09674
Properly handle event status
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-11 16:34:03 +02:00
Thomas Citharel 4499fb2f31
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 98472e7222
Expose participants number through API
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-11 11:54:57 +02:00
Thomas Citharel bf25d22786
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 210b348b46
Add warning inside emails as well
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-11 10:44:53 +02:00
Thomas Citharel 040faf4451
Fix title & meta
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-10 17:28:32 +02:00
Thomas Citharel 5a56c47360 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 aa233f43a7
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 ac35e4b923
Fix preview
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-10 12:25:32 +02:00
Thomas Citharel eca8b9ec7c
Fix editor related issues
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-10 11:05:53 +02:00
Thomas Citharel 5b1b7ee164
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 7a453b4329
Fix unavailable access to an event
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-08 21:31:47 +02:00
Thomas Citharel bff00dea21
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 77d286ebb6
Introduce Cypress
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-10-06 18:28:18 +02:00
Thomas Citharel 471e8ac472
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 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 5fd38ace2e
Notifications on event update
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-30 19:01:46 +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
Thomas Citharel 65b49e247f
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 8dc2fbcf98
Fix rebase issue
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-09-26 18:10:11 +02:00