Commit Graph

634 Commits

Author SHA1 Message Date
Thomas Citharel
6d8710f0fe
Send the membership emails in the correct language
And send them as well if the member is on the same instance 🙈

Close #472

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-01 10:21:07 +01:00
Thomas Citharel
d6d9309784
[LDAP] Allow to filter users by memberOf
Closes #528

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-01 09:16:41 +01:00
Thomas Citharel
0f5941a046
[LDAP] Allow to bind to an admin with a different FQDN
By directly providing the full DN

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-12-01 09:16:28 +01:00
Thomas Citharel
2141f92a30
Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-30 16:46:26 +01:00
Thomas Citharel
207d5c0eb0
Use better upstream deps
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-30 12:48:23 +01:00
Thomas Citharel
b05f0fe3e6
simplify user resolver errors
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-30 12:48:22 +01:00
Thomas Citharel
10eb64720e
Fix tests with scheduler notifications
Close #390

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-30 12:23:40 +01:00
Thomas Citharel
d041d274e0
Fix leftover from Picture -> Media rename
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-27 17:20:21 +01:00
Thomas Citharel
0e1dc0df8d
Clean unconfirmed users
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-27 11:10:12 +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
b11d35cbec
Backend support to get used media size for users and actors
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-23 17:00:42 +01:00
Thomas Citharel
6a1cd42d2c
Add backend to list an user's pictures
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-23 17:00:42 +01:00
Thomas Citharel
1cd680526a
Add backend to remove pictures
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-23 17:00:36 +01:00
Thomas Citharel
68a4222a18
Add missing leftover documentation for GraphQL schema
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-20 15:24:04 +01:00
Thomas Citharel
19c9cf5e16
Fix refreshing groups
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-20 11:44:00 +01:00
Thomas Citharel
3eacbb2ca3
Improve GraphQL documentation and cleanup API
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-20 11:44:00 +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
15a82c7bce
[Metadata] Fix actors not sanitizing their description and refactor
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-17 15:45:08 +01:00
Thomas Citharel
a115b49b4c
Only load all locales in prod mode
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-17 15:42:03 +01:00
Thomas Citharel
fdc8536c6f
Use user timezone in emails
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-17 09:36:32 +01:00
Thomas Citharel
6099878ac5
Allow Ueberauth providers to be used at runtime
Close #504

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-15 19:49:38 +01:00
Thomas Citharel
dbdb2bcdab
Use DateTime.utc_now/0 instead of Timex.local/0
Timex.local/0 requires the TZ environment variable to be set

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-14 19:07:19 +01:00
Thomas Citharel
782c01e85d
Fix email missing headers
Close #426 #491

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-13 18:00:05 +01:00
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
78e3bcb2f8
Add proper error message when accessing followers/followings w/ auth
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-02 18:11:27 +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
9540a486ec
Fix About page crashing when instance language is not supported
Use the languages defined by CLDR on server instead, and fallback to
english if not defined

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-02 12:12:55 +01:00
Thomas Citharel
6cda3c0a94
Don't allow remote comments to be inserted if parent event doesn't allow it
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-11-02 10:49:58 +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
Thomas Citharel
a269d77044 Fix pictures not being served by Plug.Static
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
bad8c779f8
Update demo mode to remove references to beta
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-28 11:41:39 +01:00
vincent debierre
07a69b78cf
Remove warning and reference to beta version status in text email format 2020-10-28 11:36:42 +01:00
Thomas Citharel
4e79d6a042
Fix detecting file MIME type if file hasn't got a name
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-27 16:32:34 +01:00
Thomas Citharel
6678e8f9eb Merge branch 'improve-local-upload' into 'master'
Improve local uploader

See merge request framasoft/mobilizon!653
2020-10-26 12:01:24 +01:00
Thomas Citharel
37402ece68
Improve local uploader
Check that destination file is not here and temporary file is still here

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-26 11:42:29 +01:00
Thomas Citharel
19b0f4fc91 Merge branch 'vpzomtrrfrt/mobilizon-port-support' into 'master'
Check port in compare_urls

See merge request framasoft/mobilizon!651
2020-10-26 10:01:31 +01:00
Colin Reeder
1cf59ef24a
Check port in compare_urls 2020-10-26 09:33:20 +01:00
Thomas Citharel
974620b3b3 Merge branch 'upload-and-avatar-improvements' into 'master'
Upload and avatar improvements

