Skip to content

Commit

Permalink
Release/3.6.0 (#527)
Browse files Browse the repository at this point in the history
* feat: (wip) authorize note access

* fix: remove multiEditorEnabled

* refactor: update SNJS + eslint

* refactor: remove privileges in favor of SNJS protections

* fix: do not close editor when editing an archived note

* chore: remove progress indicator for webpack dev server

* fix: add rel="noreferrer" to bugsnag links

* chore(deps): upgrade snjs

* chore(deps): upgrade snjs

* feat: batch manager protection + react challenge modal + eslint fix

* fix: lint errors

* fix: launch state error

* fix: challenge modal: cancel instead of dismiss when pressing escape

* feat: improve focus styles

* fix: cancel session revoking when pressing escape on confirm dialog

* fix: lint warning

* chore(deps): upgrade minor versions

* feat: make SNWebCrypto a constant

* feat: add random identifier to bugsnag reports

* fix: check onKeyUp instead of onKeyDown

* feat: implement SNJS backup file password retrieval

* chore(deps): upgrade snjs

* feat: display warning banner when using the app with no account

* fix: properly color svg button

* fix: wording

* fix: hide account warning after login + improve key storage wording

* chore(deps): upgrade stylekit

* feat: use stylekit fonts for the editor

* chore(deps): bump nokogiri from 1.10.8 to 1.11.1 (#511)

Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.8 to 1.11.1.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/master/CHANGELOG.md)
- [Commits](sparklemotion/nokogiri@v1.10.8...v1.11.1)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Baptiste Grob <[email protected]>

* chore(deps): bump ini from 1.3.5 to 1.3.8 (#504)

Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](npm/ini@v1.3.5...v1.3.8)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Baptiste Grob <[email protected]>

* fix: rename master branch to main

* fix: add missing placeholders for submodules (#516)

Co-authored-by: Baptiste Grob <[email protected]>

* chore(deps): upgrade snjs, babel, typescript, reach, mobx, preact

* feat: clear protection session

* fix: use correct close icon size

* fix: hide protections paragraph when no account or passcode exist

* chore(deps): remove unused dependencies

* fix: button casing

* feat: implement SNApplication.hasProtectionSources

* chore(version): 3.6.0

* feat: enable sessions management for every build

* feat: make "Protected" flag more subtle

* fix: only match protected note title

* fix: remove inconsistencies between protected note label and date

* feat: show warning when protecting a note with no protection source

* feat: make unprotecting a note a protected action

* chore(deps): upgrade snjs

* chore(version): 3.6.0-beta01

* fix: run docker with root to fix crashing on Linux (undoes 62da387) (#525)

* feat: make encrypted backups protected (#524)

Co-authored-by: Baptiste Grob <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: proletarius101 <[email protected]>
Co-authored-by: Darius JJ Chuck <[email protected]>
Co-authored-by: Antonella Sgarlatta <[email protected]>
  • Loading branch information
5 people authored Mar 2, 2021
1 parent 38707cc commit bef17ef
Show file tree
Hide file tree
Showing 84 changed files with 3,397 additions and 2,513 deletions.
9 changes: 8 additions & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
{
"extends": ["eslint:recommended", "prettier"],
"root": true,
"parser": "@typescript-eslint/parser",
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"prettier",
"plugin:react-hooks/recommended"
],
"plugins": ["@typescript-eslint", "react"],
"parserOptions": {
"project": "./app/assets/javascripts/tsconfig.json"
},
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:

tsc:

name: Check types
name: Check types & lint

runs-on: ubuntu-latest

Expand All @@ -22,6 +22,9 @@ jobs:
- name: Typescript
run: yarn tsc

- name: ESLint
run: yarn lint --quiet

deploy:

runs-on: ubuntu-latest
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,21 @@ on:
- main

jobs:

tsc:

runs-on: ubuntu-latest

steps:

- name: Checkout code
uses: actions/checkout@v2

- name: Install dependencies
run: yarn install --pure-lockfile

- name: Typescript
run: yarn tsc

- name: ESLint
run: yarn lint --quiet
5 changes: 4 additions & 1 deletion .github/workflows/prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:

tsc:

name: Check types
name: Check types & lint

runs-on: ubuntu-latest

Expand All @@ -23,6 +23,9 @@ jobs:
- name: Typescript
run: yarn tsc

- name: ESLint
run: yarn lint --quiet

deploy:

runs-on: ubuntu-latest
Expand Down
15 changes: 3 additions & 12 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
FROM ruby:2.7.1-alpine3.12

ARG UID=1000
ARG GID=1000

RUN addgroup -S webapp -g $GID && adduser -D -S webapp -G webapp -u $UID

RUN apk add --update --no-cache \
alpine-sdk \
nodejs-current \
Expand All @@ -16,19 +11,15 @@ RUN apk add --update --no-cache \

WORKDIR /app/

RUN chown -R $UID:$GID .

USER webapp

COPY --chown=$UID:$GID package.json yarn.lock Gemfile Gemfile.lock /app/
COPY package.json yarn.lock Gemfile Gemfile.lock /app/

COPY --chown=$UID:$GID vendor /app/vendor
COPY vendor /app/vendor

RUN yarn install --pure-lockfile

RUN gem install bundler && bundle install

COPY --chown=$UID:$GID . /app/
COPY . /app/

RUN yarn bundle

Expand Down
12 changes: 7 additions & 5 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -98,22 +98,24 @@ GEM
mini_mime (>= 0.1.1)
method_source (0.9.2)
mini_mime (1.0.2)
mini_portile2 (2.4.0)
mini_portile2 (2.5.0)
minitest (5.14.0)
msgpack (1.3.3)
msgpack (1.3.3-x64-mingw32)
net-scp (2.0.0)
net-ssh (>= 2.6.5, < 6.0.0)
net-ssh (5.2.0)
nio4r (2.5.2)
nokogiri (1.10.8)
mini_portile2 (~> 2.4.0)
nokogiri (1.10.8-x64-mingw32)
mini_portile2 (~> 2.4.0)
nokogiri (1.11.1)
mini_portile2 (~> 2.5.0)
racc (~> 1.4)
nokogiri (1.11.1-x64-mingw32)
racc (~> 1.4)
non-stupid-digest-assets (1.0.9)
sprockets (>= 2.0)
puma (4.3.5)
nio4r (~> 2.0)
racc (1.5.2)
rack (2.2.3)
rack-cors (1.1.1)
rack (>= 2.0.0)
Expand Down
38 changes: 0 additions & 38 deletions app/assets/fonts/ionicons.svg

This file was deleted.

3 changes: 3 additions & 0 deletions app/assets/icons/ic_close.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions app/assets/javascripts/@types/modules.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
declare module '*.svg' {
export default function SvgComponent(props: React.SVGProps<SVGSVGElement>): JSX.Element;
}
13 changes: 4 additions & 9 deletions app/assets/javascripts/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,6 @@ import {
PanelResizer,
PasswordWizard,
PermissionsModal,
PrivilegesAuthModal,
PrivilegesManagementModal,
RevisionPreviewModal,
HistoryMenu,
SyncResolutionMenu,
Expand All @@ -57,7 +55,8 @@ import { BrowserBridge } from './services/browserBridge';
import { startErrorReporting } from './services/errorReporting';
import { StartApplication } from './startApplication';
import { Bridge } from './services/bridge';
import { SessionsModalDirective } from './directives/views/sessionsModal';
import { SessionsModalDirective } from './components/SessionsModal';
import { NoAccountWarningDirective } from './components/NoAccountWarning';


function reloadHiddenFirefoxTab(): boolean {
Expand Down Expand Up @@ -140,15 +139,11 @@ const startApplication: StartApplication = async function startApplication(
.directive('panelResizer', () => new PanelResizer())
.directive('passwordWizard', () => new PasswordWizard())
.directive('permissionsModal', () => new PermissionsModal())
.directive('privilegesAuthModal', () => new PrivilegesAuthModal())
.directive(
'privilegesManagementModal',
() => new PrivilegesManagementModal()
)
.directive('revisionPreviewModal', () => new RevisionPreviewModal())
.directive('historyMenu', () => new HistoryMenu())
.directive('syncResolutionMenu', () => new SyncResolutionMenu())
.directive('sessionsModal', SessionsModalDirective);
.directive('sessionsModal', SessionsModalDirective)
.directive('noAccountWarning', NoAccountWarningDirective);

// Filters
angular.module('app').filter('trusted', ['$sce', trusted]);
Expand Down
39 changes: 39 additions & 0 deletions app/assets/javascripts/components/NoAccountWarning.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import { toDirective, useAutorunValue } from './utils';
import Close from '../../icons/ic_close.svg';
import { AppState } from '@/ui_models/app_state';

function NoAccountWarning({ appState }: { appState: AppState }) {
const canShow = useAutorunValue(() => appState.noAccountWarning.show);
if (!canShow) {
return null;
}
return (
<div className="mt-5 p-5 rounded-md shadow-sm grid grid-template-cols-1fr">
<h1 className="sk-h3 m-0 font-semibold">Data not backed up</h1>
<p className="m-0 mt-1 col-start-1 col-end-3">
Sign in or register to back up your notes.
</p>
<button
className="sn-btn mt-3 col-start-1 col-end-3 justify-self-start"
onClick={(event) => {
event.stopPropagation();
appState.accountMenu.setShow(true);
}}
>
Open Account menu
</button>
<button
onClick={() => {
appState.noAccountWarning.hide();
}}
title="Ignore"
label="Ignore"
className="border-0 m-0 p-0 bg-transparent cursor-pointer rounded-md col-start-2 row-start-1 color-neutral hover:color-info"
>
<Close className="fill-current" />
</button>
</div>
);
}

export const NoAccountWarningDirective = toDirective(NoAccountWarning);
Loading

0 comments on commit bef17ef

Please sign in to comment.