Commit Graph

129 Commits

Author SHA1 Message Date
Mo
28c08a178f chore: upgrade deps 2022-03-16 15:53:47 -05:00
Mo
bcfb22fef6 feat: remove bugsnag (#931) 2022-03-15 13:53:29 -05:00
Mo
f2e2ca6451 fix: markdown visual 1.0.2 2022-03-10 11:15:04 -06:00
Mo
7e0e620ab8 fix: move Labs behind unfinished features flag 2022-03-10 10:03:43 -06:00
Johnny A
87631dcb0d fix: experimental features not reloading after toggling (#917)
Co-authored-by: Johnny Almonte <johnny243@users.noreply.github.com>
2022-03-09 16:18:39 -04:00
Aman Harwara
ab6e5ac367 feat: add Labs pane to preferences (#892)
* feat: add Labs pane to preferences

* feat: use lab_features value for account switcher

* feat: labs pane with experimental features

* fix: use toggleExperimentalFeature from features service

* fix: show premium modal if not entitled for experimental feature

* fix: add isExperimental && isExperimentalEnabled to EditorMenuItem type

* fix: hide experimental editor if not enabled

* chore(deps): update features and snjs

* fix: remove comment

* fix: remove filtering from reloadExperimentalFeatures

* fix: revert Footer.tsx

* chore(deps): bump @standardnotes packages

* fix: change experimental features layout

Co-authored-by: Johnny Almonte <johnny243@users.noreply.github.com>
Co-authored-by: Mo <mo@standardnotes.com>
2022-03-08 12:39:37 -04:00
Mo
ae5b182ac1 feat: snjs with auto integrity resolution (#912) 2022-03-07 10:34:23 -06:00
Mo
d8caa31dc9 chore: upgrade deps (#906)
* chore: upgrade deps

* fix: MenuArrowRight import

* fix: type naming
2022-03-03 13:31:51 -06:00
Mo
c3d849d204 chore: ugprade snjs deps (#898) 2022-02-24 12:57:32 -06:00
Vardan Hakobyan
80cc37fbd4 fix: allow users to disable any active cloud integration even if they are not entitled to cloud backups (#870)
* fix: allow users to disable any active cloud integration even if they are not entitled to cloud backups

* chore: better variable naming

* refactor: move css constant away from the global constants file

* refactor: avoid importing a constant css class from non-shared file
2022-02-15 19:48:35 +04:00
Aman Harwara
dab8080da6 feat: move SubscriptionState to central AppState (#869) 2022-02-15 21:00:05 +05:30
Vardan Hakobyan
00d57aa69d feat: import svg files from stylekit (#844)
* chore: install stylekit with its new name

* feat: import svg files from stylekit

* feat: import the remaining svgs from stylekit

* fix: import 'warning' icon from stylekit

* chore: import warning icon from stylekit

* chore: bump stylekit version

* chore: update sn dependencies
2022-02-15 12:12:34 +04:00
Aman Harwara
0e1b94b5cd fix: sign out dialog disappearing when account menu is unfocused (#863) 2022-02-12 20:53:49 +05:30
Mo
f6c9a9f9ad fix: preferences pane order 2022-02-08 21:52:24 -06:00
Mo
1dd70364e7 chore(deps): snjs 2022-02-08 14:25:53 -06:00
Aman Harwara
139853a491 feat: show all themes and premium icon if not entitled (#854) 2022-02-08 20:25:12 +05:30
Mo
6970a375b7 feat: native listed integration (#846)
* feat(wip): native listed integration

* feat(wip): wip

* feat: simplified actions menu structure

* feat: open settings alert upon succesful creation

* fix: handle remove menu row api

* chore(deps): snjs
2022-02-03 18:14:28 -06:00
Vardan Hakobyan
8388265493 fix: correctly check if cloud backups are available for the user (#845) 2022-02-03 21:01:39 +04:00
Vardan Hakobyan
616b77a5f7 fix: don't get backups settings if there is no logged-in user (#842)
* fix: don't get backups settings if there is no logged-in user

* chore: bump snjs version
2022-02-02 23:58:58 +04:00
Mo
70f4dd6353 feat: enable folders by default and remove from experimental features 2022-02-01 12:31:37 -06:00
Laurent Senta
3c0bc79768 feat: add migration pref pane (#825)
* feat: add migration pane

* style: clean imports

* removeme: beta version

* fix: do no show dropzone when tag has no parent

* fix: hide the Folders toggle

* fix: hide migrations option when user has no folders

* fix: add delimiter on Folders mark

* removeme: bump beta

* fix: remove component viewer for tag folders

* removeme: bump beta

* chore(deps): snjs
2022-01-31 19:18:14 -06:00
Vardan Hakobyan
bf382ce0f8 feat: get editor icons and their colors from snjs (#828)
* feat: get editor icons and their colors from snjs

* feat: get icons and their tints from snjs

* fix: use IconType from snjs
2022-01-31 18:58:36 +04:00
Mo
50c92619ce refactor: migrate remaining angular components to react (#833)
* refactor: menuRow directive to MenuRow component

* refactor: migrate footer to react

* refactor: migrate actions menu to react

* refactor: migrate history menu to react

* fix: click outside handler use capture to trigger event before re-render occurs which would otherwise cause node.contains to return incorrect result (specifically for the account menu)

* refactor: migrate revision preview modal to react

* refactor: migrate permissions modal to react

* refactor: migrate password wizard to react

* refactor: remove unused input modal directive

* refactor: remove unused delay hide component

* refactor: remove unused filechange directive

* refactor: remove unused elemReady directive

* refactor: remove unused sn-enter directive

* refactor: remove unused lowercase directive

* refactor: remove unused autofocus directive

* refactor(wip): note view to react

* refactor: use mutation observer to deinit textarea listeners

* refactor: migrate challenge modal to react

* refactor: migrate note group view to react

* refactor(wip): migrate remaining classes

* fix: navigation parent ref

* refactor: fully remove angular assets

* fix: account switcher

* fix: application view state

* refactor: remove unused password wizard type

* fix: revision preview and permissions modal

* fix: remove angular comment

* refactor: react panel resizers for editor

* feat: simple panel resizer

* fix: use simple panel resizer everywhere

* fix: simplify panel resizer state

* chore: rename simple panel resizer to panel resizer

* refactor: simplify column layout

* fix: editor mount safety check

* fix: use inline onLoad callback for iframe, as setting onload after it loads will never call it

* chore: fix note view test

* chore(deps): upgrade snjs
2022-01-30 19:01:30 -06:00
Aman Harwara
da1d4f75c8 feat: Add "Appearance" pane to preferences (#816)
Co-authored-by: Mo <mo@standardnotes.com>
2022-01-19 19:41:04 +05:30
Mo
063c3b2fee feat: per-note spellcheck (#815)
* feat: per-note spellcheck control

* fix: remove fill from svg

* feat: move spellcheck pref into defaults preferences section

* fix: use faded css class instead of opacity

* feat: plus editor 1.6.0
2022-01-14 14:32:16 -06:00
Vardan Hakobyan
a342a3a224 feat: add "Email Backups" to "Backups" section (#778)
* feat: add "Email Backups" to "Backups" section

* chore: remove comment

* chore: better wording

* chore: put working snjs version

* chore: better wording

* style: reuse existing css classes and add the missing one

* feat: add "No email backup" option

* refactor: move the function outside of the useEffect, remove unused utility function

* feat (WIP): move CloudLink to backups section

* chore: versions bump, type fixes

* fix: handle the case when the setting update fails

* style: remove dashed border from the confirmation code, UI improvements

* feat: implement removing integration, improve interaction on different events

* feat: implement non-interactive textarea for showing and copying the code

* fix: fix TS errors

* feat: implement "Perform backup" logic
- remove the code for copying the confirmation code for backup integration
- also remove unnecessary parameters passed to Provider

* feat: don't show "CloudLink" in preferences pane

* chore: show error in console on exception

* refactor: better naming, add `coverage` folder to gitignore

* fix: return correct setting name

* refactor: use async/await for the sake of consistency

* chore: remove duplicate line

* feat: get urls for cloud backup from snjs

* chore: update dependencies

* refactor: set both `token` and `frequency` settings when enabling cloud integration; get only `frequency` when checking the integration status

* refactor: once the setting is successfully saved, don't get its value from backend; instead, use its value that's still in frontend

* feat: move "Receive a notification email if a cloud backup fails." into cloud backups section

* fix: text correction

* fix: get correct cloud integration url from snjs based on prod/dev environment
2022-01-12 18:48:46 +04:00
Mo
660f74c8ba fix: spellcheck toggle note about plain editor only 2022-01-10 09:31:02 -06:00
Mo
4c8d59336b fix: display offline hosted only for third party features 2022-01-07 12:08:27 -06:00
Mo
d5e58cf816 fix: show offline repo section if repo present 2022-01-06 11:53:40 -06:00
Karol Sójko
c42eeea383 Revert "Revert "feat: New notes list design (#780)""
This reverts commit d76c636e54.
2022-01-05 16:12:12 +01:00
Karol Sójko
d76c636e54 Revert "feat: New notes list design (#780)"
This reverts commit 7dd4a60595.
2022-01-05 16:11:34 +01:00
Aman Harwara
7dd4a60595 feat: New notes list design (#780) 2022-01-04 17:29:10 +05:30
Mo
4153c81638 fix: cloudlink url 2022-01-03 10:47:33 -06:00
Mo
66d8efd090 feat: native components (#789)
* wip: component viewer

* feat: get component status from component viewer

* feat: native components

* fix: remove unused property

* fix: remove unused func

* chore(deps): snjs 2.29.0

* fix: import location

* feat: native components

* fix: remove unused func

* feat: component viewer (#781)

* wip: component viewer

* feat: get component status from component viewer

* fix: remove unused property

* chore(deps): snjs 2.29.0

* fix: import location

* chore: use cp instead of webpack copy

* fix: types

* chore: misc
2021-12-30 14:25:40 -06:00
Mo
ebdae31965 feat: component viewer (#781)
* wip: component viewer

* feat: get component status from component viewer

* fix: remove unused property

* chore(deps): snjs 2.29.0

* fix: import location
2021-12-24 10:41:02 -06:00
Vardan Hakobyan
f120af3b43 feat: handle unprotected session expiration (#779)
* feat: hide note contents if the protection expires when the protected note is open and wasn't edited for a while

* feat: handle session expiration for opened protected note for both plain advanced editors

* fix: if after canceling  session expiry modal only one unprotected note stays selected, show its contents in the editor

* refactor: handle session expiration for opened protected note (move the logic to web client)

* feat: handle the case of selecting "Don't remember" option in session expiry dialog

* test (WIP): add unit tests for protecting opened note after the session has expired

* test: add remaining unit tests

* refactor: move the opened note protection logic to "editor_view"

* refactor: reviewer comments
- don't rely on user signed-in/out status to require authentication for protected note
- remove unnecessary async/awaits
- better wording on ui

* refactor: reviewer's comments:
 - use snjs method to check if "Don't remember" option is selected in authentication modal
 - move the constant to snjs
 - fix eslint error

* refactor: avoid `any` type for `appEvent` payload

* test: add unit tests

* chore: update function name

* refactor: use simpler protection session event types

* refactor: protected access terminology

* refactor: start counting idle timer after every edit (instead of counting by interval in spite of edits)

* test: unit tests

* style: don't give extra brightness to the "View Note"/"Authenticate" button on hover/focus

* chore: bump snjs version

* chore: put snjs "beta" version

* fix: run protection timeout when the note is marked as protected

* chore: snjs version bump

* refactor: immediately lock the note if it's marked as "Protected"

* refactor: rename component, directive and some props

* refactor: remove extra check

* refactor: rename the method

* chore: update snjs version

Co-authored-by: Mo Bitar <me@bitar.io>
2021-12-20 20:54:37 +04:00
Karol Sójko
2e168df929 Revert "feat: handle unprotected session expiration (#747)"
This reverts commit 8db549f6f6.
2021-12-15 15:26:31 +01:00
Vardan Hakobyan
8db549f6f6 feat: handle unprotected session expiration (#747)
* feat: hide note contents if the protection expires when the protected note is open and wasn't edited for a while

* feat: handle session expiration for opened protected note for both plain advanced editors

* fix: if after canceling  session expiry modal only one unprotected note stays selected, show its contents in the editor

* refactor: handle session expiration for opened protected note (move the logic to web client)

* feat: handle the case of selecting "Don't remember" option in session expiry dialog

* test (WIP): add unit tests for protecting opened note after the session has expired

* test: add remaining unit tests

* refactor: move the opened note protection logic to "editor_view"

* refactor: reviewer comments
- don't rely on user signed-in/out status to require authentication for protected note
- remove unnecessary async/awaits
- better wording on ui

* refactor: reviewer's comments:
 - use snjs method to check if "Don't remember" option is selected in authentication modal
 - move the constant to snjs
 - fix eslint error

* refactor: avoid `any` type for `appEvent` payload

* test: add unit tests

* chore: update function name

* refactor: use simpler protection session event types

* refactor: protected access terminology

* refactor: start counting idle timer after every edit (instead of counting by interval in spite of edits)

* test: unit tests

* style: don't give extra brightness to the "View Note"/"Authenticate" button on hover/focus

* chore: bump snjs version

Co-authored-by: Mo Bitar <me@bitar.io>
2021-12-14 19:14:01 +04:00
Mo Bitar
d5f75fee84 deps(snjs): 2.20.3 2021-12-10 11:56:00 -06:00
Mo Bitar
9256193c66 fix: handle case in preferences where component name can be undefined, causing exception that makes preferences UI unresponsive 2021-12-07 10:49:06 -06:00
Mo Bitar
ac9c19d681 fix: copy improvement 2021-12-03 11:58:14 -06:00
Mo Bitar
fbafc136e8 fix: better subscription state text 2021-12-01 11:28:03 -06:00
Johnny A
ba3c58457a fix: add border to generated 2fa QR code (#749)
Co-authored-by: Johnny Almonte <johnny243@users.noreply.github.com>
2021-11-24 20:35:51 -04:00
Mo
cf3664751f feat: display feature status (#745)
* feat: display feature status

* fix: hook dep

* fix: react hooks dep
2021-11-22 11:39:14 -06:00
Vardan Hakobyan
b2877a5435 fix: break long extension url text when it exceeds container width (#741) 2021-11-16 18:12:11 +04:00
Vardan Hakobyan
f8308348ed fix: hide horizontal separator if "offline subscriptions" section is hidden (#740) 2021-11-15 17:52:13 +04:00
Mo Bitar
04136159dc feat: ability to uninstall any extension 2021-11-14 14:27:26 -06:00
Aman Harwara
f6ca7ef2b1 feat: Use new design for signed out pane in preferences (#734) 2021-11-12 22:51:29 +05:30
Aman Harwara
08cd020402 fix: Two-factor activation modal (#736) 2021-11-12 22:47:47 +05:30
Mo Bitar
873aa1558e fix: offline repo handling 2021-11-11 13:51:54 -06:00