From 90ae426e247665f9985e1c0740b185f1e513a835 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Thu, 30 Jul 2020 14:25:01 -0400 Subject: [PATCH 01/12] Some small fixes. --- ui/src/components/comment-form.tsx | 3 +++ ui/src/utils.ts | 11 +++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ui/src/components/comment-form.tsx b/ui/src/components/comment-form.tsx index 01222b27..5597f58e 100644 --- a/ui/src/components/comment-form.tsx +++ b/ui/src/components/comment-form.tsx @@ -144,6 +144,9 @@ export class CommentForm extends Component { // This only finishes this form, if the randomly generated form_id matches the one received if (this.state.commentForm.form_id == data.form_id) { this.setState({ finished: true }); + + // Necessary because it broke tribute for some reaso + this.setState({ finished: false }); } } } diff --git a/ui/src/utils.ts b/ui/src/utils.ts index 55a0777a..2ef1d070 100644 --- a/ui/src/utils.ts +++ b/ui/src/utils.ts @@ -588,6 +588,9 @@ export function messageToastify( export function setupTribute(): Tribute { return new Tribute({ + noMatchTemplate: function () { + return ''; + }, collection: [ // Emojis { @@ -669,7 +672,7 @@ function userSearch(text: string, cb: any) { WebSocketService.Instance.search(form); - this.userSub = WebSocketService.Instance.subject.subscribe( + let userSub = WebSocketService.Instance.subject.subscribe( msg => { let res = wsJsonToRes(msg); if (res.op == UserOperation.Search) { @@ -683,7 +686,7 @@ function userSearch(text: string, cb: any) { }; }); cb(users); - this.userSub.unsubscribe(); + userSub.unsubscribe(); } }, err => console.error(err), @@ -706,7 +709,7 @@ function communitySearch(text: string, cb: any) { WebSocketService.Instance.search(form); - this.communitySub = WebSocketService.Instance.subject.subscribe( + let communitySub = WebSocketService.Instance.subject.subscribe( msg => { let res = wsJsonToRes(msg); if (res.op == UserOperation.Search) { @@ -720,7 +723,7 @@ function communitySearch(text: string, cb: any) { }; }); cb(communities); - this.communitySub.unsubscribe(); + communitySub.unsubscribe(); } }, err => console.error(err), From 1e75e6591ad99bcf1dffe4d7e33e8825ad5eb04c Mon Sep 17 00:00:00 2001 From: Monday Tuesday Date: Thu, 30 Jul 2020 21:37:32 +0000 Subject: [PATCH 02/12] Translated using Weblate (German) Currently translated at 100.0% (266 of 266 strings) Translation: Lemmy/lemmy Translate-URL: http://weblate.yerbamate.dev/projects/lemmy/lemmy/de/ Translated using Weblate (Polish) Currently translated at 92.1% (245 of 266 strings) Translation: Lemmy/lemmy Translate-URL: http://weblate.yerbamate.dev/projects/lemmy/lemmy/pl/ --- ui/translations/de.json | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/ui/translations/de.json b/ui/translations/de.json index 3199bc7a..597a8bb9 100644 --- a/ui/translations/de.json +++ b/ui/translations/de.json @@ -14,7 +14,7 @@ "number_of_comments": "{{count}} Kommentar", "number_of_comments_plural": "{{count}} Kommentare", "remove_comment": "Kommentar löschen", - "communities": "Communitys", + "communities": "Communities", "users": "Benutzer", "create_a_community": "Eine Community anlegen", "create_community": "Community erstellen", @@ -168,7 +168,7 @@ "yes": "Ja", "no": "Nein", "powered_by": "Bereitgestellt durch", - "landing_0": "Lemmy ist ein <1>Link-Aggregator / Reddit Alternative im <2>Fediverse.<3>Es ist selbst-hostbar, hat live-updates von Kommentar-threads und ist winzig (<4>~80kB). Federation in das ActivityPub Netzwerk ist geplant. <5>Dies ist eine <6>sehr frühe Beta Version, und viele Features funktionieren zurzeit nicht richtig oder fehlen. <7>Schlage neue Features vor oder melde Bugs <8>hier.<9>Gebaut mit <10>Rust, <11>Actix, <12>Inferno, <13>Typescript.", + "landing": "Lemmy ist ein <1>Link-Aggregator / Reddit Alternative im <2>Fediverse.<3>Es ist selbst-hostbar, hat live-updates von Kommentar-threads und ist winzig (<4>~80kB). Federation in das ActivityPub Netzwerk ist geplant. <5>Dies ist eine <6>sehr frühe Beta Version, und viele Features funktionieren zurzeit nicht richtig oder fehlen. <7>Schlage neue Features vor oder melde Bugs <8>hier.<9>Gebaut mit <10>Rust, <11>Actix, <12>Inferno, <13>Typescript. <14> <15>Vielen Dank an unsere Mitwirkenden: dessalines, Nutomic, asonix, zacanger, and iav.", "not_logged_in": "Nicht eingeloggt.", "community_ban": "Du wurdest von dieser Community gebannt.", "site_ban": "Du wurdest von dieser Seite gebannt", @@ -216,7 +216,7 @@ "messages": "Nachrichten", "old_password": "Letztes Passwort", "matrix_user_id": "Matrix Benutzer", - "private_message_disclaimer": "Achtung: Private Nachrichten sind in Lemmy nicht sicher. Bitte erstelle einen <1>Riot.im Account für sicheren Nachrichtenverkehr.", + "private_message_disclaimer": "Achtung: Private Nachrichten sind in Lemmy nicht verschlüsselt. Bitte erstelle einen<1>Element.io Account für sicheren Nachrichtenverkehr.", "send_notifications_to_email": "Sende Benachrichtigungen per Email", "downvotes_disabled": "Downvotes deaktiviert", "enable_downvotes": "Aktiviere Downvotes", @@ -256,5 +256,22 @@ "click_to_delete_picture": "Klicke, um das Bild zu löschen.", "picture_deleted": "Bild gelöscht.", "select_a_community": "Wähle eine Community aus", - "invalid_username": "Ungültiger Benutzername." + "invalid_username": "Ungültiger Benutzername.", + "bold": "fett", + "italic": "kursiv", + "subscript": "Tiefzeichen", + "superscript": "Hochzeichen", + "header": "Header", + "strikethrough": "durchgestrichen", + "quote": "Zitat", + "spoiler": "Spoiler", + "list": "Liste", + "not_a_moderator": "Kein Moderator.", + "invalid_url": "Ungültige URL.", + "must_login": "Du musst <1>eingeloggt oder registriert sein um zu Kommentieren.", + "no_password_reset": "Du kannst dein Passwort ohne E-Mail nicht zurücksetzen.", + "cake_day_info": "Heute ist {{ creator_name }}'s cake day!", + "invalid_post_title": "Ungültiger Post Titel", + "cake_day_title": "Cake day:", + "what_is": "Was ist" } From 7938e8f5c8955337564ea819a002c567b77193d8 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Sat, 1 Aug 2020 19:14:54 -0400 Subject: [PATCH 03/12] Some front end fixes. --- docs/src/contributing_local_development.md | 2 +- ui/assets/css/main.css | 4 ++++ ui/src/components/post-listing.tsx | 6 +++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/src/contributing_local_development.md b/docs/src/contributing_local_development.md index 9bdeff9a..b95c308d 100644 --- a/docs/src/contributing_local_development.md +++ b/docs/src/contributing_local_development.md @@ -1,7 +1,7 @@ ### Install build requirements #### Ubuntu ``` -sudo apt install git cargo libssl-dev pkg-config libpq-dev yarn curl gnupg2 +sudo apt install git cargo libssl-dev pkg-config libpq-dev yarn curl gnupg2 espeak # install yarn curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list diff --git a/ui/assets/css/main.css b/ui/assets/css/main.css index e6e6bed2..d7e730d3 100644 --- a/ui/assets/css/main.css +++ b/ui/assets/css/main.css @@ -87,6 +87,10 @@ line-height: 1.0; } +.post-title a:visited { + color: var(--gray) !important; +} + .icon { display: inline-flex; width: 1em; diff --git a/ui/src/components/post-listing.tsx b/ui/src/components/post-listing.tsx index 4271d3c1..a909c702 100644 --- a/ui/src/components/post-listing.tsx +++ b/ui/src/components/post-listing.tsx @@ -315,7 +315,7 @@ export class PostListing extends Component {
{this.props.showBody && post.url ? ( { ) : ( @@ -419,7 +419,7 @@ export class PostListing extends Component { className="unselectable pointer ml-2 text-muted font-italic" data-tippy-content={i18n.t('stickied')} > - + From 1a0f70450ccf2c21274b07367c4e923595ad59b6 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Sat, 1 Aug 2020 19:17:53 -0400 Subject: [PATCH 04/12] Version v0.7.36 --- ansible/VERSION | 2 +- docker/prod/docker-compose.yml | 2 +- docker/travis/docker_push.sh | 4 ++-- server/src/version.rs | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ansible/VERSION b/ansible/VERSION index d0228684..a86b1d48 100644 --- a/ansible/VERSION +++ b/ansible/VERSION @@ -1 +1 @@ -v0.7.35 +v0.7.36 diff --git a/docker/prod/docker-compose.yml b/docker/prod/docker-compose.yml index 334d76f9..d2656c61 100644 --- a/docker/prod/docker-compose.yml +++ b/docker/prod/docker-compose.yml @@ -12,7 +12,7 @@ services: restart: always lemmy: - image: dessalines/lemmy:v0.7.35 + image: dessalines/lemmy:v0.7.36 ports: - "127.0.0.1:8536:8536" restart: always diff --git a/docker/travis/docker_push.sh b/docker/travis/docker_push.sh index 71999bfe..31d77a18 100644 --- a/docker/travis/docker_push.sh +++ b/docker/travis/docker_push.sh @@ -1,5 +1,5 @@ #!/bin/sh echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin docker tag dessalines/lemmy:travis \ - dessalines/lemmy:v0.7.35 -docker push dessalines/lemmy:v0.7.35 + dessalines/lemmy:v0.7.36 +docker push dessalines/lemmy:v0.7.36 diff --git a/server/src/version.rs b/server/src/version.rs index 6b06cf4e..76cc1a8f 100644 --- a/server/src/version.rs +++ b/server/src/version.rs @@ -1 +1 @@ -pub const VERSION: &str = "v0.7.35"; +pub const VERSION: &str = "v0.7.36"; From 4acd3c5bd269899d03a0e7c3a45b0ef313e85f0e Mon Sep 17 00:00:00 2001 From: alltheseteeth <67934723+alltheseteeth@users.noreply.github.com> Date: Sat, 1 Aug 2020 23:33:39 +0000 Subject: [PATCH 05/12] added trailing slash fix to every nginx conf I could find (#1046) --- ansible/templates/nginx.conf | 3 +++ docker/federation/nginx.conf | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/ansible/templates/nginx.conf b/ansible/templates/nginx.conf index eaaa6b79..4f66292c 100644 --- a/ansible/templates/nginx.conf +++ b/ansible/templates/nginx.conf @@ -60,6 +60,9 @@ server { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + # Cuts off the trailing slash on URLs to make them valid + rewrite ^(.+)/+$ $1 permanent; + # WebSocket support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; diff --git a/docker/federation/nginx.conf b/docker/federation/nginx.conf index 2093297e..57306798 100644 --- a/docker/federation/nginx.conf +++ b/docker/federation/nginx.conf @@ -17,6 +17,9 @@ http { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + # Cuts off the trailing slash on URLs to make them valid + rewrite ^(.+)/+$ $1 permanent; + # WebSocket support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; @@ -57,6 +60,9 @@ http { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + # Cuts off the trailing slash on URLs to make them valid + rewrite ^(.+)/+$ $1 permanent; + # WebSocket support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; @@ -97,6 +103,9 @@ http { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + # Cuts off the trailing slash on URLs to make them valid + rewrite ^(.+)/+$ $1 permanent; + # WebSocket support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; From ad44b7da9c4d2f901634a09eefcd2922b40d9254 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Sat, 1 Aug 2020 20:03:29 -0400 Subject: [PATCH 06/12] Fix user bio bug. --- ui/src/components/user.tsx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ui/src/components/user.tsx b/ui/src/components/user.tsx index 9bda8274..d4e689c8 100644 --- a/ui/src/components/user.tsx +++ b/ui/src/components/user.tsx @@ -384,12 +384,14 @@ export class User extends Component { )}
-
-
-
+ {user.bio && ( +
+
+
+ )}
From dee5c302a8c236ae646f3f4e15a95860ba7030a2 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Sat, 1 Aug 2020 20:04:14 -0400 Subject: [PATCH 07/12] Version v0.7.37 --- ansible/VERSION | 2 +- docker/prod/docker-compose.yml | 2 +- docker/travis/docker_push.sh | 4 ++-- server/src/version.rs | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ansible/VERSION b/ansible/VERSION index a86b1d48..05840eba 100644 --- a/ansible/VERSION +++ b/ansible/VERSION @@ -1 +1 @@ -v0.7.36 +v0.7.37 diff --git a/docker/prod/docker-compose.yml b/docker/prod/docker-compose.yml index d2656c61..c7fb94f6 100644 --- a/docker/prod/docker-compose.yml +++ b/docker/prod/docker-compose.yml @@ -12,7 +12,7 @@ services: restart: always lemmy: - image: dessalines/lemmy:v0.7.36 + image: dessalines/lemmy:v0.7.37 ports: - "127.0.0.1:8536:8536" restart: always diff --git a/docker/travis/docker_push.sh b/docker/travis/docker_push.sh index 31d77a18..98f7445b 100644 --- a/docker/travis/docker_push.sh +++ b/docker/travis/docker_push.sh @@ -1,5 +1,5 @@ #!/bin/sh echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin docker tag dessalines/lemmy:travis \ - dessalines/lemmy:v0.7.36 -docker push dessalines/lemmy:v0.7.36 + dessalines/lemmy:v0.7.37 +docker push dessalines/lemmy:v0.7.37 diff --git a/server/src/version.rs b/server/src/version.rs index 76cc1a8f..a0a53ca4 100644 --- a/server/src/version.rs +++ b/server/src/version.rs @@ -1 +1 @@ -pub const VERSION: &str = "v0.7.36"; +pub const VERSION: &str = "v0.7.37"; From c76e72b7476ad740f6f8893464105cd00a6eed22 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Sat, 1 Aug 2020 23:52:38 -0400 Subject: [PATCH 08/12] Fixing an issue with comments clearing out forms. Fixes #1045 --- ui/src/components/inbox.tsx | 31 +++++++++++++++------------ ui/src/components/navbar.tsx | 1 + ui/src/components/private-message.tsx | 19 +++++++++++----- ui/src/components/search.tsx | 2 ++ ui/src/components/user-details.tsx | 2 ++ ui/src/services/WebSocketService.ts | 4 ---- 6 files changed, 36 insertions(+), 23 deletions(-) diff --git a/ui/src/components/inbox.tsx b/ui/src/components/inbox.tsx index eff7efcf..ecc9223c 100644 --- a/ui/src/components/inbox.tsx +++ b/ui/src/components/inbox.tsx @@ -275,21 +275,21 @@ export class Inbox extends Component { ); } + combined(): Array { + return [ + ...this.state.replies, + ...this.state.mentions, + ...this.state.messages, + ].sort((a, b) => b.published.localeCompare(a.published)); + } + all() { - let combined: Array = []; - - combined.push(...this.state.replies); - combined.push(...this.state.mentions); - combined.push(...this.state.messages); - - // Sort it - combined.sort((a, b) => b.published.localeCompare(a.published)); - return (
- {combined.map(i => + {this.combined().map(i => isCommentType(i) ? ( { enableDownvotes={this.state.site.enable_downvotes} /> ) : ( - + ) )}
@@ -325,6 +325,7 @@ export class Inbox extends Component {
{this.state.mentions.map(mention => ( { return (
{this.state.messages.map(message => ( - + ))}
); @@ -565,7 +566,6 @@ export class Inbox extends Component { } else if (data.comment.creator_id == UserService.Instance.user.id) { toast(i18n.t('reply_sent')); } - this.setState(this.state); } else if (res.op == UserOperation.CreatePrivateMessage) { let data = res.data as PrivateMessageResponse; if (data.message.recipient_id == UserService.Instance.user.id) { @@ -597,7 +597,10 @@ export class Inbox extends Component { this.state.replies.filter(r => !r.read).length + this.state.mentions.filter(r => !r.read).length + this.state.messages.filter( - r => !r.read && r.creator_id !== UserService.Instance.user.id + r => + UserService.Instance.user && + !r.read && + r.creator_id !== UserService.Instance.user.id ).length ); } diff --git a/ui/src/components/navbar.tsx b/ui/src/components/navbar.tsx index 6418bb22..1eb17319 100644 --- a/ui/src/components/navbar.tsx +++ b/ui/src/components/navbar.tsx @@ -431,6 +431,7 @@ export class Navbar extends Component { // The login if (data.my_user) { UserService.Instance.user = data.my_user; + WebSocketService.Instance.userJoin(); // On the first load, check the unreads if (this.state.isLoggedIn == false) { this.requestNotificationPermission(); diff --git a/ui/src/components/private-message.tsx b/ui/src/components/private-message.tsx index c3e0c2c2..4fa30a81 100644 --- a/ui/src/components/private-message.tsx +++ b/ui/src/components/private-message.tsx @@ -45,7 +45,10 @@ export class PrivateMessage extends Component< } get mine(): boolean { - return UserService.Instance.user.id == this.props.privateMessage.creator_id; + return ( + UserService.Instance.user && + UserService.Instance.user.id == this.props.privateMessage.creator_id + ); } render() { @@ -113,6 +116,7 @@ export class PrivateMessage extends Component< )} @@ -280,9 +284,14 @@ export class PrivateMessage extends Component< this.setState(this.state); } - handlePrivateMessageCreate() { - this.state.showReply = false; - this.setState(this.state); - toast(i18n.t('message_sent')); + handlePrivateMessageCreate(message: PrivateMessageI) { + if ( + UserService.Instance.user && + message.creator_id == UserService.Instance.user.id + ) { + this.state.showReply = false; + this.setState(this.state); + toast(i18n.t('message_sent')); + } } } diff --git a/ui/src/components/search.tsx b/ui/src/components/search.tsx index 11429fb2..2162edeb 100644 --- a/ui/src/components/search.tsx +++ b/ui/src/components/search.tsx @@ -289,6 +289,7 @@ export class Search extends Component {
{i.type_ == 'posts' && ( { )} {i.type_ == 'comments' && ( {
{i.type === 'posts' ? ( { /> ) : ( { console.log(`Connected to ${wsUri}`); - if (UserService.Instance.user) { - this.userJoin(); - } - if (!firstConnect) { let res: WebSocketJsonResponse = { reconnect: true, From 5b23595710484a0f232354dd62a95764cd9161fe Mon Sep 17 00:00:00 2001 From: Dessalines Date: Sat, 1 Aug 2020 23:53:32 -0400 Subject: [PATCH 09/12] Version v0.7.38 --- ansible/VERSION | 2 +- docker/prod/docker-compose.yml | 2 +- docker/travis/docker_push.sh | 4 ++-- server/src/version.rs | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ansible/VERSION b/ansible/VERSION index 05840eba..d5d644e5 100644 --- a/ansible/VERSION +++ b/ansible/VERSION @@ -1 +1 @@ -v0.7.37 +v0.7.38 diff --git a/docker/prod/docker-compose.yml b/docker/prod/docker-compose.yml index c7fb94f6..ceb8ce4e 100644 --- a/docker/prod/docker-compose.yml +++ b/docker/prod/docker-compose.yml @@ -12,7 +12,7 @@ services: restart: always lemmy: - image: dessalines/lemmy:v0.7.37 + image: dessalines/lemmy:v0.7.38 ports: - "127.0.0.1:8536:8536" restart: always diff --git a/docker/travis/docker_push.sh b/docker/travis/docker_push.sh index 98f7445b..98657660 100644 --- a/docker/travis/docker_push.sh +++ b/docker/travis/docker_push.sh @@ -1,5 +1,5 @@ #!/bin/sh echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin docker tag dessalines/lemmy:travis \ - dessalines/lemmy:v0.7.37 -docker push dessalines/lemmy:v0.7.37 + dessalines/lemmy:v0.7.38 +docker push dessalines/lemmy:v0.7.38 diff --git a/server/src/version.rs b/server/src/version.rs index a0a53ca4..6cd76ff2 100644 --- a/server/src/version.rs +++ b/server/src/version.rs @@ -1 +1 @@ -pub const VERSION: &str = "v0.7.37"; +pub const VERSION: &str = "v0.7.38"; From fbd9adb135c3f54444c132066a51484681e0ee25 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Sun, 2 Aug 2020 10:33:14 -0400 Subject: [PATCH 10/12] Fix user settings sort not working. Fixes #1050 --- ui/src/components/sort-select.tsx | 2 +- ui/src/components/user.tsx | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/ui/src/components/sort-select.tsx b/ui/src/components/sort-select.tsx index 12dcb4cb..8d0b29a3 100644 --- a/ui/src/components/sort-select.tsx +++ b/ui/src/components/sort-select.tsx @@ -65,6 +65,6 @@ export class SortSelect extends Component { } handleSortChange(i: SortSelect, event: any) { - i.props.onChange(event.target.value); + i.props.onChange(Number(event.target.value)); } } diff --git a/ui/src/components/user.tsx b/ui/src/components/user.tsx index d4e689c8..8f0b5178 100644 --- a/ui/src/components/user.tsx +++ b/ui/src/components/user.tsx @@ -152,9 +152,6 @@ export class User extends Component { this.handleUserSettingsListingTypeChange = this.handleUserSettingsListingTypeChange.bind( this ); - this.handleUserSettingsListingTypeChange = this.handleUserSettingsListingTypeChange.bind( - this - ); this.handlePageChange = this.handlePageChange.bind(this); this.handleUserSettingsBioChange = this.handleUserSettingsBioChange.bind( this From 089aefc7af1137902bad7fc7bb4106167b1d70ee Mon Sep 17 00:00:00 2001 From: Dessalines Date: Sun, 2 Aug 2020 10:41:17 -0400 Subject: [PATCH 11/12] Hide navigation warnings on markdown textarea for site-form and user bios. Fixes #1051 --- ui/src/components/markdown-textarea.tsx | 8 ++++++-- ui/src/components/site-form.tsx | 1 + ui/src/components/user.tsx | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ui/src/components/markdown-textarea.tsx b/ui/src/components/markdown-textarea.tsx index 002d7c86..0a7f904a 100644 --- a/ui/src/components/markdown-textarea.tsx +++ b/ui/src/components/markdown-textarea.tsx @@ -25,6 +25,7 @@ interface MarkdownTextAreaProps { onSubmit?(msg: { val: string; formId: string }): any; onContentChange?(val: string): any; onReplyCancel?(): any; + hideNavigationWarnings?: boolean; } interface MarkdownTextAreaState { @@ -78,7 +79,7 @@ export class MarkdownTextArea extends Component< } componentDidUpdate() { - if (this.state.content) { + if (!this.props.hideNavigationWarnings && this.state.content) { window.onbeforeunload = () => true; } else { window.onbeforeunload = undefined; @@ -110,7 +111,10 @@ export class MarkdownTextArea extends Component< render() { return (
- +