Commit Graph

481 Commits

Author SHA1 Message Date
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
c1b7f60e35 feat: move save method into snjs controller (#809)
* feat: move editor save method to snjs note controller
2022-01-10 22:04:57 -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
Mo
987f5aebf4 chore: migrate note controllers to snjs 2022-01-06 11:03:45 -06:00
Aman Harwara
875f5417be feat: Add option to toggle editor icon in new notes list design (#799) 2022-01-06 20:30:10 +05:30
Mo
e7a8bbbab8 Merge branch 'hotfix/10.6.1' into develop 2022-01-05 11:22:57 -06:00
Mo
f55247ccce fix: filesafe index path 2022-01-05 11:22:39 -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
ea3b82e73a fix: components copy script 2022-01-03 12:16:07 -06:00
Mo
b0b7ce487a chore(deps): snjs-based deps 2022-01-03 11:48:49 -06:00
Mo
4153c81638 fix: cloudlink url 2022-01-03 10:47:33 -06:00
Mo
f405333898 fix: use absolute component paths 2022-01-02 10:35:45 -06:00
Mo
dce97077b4 fix: set desktop installed payload source 2022-01-02 09:30:33 -06:00
Mo
1f0f361d8b fix: crash issue when searching with undefined tag title 2021-12-30 19:21:54 -06:00
Mo
bc02754534 fix: components path 2021-12-30 14:53:30 -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
0a8286ffec chore: bump version to 3.9.11 2021-12-28 10:51:52 -06:00
Mo
4149b03312 chore(deps): snjs + features 2021-12-28 10:49:28 -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
Laurent Senta
237cd91acd feat: implement tags folder as experimental feature (#788)
* feat: add tag folders support basics

* feat: add draggability to tags

* feat: add drag & drop draft

* feat: fold folders

* fix: do not select on fold / unfold tags

* style: clean the isValidTag call

* feat: add native folder toggle

* feat: add touch mobile support

* ui: add nicer design & icons

* style: render full-width tag items

* feat: nicer looking dropzone

* style: fix arguments

* fix: tag template rendering in list items

* feat: tag can be dragged over the whole item

* fix: cancel / reset title after save

* fix: disable drag completely when needed

* fix: invalid tag parents

* feat: add paying feature

* feat: with paid feature tooltip

* feat: tag has a plus feature

* feat: add premium modal

* style: simplif code

* refactor: extract feature_state & simplif code

* fix: icons and icons svg

* style: remove comment

* feat: tag folders naming

* feat: use the feature notification

* fix: tag folders copy

* style: variable names

* style: remove & clean comments

* refactor: remove is-mobile library

* feat: tags folder experimental (#10)

* feat: hide native folders behind experimental flag

* fix: better tags resizing

* fix: merge global window

* style: rename params

* refactor: remove level of indirection in feature toggle

* feat: recursively add tags to note on create (#9)

* fix: use add tags folder hierarchy & isTemplateItem (#13)

* fix: use new snjs add tag hierarchy

* fix: use new snjs isTemplateItem

* feat: tags folder premium (#774)

* feat: upgrade premium in tags section

refactor: move TagsSection to react

feat: show premium on Tag section

feat: keep drag and drop features always active

fix: drag & drop tweak with premium

feat: premium messages

fix: remove fill in svg icons

fix: change tag list color (temporary)

style: remove dead code

refactor: clarify names and modules

fix: draggable behind feature toggle

feat: add button in TagSection & design

* feat: fix features loading with app state (#775)

* fix: distinguish between app launch and start

* fix: update state for footer too

* fix: wait for application launch event

Co-authored-by: Laurent Senta <laurent@singulargarden.com>

* feat: tags folder with folder text design (#776)

* feat: add folder text

* fix: sn stylekit colors

* fix: root drop zone

* chore: upgrade stylekit

* fix: hide dropzone when feature is disabled

* chore: bump versions now that they are released

Co-authored-by: Mo <me@bitar.io>

* feat: tags folder design review (#785)

* fix: upgrade design after review

* fix: tweak dropzone

* fix: sync after assign parent

* fix: tsc error on build

* fix: vertical center the fold arrows

* fix: define our own hoist for react-dnd

* feat: hide fold when there are no folders

* fix: show children usability + resize UI

* fix: use old colors for now, theme compat

* fix: tweak alignment and add title

* fix: meta offset with folders

* fix: tweak tag size

* fix: observable setup

* fix: use link-off icon on dropzone

* fix: more tweak on text sizes

Co-authored-by: Mo <me@bitar.io>
2021-12-23 14:34:02 +01: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
0c766d0554 fix: snjs version to latest release 2021-12-15 15:29:01 +01:00
Karol Sójko
2e168df929 Revert "feat: handle unprotected session expiration (#747)"
This reverts commit 8db549f6f6.
2021-12-15 15:26:31 +01:00
Karol Sójko
0e4757d426 Revert "chore: use snjs beta package"
This reverts commit c59f85f498.
2021-12-15 15:26:22 +01:00
Mo Bitar
c59f85f498 chore: use snjs beta package 2021-12-14 12:53:27 -06: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
Karol Sójko
36588c102f fix: upgrade snjs to allow demo to access dev extensions server 2021-12-14 10:15:02 +01:00
Mo Bitar
d5f75fee84 deps(snjs): 2.20.3 2021-12-10 11:56:00 -06:00
Mo Bitar
0f05da435c release: 3.9.8 2021-12-09 08:01:38 -06:00
Mo Bitar
0ad65befb0 deps(snjs): 2.20.1 2021-12-08 22:23:57 -06:00
Mo Bitar
1c4876acf0 chore: bump version to 3.9.7 2021-12-06 13:21:13 -06: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
Aman Harwara
31c48af01c feat: Add "Pin selected notes" button to editor title bar (#760) 2021-12-06 14:47:35 +05:30
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
Vardan Hakobyan
a8f949e8c5 Chore/setup testing environment (#755)
* chore: setup environment for unit tests

* fix: remove extra character from json
2021-11-30 19:01:51 +04:00
Mo Bitar
6f3a749e52 fix: default to feature status entitled to avoid temporarily flashing error 2021-11-26 18:29:00 -06: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
Mo Bitar
893615157b fix: update snjs 2021-11-14 11:46:41 -06:00
Mo Bitar
dee60e0fae fix: extension url validation 2021-11-14 11:26:57 -06:00
Mo Bitar
76258f5462 fix: component expiration for custom extensions 2021-11-12 12:21:04 -06:00
Aman Harwara
8c1c00ec75 chore: Bump snjs to 2.17.6 (#735) 2021-11-12 10:14:31 -06:00
Mo Bitar
873aa1558e fix: offline repo handling 2021-11-11 13:51:54 -06:00
Mo Bitar
f28564e708 fix: success url should ignore params 2021-11-10 14:33:32 -06:00
Aman Harwara
28661436c5 feat: Use menu-border instead of menu-border-color (#731) 2021-11-10 23:28:39 +05:30
Aman Harwara
716e1cf465 feat: Fix menu border color (#730) 2021-11-10 23:04:52 +05:30
Aman Harwara
9d4172bf7a feat: Use menu-border-color (#729) 2021-11-10 11:03:54 -06:00