Coder Social home page Coder Social logo

mozilla / notes Goto Github PK

View Code? Open in Web Editor NEW
494.0 42.0 131.0 25.57 MB

DEPRECATED - A notepad for Firefox

Home Page: https://testpilot.firefox.com/experiments/notes

License: Mozilla Public License 2.0

HTML 75.86% JavaScript 20.24% CSS 0.52% Shell 0.18% Java 1.65% Objective-C 0.33% Starlark 0.18% SCSS 1.05%
abandoned unmaintained

notes's Introduction

Firefox Notes

A notepad for Firefox

CircleCI Available on Test Pilot

Discussion Forum: https://discourse.mozilla.org/c/archives/test-pilot

Releases

The releases are packaged by CircleCI for Android and the WebExtension.

Contribute

  • Step 0: If you plan on sending a pull-request, you should fork the repository.
  • Step 1: Clone the notes repository or your fork.
git clone https://github.com/mozilla/notes.git
# or
git clone https://github.com/[yourusername]/notes.git
  • Step 2: Navigate to the root of the directory you cloned and run:

Make sure to use Node.js 8+.

Command Description
npm install Installs required Node.js dependencies.
npm run build Builds the application as a Web Extension.
npm start Launches Firefox with the Web Extension.

You can also open the test/index.html file in your browser to run the automated tests.

WebExtension Permissions

Permission Description
contextMenus Used for "Send to Note" feature, sends text from pages to the Notes sidebar.
storage Storage for Notes.
identity OAuth login to Firefox Accounts to sync your notes.

Release

See RELEASE.md for release steps.

Localization

Firefox Notes localization is managed via Pontoon, not direct pull requests to the repository. If you want to fix a typo, add a new language, or simply know more about localization, please get in touch with the existing localization team for your language, or Mozilla’s l10n-drivers for guidance.

Licenses

Design

Screenshot

Notes v4

notes's People

Contributors

ag12r avatar andy-moz avatar asmforce avatar cedricium avatar fjoerfoks avatar flodolo avatar gaby2300 avatar glasserc avatar jsyanis avatar jurajcigan avatar koehlermichael avatar kyoshino avatar manxmensch avatar mastizada avatar milupo avatar muddlebee avatar natim avatar pdehaan avatar petercpg avatar ravmn avatar rodrigommc avatar sebastienbarbier avatar selimsumlu avatar sn-o-w avatar theochevalier avatar tonnesm avatar upwinxp avatar vladikoff avatar yfdyh000 avatar zerdo90 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

notes's Issues

"Show sidebars" button is still highlighted after closing the sidebar and opening a new window

[Notes]:

  • The issue is intermittent:
    • on Mac, 5/10 times.
    • on Windows, 9/10 times.
  • The issue is not reproducible without "Firefox Notes" add-on installed.

[Affected versions]:

  • Firefox 53.0 and up
  • Firefox Notes v1.2

[Affected Platforms]:

  • All Windows
  • All Linux
  • All Mac

[Prerequisites]:

  • Have a Firefox profile with the latest Notes add-on version (1.2 -dev, built on 16/06/2017) installed.

[Steps to reproduce]:

  1. Open the browser with the profile from prerequisites.
  2. Open a new window and click on the "Show sidebars" button in order to hide the "Firefox Notes" sidebar.
  3. Open a new window and observe the "Show sidebars" button.

[Expected result]:

  • The "Show sidebars" button is no longer highlighted in the browser toolbar.

[Actual result]:

  • The "Show sidebars" button is still highlighted in the browser toolbar.

[Notes]:

  • Attached a screen recording of the issue:
    notes_toolbar_highlight_button

Add quill and kinto-http as npm dependencies?

This would make building and bundling a bit trickier (npm install and potentially moving files), but would keep some 3rd party code out of our codebase and make it easier to upgrade libraries in the future.

For example, it looks like we're bundling [email protected] in our repo, but the latest is v1.2.6.

The minified kinto-http file doesn't even have a copyright header or version number I can find, so I don't even know what version of the library it is, and if it is out of date. Looks like the latest version on npm is v4.3.4 though.

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on all branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because we are using your CI build statuses to figure out when to notify you about breaking changes.

