Commit Graph

212 Commits

Author SHA1 Message Date
Aman Harwara
270fcbc3bc refactor: Move notes_view to React (#761) 2021-12-21 20:31:11 +05:30
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
Laurent Senta
c27dce1ab7 style: with prettier (#762)
* style: use pretty quick on staged files

* style: test edit utils

* style: try with lint-staged

* style: test lint application
2021-12-06 15:27:18 +01:00
Mo Bitar
82ee0974c1 feat: snjs upgrade and fixes 2021-12-05 11:04:46 -06:00
Aman Harwara
9730006cba feat: Nativize "No distraction" theme as "Focus Mode" (#758)
Co-authored-by: Mo Bitar <me@bitar.io>
2021-12-02 22:34:57 +05:30
Laurent Senta
4d8ba3320a refactor: move tags to react (#753)
* refactor: move Tags list to react

* refactor: extract TagsListItem and simplify hooks

* refactor: remove comment & dead code

* fix: mobx warnings & safari bug

* fix: text select on non-safari

* fix: remove unecessary comments

* style: apply prettier format

* style: apply formatting on tags_view

* refactor: remove the angular tags rendering

* feat: add back the "select previous tag" behavior

* style: simplify code and avoid important

* style: remove note on state
2021-11-29 17:33:00 +01:00
Mo
fd6d83655c feat: Component toggleability and add toggleable components to quick settings menu (#707)
* feat: toggleable extensions

* fix: return all themes for quick settings

* chore: bump snjs deps

* feat: Use Switch component for toggle in Quick Settings Menu

* feat: Add toggleableComponents to footer_view

* refactor: Change "components" to "toggleableComponents"

* feat: Add checked state to component toggle in quick settings menu
2021-10-27 10:19:42 -05:00
Aman Harwara
d5a81c6648 fix: Make setServer function an action (#704) 2021-10-25 18:23:56 +05:30
Gorjan Petrovski
31222e1236 feat(preferences): extension modals into extension panes (#683)
* feat(preferences): show inline extensions in extensions pane

* wip

* wip

* refactor: convert ComponentView to React component

* refactor: convert ComponentView to React component

* chore: fix merge conflicts

* feat: don't show features whose `area` is "room", update modal items' icons in Preferences menu

* chore: fix TS error

* feat: don't show 2FA Manager in modal-based component

* feat: remove `ExtendedDataReloadComplete` event, since Extensions Manger is being removed from the app

* chore: avoid hardcoded values in svg image, optimize `if` condition

* chore: remove remnant comment

* fix: fix typescript errors

Co-authored-by: vardanhakobyan <vardan_live@live.com>
2021-10-25 12:45:36 +04:00
Mo
ebe0d26d0d fix: begin purchase flow for logged in user (#697) 2021-10-22 13:09:51 +05:30
Mo Bitar
7434a870bd fix: disable unimplemented prefs sections 2021-10-21 14:48:34 -05:00
Mo
8d9b192b81 feat: remove extensions manager (#696)
* feat: remove extensions manager

* fix: remove unused code

Co-authored-by: Aman Harwara <amanharwara@protonmail.com>
2021-10-21 13:06:49 -05:00
Aman Harwara
f9b15262c7 feat: Purchase "Create account" & "Sign in" flows and Floating label input (#672) 2021-10-19 14:50:42 +00:00
Aman Harwara
c8dc07d42b feat: Add quick settings menu with theme switcher and other changes (#673)
Co-authored-by: Mo Bitar <mo@standardnotes.org>
Co-authored-by: Antonella Sgarlatta <antsgar@gmail.com>
2021-10-19 04:28:46 +00:00
Aman Harwara
f1122f292e feat: New account menu and text input with icon & toggle (#665)
* feat: Add new icons

* Revert "feat: Add new icons"

This reverts commit 0acb403fe846dbb2e48fd22de35c3568c3cb4453.

* feat: Add new icons for account menu

* feat: Add new Icons

* feat: Add "currentPane" state to prefs view

* feat: Update account menu to new design

* feat: Add input component with icon & toggle

* fix: sync icon & function

* fix: Fix eye icon

* feat: Create re-usable checkbox

feat: Add "merge local" option

* feat: Allow using className on IconButton

* feat: Add disabled state on input

feat: Make toggle circle

* refactor: Move checkbox to components

* feat: Handle invalid email/password error

* feat: Implement new design for Create Account

* feat: Implement new account menu design

* feat: Add disabled option to IconButton

* feat: Set account menu pane from other component

* feat: Add 2fa account menu pane

feat: Add lock icon

* feat: Remove unnecessary 2FA menu pane

feat: Reset current menu pane on clickOutside

* feat: Change "Log in" to "Sign in"

* feat: Remove sync from footer

* feat: Change "Login" to "Sign in"

feat: Add spinner to "Syncing..."

refactor: Use then-catch-finally for sync

* feat: Use common enableCustomServer state

* feat: Animate account menu closing

* fix: Reset menu pane only after it's closed

* feat: Add keyDown handler to InputWithIcon

* feat: Handle Enter press in inputs

* Update app/assets/javascripts/components/InputWithIcon.tsx

Co-authored-by: Antonella Sgarlatta <antsgar@gmail.com>

* Update app/assets/javascripts/components/InputWithIcon.tsx

Co-authored-by: Antonella Sgarlatta <antsgar@gmail.com>

* refactor: Use server state from AccountMenuState

* Update app/assets/javascripts/components/AccountMenu/CreateAccount.tsx

Co-authored-by: Antonella Sgarlatta <antsgar@gmail.com>

* Update app/assets/javascripts/components/AccountMenu/ConfirmPassword.tsx

Co-authored-by: Antonella Sgarlatta <antsgar@gmail.com>

* feat: Use common AdvancedOptions

* feat: Add "eye-off" icon and toggle state

* feat: Allow undefined values

* refactor: Remove enableCustomServer state

* feat: Persist server option state

* feat: Add bottom-100 and cursor-auto util classes

refactor: Use bottom-100 and cursor-auto classes

* refactor: Invert ternary operator

* refactor: Remove unused imports

* refactor: Use toggled as prop instead of state

* refactor: Change "Log in/out" to "Sign in/out"

* refactor: Change "Login" to "Sign in"

* refactor: Remove hardcoded width/height

* refactor: Use success class

* feat: Remove hardcoded width & height from svg

* fix: Fix chevron-down icon

Co-authored-by: Antonella Sgarlatta <antsgar@gmail.com>
Co-authored-by: Antonella Sgarlatta <antonella@standardnotes.org>
2021-10-08 11:18:31 -05:00
Antonella Sgarlatta
1190ebbe41 fix: use enable unfinished features env var to set enableV4 2021-10-06 16:35:43 -03:00
Antonella Sgarlatta
3cba208b07 feat: enable websocket connection 2021-10-04 17:10:20 -03:00
Gorjan Petrovski
7b5b78832a feat: implement encrypted items info (#641)
* feat: implement encrypted items info

* Update app/assets/javascripts/ui_models/app_state/account_menu_state.ts

Co-authored-by: Mo Bitar <mo@standardnotes.org>

* Update app/assets/javascripts/ui_models/app_state/account_menu_state.ts

Co-authored-by: Mo Bitar <mo@standardnotes.org>

* Update app/assets/javascripts/preferences/panes/EndToEndEncryption.tsx

Co-authored-by: Mo Bitar <mo@standardnotes.org>

* Update app/assets/javascripts/preferences/panes/EndToEndEncryption.tsx

Co-authored-by: Mo Bitar <mo@standardnotes.org>

Co-authored-by: Mo Bitar <mo@standardnotes.org>
2021-09-22 15:56:34 +02:00
Gorjan Petrovski
77525a56cd feat: implement UI for logging out (#638)
* feat: implement UI for logging out

* feat: use old style dialogs for logout confirmation

* feat: implement manage sessions

* feat: implement session logout success dialog

* feat: use snjs alert for revoking sessions confirmation

* fix: make OtherSessionsLogout easier to read
2021-09-21 19:01:32 +02:00
Antonella Sgarlatta
b3f2d77846 chore(version-snjs): 2.14.1 2021-09-13 12:02:30 -03:00
Gorjan Petrovski
1294b94117 feat: integrate two factor authentication (#626)
* feat: integrate SNJS MFA with web

* fix: create rudimentary typings file for qrcode.react

* chore: lint fixes

* fix: address PR feedback

* fix: address PR feedback

* fix: address PR feedback 2

* fix: replace spread props on TwoFactorAuthWrapper component

* chore: change null check to undefined check
2021-09-06 17:15:34 +02:00
Vardan Hakobyan
041d437bd4 feat: pass web app version to snjs application (#623)
* feat: store web version in local storage

* feat: pass web app version to snjs application when creating WebApplication

* refactor: pass version in application constructor, remove unnecessary method

* refactor: move global variables declarations to separate files to avoid declaring them in all places where they are used

* refactor: better way to use global variables

* chore: add comment

* chore: make global constants pascal case

* chore: version bump for snjs

* chore: yarn.lock with correct snjs version

* chore: bump snjs version
2021-09-06 10:36:57 +04:00
Antonella Sgarlatta
0b8cd1b7b4 fix: avoid changing selected note when editing archived or trashed note from search results 2021-07-19 12:15:35 -03:00
Antonella Sgarlatta
ffc84a7ab6 chore(version-snjs): 2.7.20 2021-07-15 12:49:36 -03:00
Gorjan Petrovski
f5ae75ef26 fix: provide websocket url to ApplicationGroup (#602) 2021-07-15 12:06:32 +02:00
Antonella Sgarlatta
d4195f8204 chore(version-snjs): 2.7.19 - permissions handling 2021-07-14 19:00:33 -03:00
Antonella Sgarlatta
b1aeaeac41 chore(version-snjs): 2.7.18 2021-07-13 19:23:14 -03:00
Antonella Sgarlatta
f84d789b16 Merge branch 'develop' into feature/account-menu-react 2021-07-12 12:26:51 -03:00
Gorjan Petrovski
3f94636615 feat: implement enableUnfinishedFeatures flag and hidden preferences button 2021-07-05 17:03:34 +02:00
Gorjan Petrovski
a9870214ea feat: implement preferences pane 2021-07-05 16:57:37 +02:00
Antonella Sgarlatta
881f4683cc Merge branch 'develop' into feature/account-menu-react 2021-06-30 19:00:23 -03:00
Antonella Sgarlatta
2295f5d593 fix: fix tags tab navigation 2021-06-30 18:59:07 -03:00
Antonella Sgarlatta
afc84b5702 fix: reposition dropdowns when resizing window 2021-06-30 18:51:00 -03:00
Antonella Sgarlatta
aa63ff4866 Merge branch 'develop' into feature/account-menu-react 2021-06-24 11:10:56 -03:00
Antonella Sgarlatta
3648f29174 feat: make archived false by default on search options 2021-06-24 11:10:39 -03:00
Antonella Sgarlatta
6d71389409 Merge branch 'develop' into feature/account-menu-react 2021-06-23 17:51:59 -03:00
Antonella Sgarlatta
8951264757 feat: show date on revision preview 2021-06-23 17:51:43 -03:00
VardanHakobyan
6ba3fbe9ca refactor: better naming 2021-06-23 19:32:31 +03:00
VardanHakobyan
b74549bfc6 refactor: move observers and streamers to separate methods, code cleanup 2021-06-19 19:05:29 +03:00
VardanHakobyan
bba1d089bf refactor: set initial value of server on Application.Launched event 2021-06-17 17:51:45 +04:00
VardanHakobyan
374e9c0616 Merge remote-tracking branch 'upstream/develop' into account-menu-splitted
# Conflicts:
#	app/assets/javascripts/directives/views/accountMenu.ts
2021-06-17 13:37:16 +04:00
Antonella Sgarlatta
91fc475aac fix: show autocomplete tag results only if query isn't empty 2021-06-16 12:54:39 -03:00
Antonella Sgarlatta
124f7779c3 fix: remove recursive tag deletion 2021-06-16 12:28:32 -03:00
VardanHakobyan
96aaff5ff8 refactor: move all applicable parts to mobx instead of passing from parent to children components 2021-06-16 15:16:45 +04:00
VardanHakobyan
b1920bbd3c Merge remote-tracking branch 'upstream/develop' into account-menu-splitted
# Conflicts:
#	app/assets/stylesheets/_sn.scss
2021-06-15 17:17:24 +04:00
VardanHakobyan
adfef38bdc refactor: reviewer's comment
- use Preact's `FunctionalComponent` instead of React's `FC` to keep the app more lightweight
- remove `@node_modules/` from imports
2021-06-15 12:07:03 +04:00
Antonella Sgarlatta
d2e7c01821 Merge branch 'develop' into feature/remove-batch-manager 2021-06-14 15:53:06 -03:00
Antonella Sgarlatta
3f575b80cb Merge branch 'develop' into fix/lock-app-on-background 2021-06-14 15:47:44 -03:00