GithubHelp home page GithubHelp logo

standardnotes / docs Goto Github PK

View Code? Open in Web Editor NEW
7.0 6.0 23.0 29.38 MB

[Moved to https://github.com/standardnotes/app/tree/main/packages/docs] Documentation for Standard Notes users and developers | https://docs.standardnotes.com

Home Page: https://docs.standardnotes.com

License: GNU Affero General Public License v3.0

JavaScript 98.08% CSS 1.84% SCSS 0.08%
standardnotes docs documentation end-to-end-encryption notes privacy docusaurus sn-extensions

docs's Issues

Clarify which fields are optional and which fields are not

Hi, I'm trying to implement a standard notes sync server and would like to know which fields are optional and which fields are not. The documentation only said that the api field "must not be null" but there are no such comments for other fields. I doubt that they are all required cause surely a deleted item does not need to have a content field. It would be nice if the documentation could clear things up.

Clarifying the `area` property for components in ext.json

When users set up an extension locally (https://docs.standardnotes.org/extensions/local-setup), there can be some confusion (or just misreading) around what should go under the area property in ext.json. Many just leave the default value, and thus extensions like Folders or Action Bar don't work properly when setup. This occurred to me as well, and I had to do some digging to determine the correct values to use for a given component.

I propose adding a diagram to the aforementioned page under step 4; something like the below would make things crystal clear. Although it would have to be more professional-looking and polished.

image

In addition, (perhaps) more emphasis should be placed on the url and area properties because those are the important ones that affect the normal function of extensions.

cc @mobitar @TheodoreChu @zsoltszilvai

How to get a dock icon for your theme

This should be added to the documentation:

In order to get SN to display a dock icon for your theme (a circle in the lower right corner of the app that allows you to quickly toggle themes), add the following payload into the your ext.json file:

"dock_icon": {
   "type": "circle",
   "background_color": "#086DD6",
   "foreground_color": "#ffffff",
   "border_color": "#086DD6"
}

Sync protocol documentation outdated

I am trying to write my own implementation of Standard Notes sync server (https://github.com/PeterCxy/sfrs), during which I noticed that the documentation on https://docs.standardnotes.org/specification/sync seems to be outdated. Here are several differences I have run into during implementation

  1. The /auth and /auth/sign_in interfaces needs to return a user object with uuid and email in addition to the session token
  2. The /items/sync interface now uses conflicts instead of unsaved to pass conflicts back to the client

These are the ones I have noticed by far. I think that having the standard documentation up-to-date can facilitate more implementations and also make the protocol itself easier to audit.

In addition, I think that the standard should not force implementations to use standard-compliant JWT, since it contains many pitfalls that makes a truly standard-compliant implementation vulnerable (most real-world implementations should not be actually standard-compliant though). Since I don't think the client should care about what sort of token the server uses, maybe the documentation can just say "the server should return some kind of session token that can be used to identify the user and the session".

Installing a local extension causes it to get cached, and it can't be changed and re-installed again

I was trying to follow the steps at Local Setup to install a new theme. I ran http-server in a theme extension's directory and installed it with the URL http://localhost:8001/ext.json. This is on Windows. Then I changed some things and uninstalled the extension. When I re-installed the extension, the changes were not reflected in the application. The only way to fix this was to change the extension identifier and port number in the url every time I make a change. It's confusing since otherwise it looks like the install succeeds.

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.