Since we did not receive a CI status on the greenkeeper/initial branch, we assume that you still need to configure it.

If you have already set up a CI for this repository, you might need to check your configuration. Make sure it will run on all new branches. If you don’t want it to run on every branch, you can whitelist branches starting with greenkeeper/.

We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on all branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because we are using your CI build statuses to figure out when to notify you about breaking changes.

Since we did not receive a CI status on the greenkeeper/initial branch, we assume that you still need to configure it.

If you have already set up a CI for this repository, you might need to check your configuration. Make sure it will run on all new branches. If you don’t want it to run on every branch, you can whitelist branches starting with greenkeeper/.

We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

Should I get signed out of Notes when I sign out of Sync?

(sorry if there's a mailing list I should ask this on instead, I couldn't find one in my notes)

I'm trying to make sure I have my head around the relationship between being logged in to Firefox Sync, and being logged in to the Notes webextension. IIUC the intention is for these to be two separate and independent login states despite co-existing in the same browser, right?

If I'm signed in to sync, and I go to sign in to the Notes webextension, then I get a nice experience where it already knows who I am and I just have to re-enter my password to enable Notes to start syncing. I think that feels pretty solid.

But what happens if I then sign out of sync in my browser? Will the Notes webextension stay signed in and keep syncing? Is the user going to find that surprising? They may not have a good mental model of the two things being distinct.

Should I get disconnected from Notes if I change/reset my FxA password?

If the account password gets reset, the encryption keys will need to change, so ISTM it makes sense for any connected Notes clients to get disconnected straight away. Does it also make sense to disconnect on password change? IIRC that's the current behaviour for sync, all devices get disconnected on password change or reset.

Tooltips are missing from the formatting option buttons

[Affected versions]:

  • Firefox 53.0 and up
  • Firefox Notes v1.2

[Affected Platforms]:

  • All Windows
  • All Linux
  • All Mac

[Prerequisites]:

  • Have a Firefox profile with the latest Notes add-on version (1.2 -dev, built on 16/06/2017).

[Steps to reproduce]:

  1. Open the browser with the profile from prerequisites.
  2. Hover the formatting option buttons("Bold","Italic","Ordered list", etc.) from "Notes" sidebar and observe.

[Expected result]:

  • The corresponding tooltip is displayed for each formatting option button.

[Actual result]:

  • No tooltip is displayed.

[Notes]:

  • Attached a screen recording of the issue:
    notes_tooltips_missing

Polling for changes is annoying

If you take more than a second to select a piece of text and edit or style it, you will loose your selection.
This is pretty annoying and it is due to the polling + refresh strategy.

I already have an idea of how to fix that (like looking at the content and refresh only if it changed) but I also filed a Bugzilla issue to see if we can come up with a better strategy for this Sidebar API.

Use minimized vendor libraries?

Per some earlier PR comments on using minified versions of the vendor libraries:

➜  notes git:(master) $ ls -lash src/sidebar/vendor

 104 -rw-r--r--   1 pdehaan  staff    51K Jun 16 07:59 jose.js
2024 -rw-r--r--   1 pdehaan  staff   1.0M Jun 16 07:59 kinto-http.js
 824 -rw-r--r--   1 pdehaan  staff   409K Jun 16 07:59 quill.js
  48 -rw-r--r--   1 pdehaan  staff    24K Jun 16 07:59 quill.snow.css

➜  notes git:(master) $ du -sh src/sidebar/vendor
1.5M	src/sidebar/vendor

But, if we modify the scripts/postinstall.sh to copy the vendor minified files, we can save oodles of filesize (~480K vs ~1.5M):

➜  notes git:(master) $ ls -lash src/sidebar/vendor-min

 40 -rw-r--r--   1 pdehaan  staff    19K Jun 16 08:42 jose.min.js
464 -rw-r--r--   1 pdehaan  staff   230K Jun 16 08:42 kinto-http.min.js
408 -rw-r--r--   1 pdehaan  staff   202K Jun 16 08:42 quill.min.js
 48 -rw-r--r--   1 pdehaan  staff    24K Jun 16 08:42 quill.snow.css

