From 92a737eee799454bd3db9e7cdb9d429e7b63f65b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20S=C3=B3jko?= Date: Mon, 21 Sep 2020 18:40:36 +0200 Subject: [PATCH 1/3] fix: updated ddtrace bundle --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 3c2ecc4ed..51c76a4c7 100644 --- a/Gemfile +++ b/Gemfile @@ -48,6 +48,6 @@ group :development, :test do end gem "dogstatsd-ruby", "~> 4.8" -gem "ddtrace", "~> 0.38.0" +gem "ddtrace", "~> 0.40" gem "lograge", "~> 0.11.2" diff --git a/Gemfile.lock b/Gemfile.lock index f8e71596f..e2d07dfa4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -67,7 +67,7 @@ GEM concurrent-ruby (1.1.5) connection_pool (2.2.2) crass (1.0.6) - ddtrace (0.38.0) + ddtrace (0.40.0) msgpack dogstatsd-ruby (4.8.1) dotenv (2.7.5) @@ -212,7 +212,7 @@ DEPENDENCIES capistrano-rails capistrano-rvm capistrano-sidekiq - ddtrace (~> 0.38.0) + ddtrace (~> 0.40) dogstatsd-ruby (~> 4.8) dotenv-rails haml From 5c986338a873c0ac042fb3d76a2baeeec2110d69 Mon Sep 17 00:00:00 2001 From: Baptiste Grob <60621355+baptiste-grob@users.noreply.github.com> Date: Wed, 23 Sep 2020 13:41:26 +0200 Subject: [PATCH 2/3] fix: wait for CompletedFullSync before showing "No Notes." --- app/assets/javascripts/views/notes/notes-view.pug | 5 ++++- app/assets/javascripts/views/notes/notes_view.ts | 11 ++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/assets/javascripts/views/notes/notes-view.pug b/app/assets/javascripts/views/notes/notes-view.pug index 46ae7b372..3ddad8dd6 100644 --- a/app/assets/javascripts/views/notes/notes-view.pug +++ b/app/assets/javascripts/views/notes/notes-view.pug @@ -95,8 +95,11 @@ label="'Date'" ) p.empty-notes-list.faded( - ng-if="self.state.localDataLoaded && !self.state.renderedNotes.length" + ng-if="self.state.completedFullSync && !self.state.renderedNotes.length" ) No notes. + p.empty-notes-list.faded( + ng-if="!self.state.completedFullSync && !self.state.renderedNotes.length" + ) Loading notes… .scrollable(ng-if="self.state.renderedNotes.length") #notes-scrollable.infinite-scroll( can-load='true', diff --git a/app/assets/javascripts/views/notes/notes_view.ts b/app/assets/javascripts/views/notes/notes_view.ts index 65b006e63..062aeeb3a 100644 --- a/app/assets/javascripts/views/notes/notes_view.ts +++ b/app/assets/javascripts/views/notes/notes_view.ts @@ -34,7 +34,7 @@ type NotesState = { hideDate?: boolean noteFilter: { text: string } mutable: { showMenu: boolean } - localDataLoaded: boolean + completedFullSync: boolean [WebPrefKey.TagsPanelWidth]?: number [WebPrefKey.NotesPanelWidth]?: number [WebPrefKey.EditorWidth]?: number @@ -127,7 +127,7 @@ class NotesViewCtrl extends PureViewCtrl<{}, NotesState> { mutable: { showMenu: false }, noteFilter: { text: '' }, panelTitle: '', - localDataLoaded: false, + completedFullSync: false, }; } @@ -167,6 +167,9 @@ class NotesViewCtrl extends PureViewCtrl<{}, NotesState> { case ApplicationEvent.SignedIn: this.appState.closeAllEditors(); this.selectFirstNote(); + this.setState({ + completedFullSync: false, + }); break; case ApplicationEvent.CompletedFullSync: this.getMostValidNotes().then((notes) => { @@ -174,10 +177,8 @@ class NotesViewCtrl extends PureViewCtrl<{}, NotesState> { this.createPlaceholderNote(); } }); - break; - case ApplicationEvent.LocalDataLoaded: this.setState({ - localDataLoaded: true, + completedFullSync: true, }); break; } From 5da82e7b0b3ecbbe4f5b31bcbaa8d92868ad8602 Mon Sep 17 00:00:00 2001 From: Baptiste Grob <60621355+baptiste-grob@users.noreply.github.com> Date: Wed, 23 Sep 2020 13:45:53 +0200 Subject: [PATCH 3/3] feature: revamp protocol upgrade dialog --- app/assets/javascripts/strings.ts | 8 ++++++++ .../javascripts/views/footer/footer_view.ts | 18 ++++++++++++++---- app/assets/stylesheets/_stylekit-sub.scss | 4 ++++ 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/strings.ts b/app/assets/javascripts/strings.ts index 8351b22fd..9bc8d7d7e 100644 --- a/app/assets/javascripts/strings.ts +++ b/app/assets/javascripts/strings.ts @@ -68,3 +68,11 @@ export const STRING_CONFIRM_APP_QUIT_DURING_PASSCODE_CHANGE = export const STRING_CONFIRM_APP_QUIT_DURING_PASSCODE_REMOVAL = "A passcode removal is in progress. You may lose data if you quit the app. " + "Are you sure you want to quit?" + +export const STRING_UPGRADE_ACCOUNT_CONFIRM_TITLE = 'Encryption upgrade available'; +export const STRING_UPGRADE_ACCOUNT_CONFIRM_TEXT = + 'Encryption version 004 is available for your account and local data storage. ' + + 'This version strengthens the encryption algorithms for your account and ' + + 'disk use. To learn more about this upgrade, visit our ' + + 'Security Upgrade page.'; +export const STRING_UPGRADE_ACCOUNT_CONFIRM_BUTTON = 'Upgrade'; diff --git a/app/assets/javascripts/views/footer/footer_view.ts b/app/assets/javascripts/views/footer/footer_view.ts index 6f711d7b5..b42deab33 100644 --- a/app/assets/javascripts/views/footer/footer_view.ts +++ b/app/assets/javascripts/views/footer/footer_view.ts @@ -19,9 +19,13 @@ import { AppStateEvent, EventSource } from '@/ui_models/app_state'; import { STRING_GENERIC_SYNC_ERROR, STRING_NEW_UPDATE_READY, - STRING_CONFIRM_APP_QUIT_DURING_UPGRADE + STRING_CONFIRM_APP_QUIT_DURING_UPGRADE, + STRING_UPGRADE_ACCOUNT_CONFIRM_TEXT, + STRING_UPGRADE_ACCOUNT_CONFIRM_TITLE, + STRING_UPGRADE_ACCOUNT_CONFIRM_BUTTON, } from '@/strings'; import { PureViewCtrl } from '@Views/abstract/pure_view_ctrl'; +import { confirmDialog } from '@/services/alertService'; /** * Disable before production release. @@ -337,9 +341,15 @@ class FooterViewCtrl extends PureViewCtrl<{}, { } async openSecurityUpdate() { - preventRefreshing(STRING_CONFIRM_APP_QUIT_DURING_UPGRADE, async () => { - await this.application.performProtocolUpgrade(); - }); + if (await confirmDialog({ + title: STRING_UPGRADE_ACCOUNT_CONFIRM_TITLE, + text: STRING_UPGRADE_ACCOUNT_CONFIRM_TEXT, + confirmButtonText: STRING_UPGRADE_ACCOUNT_CONFIRM_BUTTON, + })) { + preventRefreshing(STRING_CONFIRM_APP_QUIT_DURING_UPGRADE, async () => { + await this.application.performProtocolUpgrade(); + }); + } } findErrors() { diff --git a/app/assets/stylesheets/_stylekit-sub.scss b/app/assets/stylesheets/_stylekit-sub.scss index 7867e66ac..33003133c 100644 --- a/app/assets/stylesheets/_stylekit-sub.scss +++ b/app/assets/stylesheets/_stylekit-sub.scss @@ -70,3 +70,7 @@ button.sk-button { border: none; } + +a { + color: var(--sn-stylekit-info-color); +}