Skip to content

Commit

Permalink
feat: snjs upgrade and fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
moughxyz committed Dec 5, 2021
1 parent ac9c19d commit 82ee097
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 36 deletions.
4 changes: 2 additions & 2 deletions app/assets/javascripts/directives/views/editorMenu.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ class EditorMenuCtrl extends PureViewCtrl implements EditorMenuScope {

$onInit() {
super.$onInit();
const editors = this.application
.componentManager!.componentsForArea(ComponentArea.Editor)
const editors = this.application.componentManager
.componentsForArea(ComponentArea.Editor)
.sort((a, b) => {
return a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1;
});
Expand Down
61 changes: 36 additions & 25 deletions app/assets/javascripts/services/themeManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ import {
ApplicationService,
SNTheme,
removeFromArray,
ApplicationEvent, ContentType
ApplicationEvent,
ContentType,
} from '@standardnotes/snjs';

const CACHED_THEMES_KEY = 'cachedThemes';

export class ThemeManager extends ApplicationService {

private activeThemes: string[] = []
private unregisterDesktop!: () => void
private unregisterStream!: () => void
private activeThemes: string[] = [];
private unregisterDesktop!: () => void;
private unregisterStream!: () => void;

async onAppEvent(event: ApplicationEvent) {
super.onAppEvent(event);
Expand Down Expand Up @@ -54,7 +54,8 @@ export class ThemeManager extends ApplicationService {
}

private registerObservers() {
this.unregisterDesktop = this.webApplication.getDesktopService()
this.unregisterDesktop = this.webApplication
.getDesktopService()
.registerUpdateObserver((component) => {
if (component.active && component.isTheme()) {
this.deactivateTheme(component.uuid);
Expand All @@ -64,16 +65,21 @@ export class ThemeManager extends ApplicationService {
}
});

this.unregisterStream = this.application.streamItems(ContentType.Theme, (items) => {
const themes = items as SNTheme[];
for (const theme of themes) {
if (theme.active) {
this.activateTheme(theme);
} else {
this.deactivateTheme(theme.uuid);
this.unregisterStream = this.application.streamItems(
ContentType.Theme,
() => {
const themes = this.application.getDisplayableItems(
ContentType.Theme
) as SNTheme[];
for (const theme of themes) {
if (theme.active) {
this.activateTheme(theme);
} else {
this.deactivateTheme(theme.uuid);
}
}
}
});
);
}

private clearAppThemeState() {
Expand Down Expand Up @@ -120,14 +126,17 @@ export class ThemeManager extends ApplicationService {

private async cacheThemes() {
const themes = this.application!.getAll(this.activeThemes) as SNTheme[];
const mapped = await Promise.all(themes.map(async (theme) => {
const payload = theme.payloadRepresentation();
const processedPayload = await this.application!.protocolService!.payloadByEncryptingPayload(
payload,
EncryptionIntent.LocalStorageDecrypted
);
return processedPayload;
}));
const mapped = await Promise.all(
themes.map(async (theme) => {
const payload = theme.payloadRepresentation();
const processedPayload =
await this.application!.protocolService!.payloadByEncryptingPayload(
payload,
EncryptionIntent.LocalStorageDecrypted
);
return processedPayload;
})
);
return this.application!.setValue(
CACHED_THEMES_KEY,
mapped,
Expand All @@ -145,15 +154,17 @@ export class ThemeManager extends ApplicationService {
}

private async getCachedThemes() {
const cachedThemes = await this.application!.getValue(
const cachedThemes = (await this.application!.getValue(
CACHED_THEMES_KEY,
StorageValueModes.Nonwrapped
) as SNTheme[];
)) as SNTheme[];
if (cachedThemes) {
const themes = [];
for (const cachedTheme of cachedThemes) {
const payload = this.application!.createPayloadFromObject(cachedTheme);
const theme = this.application!.createItemFromPayload(payload) as SNTheme;
const theme = this.application!.createItemFromPayload(
payload
) as SNTheme;
themes.push(theme);
}
return themes;
Expand Down
2 changes: 1 addition & 1 deletion app/assets/javascripts/ui_models/app_state/app_state.ts
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ export class AppState {
}

streamNotesAndTags() {
this.application!.streamItems(
this.application.streamItems(
[ContentType.Note, ContentType.Tag],
async (items, source) => {
/** Close any editors for deleted/trashed/archived notes */
Expand Down
4 changes: 2 additions & 2 deletions app/assets/javascripts/views/editor/editor_view.ts
Original file line number Diff line number Diff line change
Expand Up @@ -740,8 +740,8 @@ class EditorViewCtrl extends PureViewCtrl<unknown, EditorState> {

async reloadStackComponents() {
const stackComponents = sortAlphabetically(
this.application
.componentManager!.componentsForArea(ComponentArea.EditorStack)
this.application.componentManager
.componentsForArea(ComponentArea.EditorStack)
.filter((component) => component.active)
);
if (this.note) {
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "standard-notes-web",
"version": "3.9.5",
"version": "3.9.6",
"license": "AGPL-3.0-or-later",
"repository": {
"type": "git",
Expand Down Expand Up @@ -80,7 +80,7 @@
"@reach/listbox": "^0.16.2",
"@standardnotes/features": "1.10.1",
"@standardnotes/sncrypto-web": "1.5.3",
"@standardnotes/snjs": "2.18.3",
"@standardnotes/snjs": "2.19.6",
"mobx": "^6.3.5",
"mobx-react-lite": "^3.2.2",
"preact": "^10.5.15",
Expand Down
8 changes: 4 additions & 4 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2614,10 +2614,10 @@
buffer "^6.0.3"
libsodium-wrappers "^0.7.9"

"@standardnotes/snjs@2.18.3":
version "2.18.3"
resolved "https://registry.yarnpkg.com/@standardnotes/snjs/-/snjs-2.18.3.tgz#5dd685c6e0df4c07c98b087aa672411e9becde4c"
integrity sha512-Q8X1UUSUw4NkKcZPHFYZ/WH9weOXW7LelOE1kCBx/O1g284dJWvHhqQh8qTgjHQnrcYR8Xh3AfoR0bh1Ms+iyA==
"@standardnotes/snjs@2.19.6":
version "2.19.6"
resolved "https://registry.yarnpkg.com/@standardnotes/snjs/-/snjs-2.19.6.tgz#a7bf568944f87ee83e39083ef6facc2ba0d56255"
integrity sha512-OlImG2UHHgf4zo5QmMeeKb9xNoRWUVaxLdzfhpV95PQShp8Nrl4zsxrDKehh9d6zN5dM/iaxF897cI6bT9D1uw==
dependencies:
"@standardnotes/auth" "^3.8.1"
"@standardnotes/common" "^1.2.1"
Expand Down

0 comments on commit 82ee097

Please sign in to comment.