➜  notes git:(master) $ du -sh src/sidebar/vendor-min
480K	src/sidebar/vendor-min
#!/usr/bin/env bash

set -e

cp node_modules/testpilot-metrics/testpilot-metrics.js src/vendor

cp node_modules/kinto-http/dist/kinto-http.min.js src/sidebar/vendor-min
cp node_modules/quill/dist/quill.min.js src/sidebar/vendor-min
cp node_modules/quill/dist/quill.snow.css src/sidebar/vendor-min
cp node_modules/jose-jwe-jws/dist/jose.min.js src/sidebar/vendor-min

Do not merge conflict Intro Text

Hey @Natim, merge conflict worked well. Only thing is we don't want to merge conflict the intro text.

Not sure if it is easy to detect the intro text or not

Add prettier to auto-format code?

Here was my local config, although the indenting is a bit different between ESLint and Prettier, so I think we'd need to disable the indenting rules in ESLint.

"format": "prettier 'src/**/!(kinto-http|quill|quill.snow).{css,js}' --single-quote --write",

And here's my output (showing the processed files):

➜  notes git:(fix-eslint) $ npm run format

> [email protected] format /Users/pdehaan/dev/github/mozilla/notes
> prettier 'src/**/!(kinto-http|quill|quill.snow).{css,js}' --single-quote --write

src/background.js 258ms
src/sidebar/options/options.js 23ms
src/sidebar/panel.js 190ms
src/sidebar/styles.css 120ms

After removing Firefox Notes, the "Show sidebars" button is still displayed in the browser toolbar

[Notes]:

  • The same behavior can be observed also when disabling the "Firefox Notes" add-on.
  • Since by default you don't have the "Show sidebars" button in the browser toolbar, it would be better if the button will be moved back after removing/disabling Firefox Notes.

[Affected versions]:

  • Firefox 53.0 and up
  • Firefox Notes v1.2

[Affected Platforms]:

  • All Windows
  • All Linux
  • All Mac

[Prerequisites]:

  • Have a Firefox profile with the latest Notes add-on version (1.2 -dev, built on 16/06/2017) installed.

[Steps to reproduce]:

  1. Open the browser with the profile from prerequisites.
  2. Go to "about:addons" and click on "Extensions".
  3. Remove "Firefox Notes" add-on and observe the browser toolbar.

[Expected result]:

  • The "Show sidebars" button is no longer displayed in the browser toolbar.

[Actual result]:

  • The "Show sidebars" button is still displayed in the browser toolbar.

[Additional Notes]:

  • Attached a screen recording of the issue:
    notes_toolbar_button

Handle If-Match headers to avoid overridding when writing to Kinto

Now that we are polling changes from Kinto less often, it could happen that we are storing an update in Kinto without having loaded the last version from it.

To avoid that we should keep track of the Etag from the last time we read Kinto to avoid overriding if an update occurred in between.

The current implementation only handles conflict on loading from Kinto (with regards to the local pad) but not when writing to it.

Multiple note support

From what I understand, this just allows me to create a single note, not an infinite number of separate notes.

I understand it's probably out of scope for V1, but we should consider adding support for multiple notes, as it somewhat limits the utility of this add-on/experiment.

I'm a complex boy, with lots of varied interests. Trying to combine all my thoughts/notes into a single, consolidated text field makes it hard to keep all my information together and easy to find in the future.

Audit HTMLLint results

HTMLLint didn't bring up anything too interesting, but here they are in case anybody else finds them interesting:

# $ npm i htmllint-cli
$ $(npm bin)/htmllint 'src/**/*.html'

src/sidebar/options/options.html: line 4, col 1, the <head> tag must contain a title
src/sidebar/options/options.html: line 10, col 2, the `style` attribute is banned
src/sidebar/options/options.html: line 10, col 56, value must match the format: underscore
src/sidebar/panel.html: line 2, col 5, the <head> tag must contain a title
src/sidebar/panel.html: line 5, col 9, the style tag is banned
src/sidebar/panel.html: line 35, col 13, value must match the format: underscore

[htmllint] found 6 errors out of 2 files

And my config file, .htmllintrc, is:

{
  "class-style": "dash",
  "id-class-style": "dash",
  "indent-width": 2
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.