summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.dockerignore3
-rw-r--r--.gitignore2
-rw-r--r--CODE_OF_CONDUCT.md2
-rw-r--r--README.md32
-rw-r--r--ansible/VERSION2
-rw-r--r--ansible/templates/config.hjson2
-rw-r--r--ansible/templates/docker-compose.yml23
-rwxr-xr-xdocker/dev/deploy.sh17
-rw-r--r--docker/dev/docker-compose.yml23
-rw-r--r--docker/iframely.config.local.js2
-rw-r--r--docker/lemmy.hjson2
-rw-r--r--docker/prod/docker-compose.yml25
-rw-r--r--docs/src/SUMMARY.md1
-rw-r--r--docs/src/about_goals.md23
-rw-r--r--docs/src/about_guide.md12
-rw-r--r--docs/src/about_ranking.md2
-rw-r--r--docs/src/lemmy_council.md53
-rw-r--r--server/Cargo.lock1213
-rw-r--r--server/Cargo.toml6
-rw-r--r--server/migrations/2020-03-06-202329_add_post_iframely_data/down.sql112
-rw-r--r--server/migrations/2020-03-06-202329_add_post_iframely_data/up.sql115
-rw-r--r--server/src/api/mod.rs3
-rw-r--r--server/src/api/post.rs16
-rw-r--r--server/src/api/user.rs15
-rw-r--r--server/src/apub/mod.rs4
-rw-r--r--server/src/db/comment.rs4
-rw-r--r--server/src/db/comment_view.rs4
-rw-r--r--server/src/db/community_view.rs6
-rw-r--r--server/src/db/moderator.rs4
-rw-r--r--server/src/db/post.rs16
-rw-r--r--server/src/db/post_view.rs101
-rw-r--r--server/src/db/user_mention.rs4
-rw-r--r--server/src/lib.rs89
-rw-r--r--server/src/schema.rs4
-rw-r--r--server/src/version.rs2
-rw-r--r--ui/assets/css/main.css58
-rw-r--r--ui/assets/css/tippy.css1
-rw-r--r--ui/generate_translations.js25
-rw-r--r--ui/package.json13
-rw-r--r--ui/src/components/comment-form.tsx100
-rw-r--r--ui/src/components/comment-node.tsx932
-rw-r--r--ui/src/components/comment-nodes.tsx1
-rw-r--r--ui/src/components/community-form.tsx220
-rw-r--r--ui/src/components/community.tsx18
-rw-r--r--ui/src/components/iframely-card.tsx42
-rw-r--r--ui/src/components/inbox.tsx8
-rw-r--r--ui/src/components/main.tsx53
-rw-r--r--ui/src/components/modlog.tsx2
-rw-r--r--ui/src/components/moment-time.tsx31
-rw-r--r--ui/src/components/navbar.tsx29
-rw-r--r--ui/src/components/post-form.tsx28
-rw-r--r--ui/src/components/post-listing.tsx1276
-rw-r--r--ui/src/components/post-listings.tsx2
-rw-r--r--ui/src/components/post.tsx24
-rw-r--r--ui/src/components/private-message-form.tsx27
-rw-r--r--ui/src/components/private-message.tsx71
-rw-r--r--ui/src/components/sidebar.tsx30
-rw-r--r--ui/src/components/site-form.tsx228
-rw-r--r--ui/src/components/sort-select.tsx47
-rw-r--r--ui/src/components/symbols.tsx83
-rw-r--r--ui/src/components/user.tsx11
-rw-r--r--ui/src/i18next.ts4
-rw-r--r--ui/src/index.html1
-rw-r--r--ui/src/interfaces.ts20
-rw-r--r--ui/src/services/WebSocketService.ts15
-rw-r--r--ui/src/translations/ca.ts239
-rw-r--r--ui/src/translations/de.ts210
-rw-r--r--ui/src/translations/en.ts240
-rw-r--r--ui/src/translations/eo.ts177
-rw-r--r--ui/src/translations/es.ts242
-rw-r--r--ui/src/translations/fa.ts169
-rw-r--r--ui/src/translations/fi.ts236
-rw-r--r--ui/src/translations/fr.ts242
-rw-r--r--ui/src/translations/it.ts192
-rw-r--r--ui/src/translations/nl.ts234
-rw-r--r--ui/src/translations/pt_br.ts241
-rw-r--r--ui/src/translations/ru.ts170
-rw-r--r--ui/src/translations/sv.ts195
-rw-r--r--ui/src/translations/zh.ts164
-rw-r--r--ui/src/utils.ts82
-rw-r--r--ui/src/version.ts2
-rw-r--r--ui/translation_report.ts62
-rw-r--r--ui/translations/ar.json180
-rw-r--r--ui/translations/ca.json237
-rw-r--r--ui/translations/de.json239
-rw-r--r--ui/translations/en.json250
-rw-r--r--ui/translations/eo.json175
-rw-r--r--ui/translations/es.json240
-rw-r--r--ui/translations/fa.json167
-rw-r--r--ui/translations/fi.json234
-rw-r--r--ui/translations/fr.json231
-rw-r--r--ui/translations/it.json213
-rw-r--r--ui/translations/ja.json202
-rw-r--r--ui/translations/nl.json232
-rw-r--r--ui/translations/pt_BR.json243
-rw-r--r--ui/translations/ru.json204
-rw-r--r--ui/translations/sv.json193
-rw-r--r--ui/translations/zh.json162
-rw-r--r--ui/yarn.lock59
99 files changed, 6841 insertions, 5061 deletions
diff --git a/.dockerignore b/.dockerignore
index a9e142d6..372b05bf 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -3,4 +3,7 @@ server/target/debug
!server/target/debug/lemmy_server
server/target/release
server/target/debug/incremental
+ui/dist
+server/target
+docker/dev/volumes
.git
diff --git a/.gitignore b/.gitignore
index 3eedf03c..7d60afd6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,5 @@ docker/dev/env_deploy.sh
docker/federation-test/volumes
build/
.idea/
+ui/src/translations
+docker/dev/volumes \ No newline at end of file
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index b350ddbb..5a6c7d67 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -19,7 +19,7 @@ These are the policies for upholding our community’s standards of conduct. If
1. Remarks that violate the Lemmy standards of conduct, including hateful, hurtful, oppressive, or exclusionary remarks, are not allowed. (Cursing is allowed, but never targeting another user, and never in a hateful manner.)
2. Remarks that moderators find inappropriate, whether listed in the code of conduct or not, are also not allowed.
-3. Moderators will first respond to such remarks with a warning.
+3. Moderators will first respond to such remarks with a warning, at the same time the offending content will likely be removed whenever possible.
4. If the warning is unheeded, the user will be “kicked,” i.e., kicked out of the communication channel to cool off.
5. If the user comes back and continues to make trouble, they will be banned, i.e., indefinitely excluded.
6. Moderators may choose at their discretion to un-ban the user if it was a first offense and they offer the offended party a genuine apology.
diff --git a/README.md b/README.md
index 81eceb74..2adad59c 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,7 @@
[![Build Status](https://travis-ci.org/dessalines/lemmy.svg?branch=master)](https://travis-ci.org/dessalines/lemmy)
[![GitHub issues](https://img.shields.io/github/issues-raw/dessalines/lemmy.svg)](https://github.com/dessalines/lemmy/issues)
[![Docker Pulls](https://img.shields.io/docker/pulls/dessalines/lemmy.svg)](https://cloud.docker.com/repository/docker/dessalines/lemmy/)
+[![Translation status](http://weblate.yerbamate.dev/widgets/lemmy/-/lemmy/svg-badge.svg)](http://weblate.yerbamate.dev/engage/lemmy/)
[![License](https://img.shields.io/github/license/dessalines/lemmy.svg)](LICENSE)
![GitHub stars](https://img.shields.io/github/stars/dessalines/lemmy?style=social)
</div>
@@ -77,6 +78,7 @@ Each lemmy server can set its own moderation policy; appointing site-wide admins
- A post can consist of a title and any combination of self text, a URL, or nothing else.
- Notifications, on comment replies and when you're tagged.
- Notifications can be sent via email.
+ - Private messaging support.
- i18n / internationalization support.
- RSS / Atom feeds for `All`, `Subscribed`, `Inbox`, `User`, and `Community`.
- Cross-posting support.
@@ -124,35 +126,7 @@ Lemmy is free, open-source software, meaning no advertising, monetizing, or vent
### Translations
-If you'd like to add translations, take a look at the [English translation file](ui/src/translations/en.ts).
-
-- Languages supported: Brazilian Portuguese (`pt-br`), Catalan, (`ca`), Farsi (`fa`), English (`en`), Chinese (`zh`), Dutch (`nl`), Esperanto (`eo`), Finnish (`fi`), French (`fr`), Spanish (`es`), Swedish (`sv`), German (`de`), Russian (`ru`), Italian (`it`).
-
-<!-- translations -->
-
-lang | done | missing
----- | ---- | -------
-ca | 97% | cross_posted_to,old,support_on_liberapay,couldnt_get_comments,post_title_too_long,time,action
-de | 86% | cross_posted_to,create_private_message,send_secure_message,send_message,message,avatar,upload_avatar,show_avatars,old,docs,message_sent,messages,old_password,matrix_user_id,private_message_disclaimer,send_notifications_to_email,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw,donate_to_lemmy,donate,from,logged_in,couldnt_get_comments,post_title_too_long,email_already_exists,couldnt_create_private_message,no_private_message_edit_allowed,couldnt_update_private_message,time,action
-fa | 71% | cross_post,cross_posted_to,subscribed_to_communities,trending_communities,create_private_message,send_secure_message,send_message,message,mod,mods,moderates,remove_as_mod,appoint_as_mod,modlog,stickied,ban,ban_from_site,unban,unban_from_site,banned,number_of_subscribers,subscribers,both,saved,unsubscribe,subscribe,subscribed,old,api,docs,inbox,inbox_for,message_sent,notifications_error,messages,no_email_setup,matrix_user_id,private_message_disclaimer,url,body,copy_suggested_title,community,expand_here,subscribe_to_communities,theme,sponsor_message,support_on_liberapay,general_sponsors,joined,by,to,from,landing_0,logged_in,couldnt_get_comments,community_moderator_already_exists,community_follower_already_exists,community_user_already_banned,post_title_too_long,no_slurs,admin_already_created,couldnt_create_private_message,no_private_message_edit_allowed,couldnt_update_private_message,time,action
-eo | 73% | cross_posted_to,number_of_communities,create_private_message,send_secure_message,send_message,message,preview,upload_image,avatar,upload_avatar,show_avatars,formatting_help,view_source,sticky,unsticky,archive_link,stickied,delete_account,delete_account_confirm,banned,creator,number_online,old,docs,replies,mentions,message_sent,messages,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,matrix_user_id,private_message_disclaimer,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw,theme,support_on_liberapay,donate_to_lemmy,donate,from,are_you_sure,yes,no,logged_in,couldnt_get_comments,post_title_too_long,email_already_exists,couldnt_create_private_message,no_private_message_edit_allowed,couldnt_update_private_message,time,action
-es | 99% | cross_posted_to,couldnt_get_comments,post_title_too_long
-fi | 97% | cross_posted_to,old,support_on_liberapay,couldnt_get_comments,post_title_too_long,time,action
-fr | 100% |
-it | 82% | cross_posted_to,create_private_message,send_secure_message,send_message,message,avatar,upload_avatar,show_avatars,archive_link,old,docs,message_sent,messages,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,matrix_user_id,private_message_disclaimer,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw,donate_to_lemmy,donate,from,logged_in,couldnt_get_comments,post_title_too_long,email_already_exists,couldnt_create_private_message,no_private_message_edit_allowed,couldnt_update_private_message,time,action
-nl | 98% | cross_posted_to,couldnt_get_comments,post_title_too_long,time,action
-pt-br | 99% | couldnt_get_comments,post_title_too_long
-ru | 70% | cross_posts,cross_post,cross_posted_to,number_of_communities,create_private_message,send_secure_message,send_message,message,preview,upload_image,avatar,upload_avatar,show_avatars,formatting_help,view_source,sticky,unsticky,archive_link,stickied,delete_account,delete_account_confirm,banned,creator,number_online,old,docs,replies,mentions,message_sent,messages,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,matrix_user_id,private_message_disclaimer,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw,recent_comments,theme,support_on_liberapay,donate_to_lemmy,donate,monero,by,to,from,transfer_community,transfer_site,are_you_sure,yes,no,logged_in,couldnt_get_comments,post_title_too_long,email_already_exists,couldnt_create_private_message,no_private_message_edit_allowed,couldnt_update_private_message,time,action
-sv | 81% | cross_posted_to,create_private_message,send_secure_message,send_message,message,avatar,upload_avatar,show_avatars,archive_link,old,docs,replies,mentions,message_sent,messages,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,matrix_user_id,private_message_disclaimer,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw,support_on_liberapay,donate_to_lemmy,donate,from,logged_in,couldnt_get_comments,post_title_too_long,email_already_exists,couldnt_create_private_message,no_private_message_edit_allowed,couldnt_update_private_message,time,action
-zh | 69% | cross_posts,cross_post,cross_posted_to,users,number_of_communities,create_private_message,send_secure_message,send_message,message,preview,upload_image,avatar,upload_avatar,show_avatars,formatting_help,view_source,sticky,unsticky,archive_link,settings,stickied,delete_account,delete_account_confirm,banned,creator,number_online,old,docs,replies,mentions,message_sent,messages,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,matrix_user_id,private_message_disclaimer,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw,recent_comments,nsfw,show_nsfw,theme,donate_to_lemmy,donate,monero,by,to,from,transfer_community,transfer_site,are_you_sure,yes,no,logged_in,couldnt_get_comments,post_title_too_long,email_already_exists,couldnt_create_private_message,no_private_message_edit_allowed,couldnt_update_private_message,time,action
-<!-- translationsstop -->
-
-If you'd like to update this report, run:
-
-```bash
-cd ui
-ts-node translation_report.ts
-```
+If you want to help with translating, take a look at [Weblate](https://weblate.yerbamate.dev/projects/lemmy/).
## Contact
diff --git a/ansible/VERSION b/ansible/VERSION
index 6095ec4e..f9fc17d6 100644
--- a/ansible/VERSION
+++ b/ansible/VERSION
@@ -1 +1 @@
-v0.6.25
+v0.6.39
diff --git a/ansible/templates/config.hjson b/ansible/templates/config.hjson
index 42698dfb..c0f387c4 100644
--- a/ansible/templates/config.hjson
+++ b/ansible/templates/config.hjson
@@ -1,7 +1,7 @@
{
database: {
password: "{{ postgres_password }}"
- host: "lemmy_db"
+ host: "postgres"
}
hostname: "{{ domain }}"
jwt_secret: "{{ jwt_password }}"
diff --git a/ansible/templates/docker-compose.yml b/ansible/templates/docker-compose.yml
index bf9aeeb5..57ee142a 100644
--- a/ansible/templates/docker-compose.yml
+++ b/ansible/templates/docker-compose.yml
@@ -9,31 +9,32 @@ services:
volumes:
- ./lemmy.hjson:/config/config.hjson:ro
depends_on:
- - lemmy_db
- - lemmy_pictshare
+ - postgres
+ - pictshare
+ - iframely
- lemmy_db:
+ postgres:
image: postgres:12-alpine
environment:
- POSTGRES_USER=lemmy
- POSTGRES_PASSWORD={{ postgres_password }}
- POSTGRES_DB=lemmy
volumes:
- - lemmy_db:/var/lib/postgresql/data
+ - ./volumes/postgres:/var/lib/postgresql/data
restart: always
- lemmy_pictshare:
+ pictshare:
image: shtripok/pictshare:latest
ports:
- "127.0.0.1:8537:80"
volumes:
- - lemmy_pictshare:/usr/share/nginx/html/