See merge request framasoft/mobilizon!646
2020-10-26 09:00:08 +01:00
Colin Reeder
32629a8d4b Fix is_public? for non-lists 2020-10-25 12:17:31 -06: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
ce7b8e05a1
Fallback GitStatus version code to mix env value
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-23 18:55:47 +02: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
afc9febf0b Merge branch 'docs-email' into 'master'
Docs email

See merge request framasoft/mobilizon!627
2020-10-21 11:38:13 +02:00
Thomas Citharel
85aa9df4f8
Fix webfinger not following redirections by using a custom dedicated Tesla client
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-21 11:20:15 +02:00
Thomas Citharel
e29704a928
Add task to refresh an instance relay
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-21 11:02:28 +02:00
Thomas Citharel
b94bf2ad87
Fix a credo issue
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 10:06:58 +02:00
Thomas Citharel
2b3d1d7f79
Fix issue with hostname validation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:58:19 +02:00
Thomas Citharel
2ad043a91d
Fix OEmbed preview parser
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:58:18 +02:00
Thomas Citharel
efd95044c2
Use a RichMediaPreviewClient to get details on resources
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:58:18 +02:00
Thomas Citharel
23dcb47ce5
Make sure only group moderators can update/delete events, posts
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:58:17 +02:00
Thomas Citharel
fc1d392211
Couple of fixes for groups
- Fix posts update federation and add tests
- Fix posts deletion federation and add tests

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-20 09:44:04 +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
479bd466b5
Improve debug logger message in webfinger module
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-15 17:19:15 +02:00
Thomas Citharel
8c9546ff2a
Improve member management
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-15 14:24:51 +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
2fc08dfc5c
Remove outdated string in install assistant
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-14 18:56:23 +02:00
Thomas Citharel
9573e417d9
Fix email template without variables
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-14 11:45:32 +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
bba9e6bf59
Fix tests with user tasks
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 15:53:18 +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
53c4f5dfde
Show user disabled status in mix task
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 15:20:30 +02:00
Thomas Citharel
edfcacf5ac
Fix a typo in create_bot task
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 15:20:07 +02:00
Thomas Citharel
3c6916360d
Completely delete user when user request self destruction
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 15:10:27 +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
1a3a3602d1
Change CLI delete user task to completly delete user by default
And document the new option

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-13 14:36:55 +02:00
Thomas Citharel
cd5418825b
Make sure a person profile page returns 404
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-12 13:38:25 +02:00
Thomas Citharel
dad9623482
Make sure only proper pictures are uploaded
Closes #384

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 19:29:12 +02:00
Thomas Citharel
c296381ed6
[Security] Fix events being editable by other users that organizers
Closes #385

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 18:12:35 +02:00
Thomas Citharel
24238da393
Fix a typo in the path to picture on error template
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 17:07:10 +02:00
Thomas Citharel
75fc1f125a
Show a proper error message on creating/updating an event
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 16:09:45 +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
07a5d10421
Introduce support for custom nginx error pages
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-09 14:48:49 +02:00
Thomas Citharel
ed4042ed1e
Fix injecting metadata into HTML pages
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-08 10:41:30 +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
9f9f58ce7d
Improve event update notification email
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-08 08:53:07 +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
77970b8091
Improve anonymous participation and confirmation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-07 17:05:15 +02:00
Thomas Citharel
9382e8fc74
Improve participation rejection email by adding bold
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-07 16:39:33 +02:00
Thomas Citharel
3a84e6dfa5
Improve anonymous participation confirmation email by adding bold
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-07 16:39:32 +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
05e5fc35d5
Improve profile registration
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-06 12:35:45 +02:00
Thomas Citharel
8eca9d9702
Make sure only organizer actor can comment if event comments are
disabled

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-05 17:42:53 +02:00
Thomas Citharel
8ba23c858b
Fix issues in email change emails
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-05 14:46:08 +02:00
Thomas Citharel
a576d41b24
Fix typo in atom name
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-05 14:45:58 +02:00
Thomas Citharel
afb7d75307
Fix invitations
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-02 16:19:31 +02:00
Thomas Citharel
4896036cd1
Make sure event and group search only return the correct type
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-02 16:19:30 +02:00
Thomas Citharel
d41aa3b2fd
Disallow accessing identity page when logged in
And disallow calls to fetchPerson when not our own profile or unlogged

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-02 09:53:32 +02:00
Thomas Citharel
beba4a16ea
Fix anonymous call to profile endpoint
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-10-01 19:10:18 +02:00