Commit Graph

293 Commits

Author SHA1 Message Date
Thomas Citharel
44559a71ee
Remove duplicate @doc blocs
Elixir 11 notifies this a lot

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-06 15:48:05 +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
7baad7cafc
Load only a few locales in dev environment
No need to load everything

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-06 12:03:20 +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
01f746a5d2 Allow to use Mix tasks inside Releases
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-31 02:42:06 +01:00
prichier
751b72a434 Fix Mix.env use in prod app & MR threads 2020-10-31 02:42:06 +01:00
prichier
1acff2dd8a Mutli-stage build for production 2020-10-31 02:42:06 +01:00
Thomas Citharel
67b906cc96
Fix language change
- Load the language files correctly when language is changed
- Save user language in localstorage so that we can have it even if disconnected (but still load it from user settings eventually since
user might be on a different device)
- Load all locales from Cldr with Gettext
- Fix pt-PT -> pt-BR
- Clean some obsolete config.exs comments

Later changes will allow to set the language without an account
https://framagit.org/framasoft/mobilizon/-/issues/375

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-28 19:57:57 +01:00
Thomas Citharel
4a11d4adcc
Add more tests to upload filters
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-25 12:00:00 +01:00
Thomas Citharel
a709a196bd
Fix list group elements
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-22 18:06:02 +02: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
d8185660e3
When filter on public group events, exclude draft events as well
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-22 16:58:18 +02:00
Thomas Citharel
fa7cd7e0e3
New unlogged homepage
With fancy illustrations 

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-21 17:49:18 +02:00
Thomas Citharel
0c4a7e0216
Fix listing group public events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:44:03 +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
f6480cb37e
Improve dashboard
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-15 11:04:05 +02:00
Thomas Citharel
cf9b8d5f46
Fix events from former followed instances showing up
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-14 11:45:32 +02:00
Thomas Citharel
86e1e84247
Use datetime with TZ for posts timestamps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-14 09:46:33 +02:00
Thomas Citharel
71476ee587
Don't sent reset email when user is disabled
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 15:21:00 +02:00
Thomas Citharel
8035fb743d
Don't count deactivated users in statistics
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 14:39:05 +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
f4b777c3d6
Make sure event update notification email gets sent to anonymous
participants

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-08 08:53:25 +02:00
Thomas Citharel
fbb1b2d607
Handle case when setting value is nil
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-08 08:19:59 +02:00
Thomas Citharel
586d8c440d
Add languages to admin settings
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-07 16:38:24 +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
27a75cd0df
Improve some texts on account registration and email notification
settings

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-06 15:36:19 +02:00
Thomas Citharel
e068326c4b
Fix duplicate events on homepage
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-01 17:51:07 +02:00
Thomas Citharel
aced4d039b
Fix posts and rework graphql errors
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-01 15:07:15 +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
69faeec14c
Allow to disable event creation
And change the group toggle

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-09-02 15:08:47 +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
45fa3e8ad0
Add login information to user
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-28 09:23:49 +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
b4f500532f
Allow to filter by begins_on and ends_on. Redirect explore to search
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:21 +02:00
Thomas Citharel
2198b2cb87
Allow to filter search by multiple tags
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:19 +02:00
Thomas Citharel
3807ab1b63
Allow events to be searched by location and period
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-08-10 15:40:18 +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
e0fad9ddd1
Update Instance Actor when updating instance settings
Also fix an issue when publishing activities to followers/group members

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-07-07 16:55:59 +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
6981b54679
Fix instance terms when contact is undefined
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-23 10:58:48 +02:00
Thomas Citharel
f5241954bd
Improve Terms of Service
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-23 10:35:15 +02:00
Thomas Citharel
5759f2bc32
Comment fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-18 16:50:47 +02:00
Thomas Citharel
b61d12b5fd
Participation panel revamp and fixes
Apollo is a pain in the ass with pagination & filters, so this removes
the tabs system and uses a <select> to filter instead

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-18 15:52:19 +02:00
Thomas Citharel
ef6a1a21ac
Even more fixes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 19:41:11 +02:00
Thomas Citharel
97197e3811
Improve registration page and add a rules option
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 11:01:49 +02:00
Thomas Citharel
0ea5b27402
Fix events tests with public visibility
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-15 09:11:35 +02:00
Thomas Citharel
0fcbbaa80c
Fix searchable unlisted events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-12 19:19:19 +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
c4cdfd9857
Currently happening events are not future events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-10 09:44:01 +02:00
Thomas Citharel
dac47d2abb
Add config option to allow anonymous reporting
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 14:07:49 +02:00
Thomas Citharel
8310a3d4b9
Use correct locale for participation emails
For anonymous participations we now use a locale parameter in metadata

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-09 10:32:26 +02:00
Thomas Citharel
7dbabcf15f
Add toggle to disable groups
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-08 16:47:57 +02:00
Thomas Citharel
3e74f59ee8
Send Notifications when participation approval
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-06-08 13:59:27 +02:00
Thomas Citharel
c56e299a09
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
42f07c17e5
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
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
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
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
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
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
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
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
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
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
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
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
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
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