You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
admin can list users & admins; replaces user signup with request for invite (#115)
* lists users & admins, generates & validates admin invites; replaces user signup with request for invite
* Fixes bug that prevented using a proxy for HTTPS termination
* OAuth stores parameters in session, rather than passing to client & back
* Allows cross-platform passkeys, cross-origin access to storage, & user selection of grant duration
* Corrects caching headers and improves error messages when session expires
* Refactors contactURLToLink, assembleContactURL & protocol options into new protocols module w/ planned configurability
* Adds robots.txt file to discourage crawling
* Logging casts a wider net when extracting username
* Adds passkey logo everywhere passkeys are mentioned
* Logged-in user can invite themself to create another passkey
* npm audit fix
* Adds rate-limiting to defend against buggy and compromised clients
* Implements /.well-known/change-password as redirect, for password managers
Copy file name to clipboardexpand all lines: DEVELOPMENT.md
+7-4
Original file line number
Diff line number
Diff line change
@@ -3,14 +3,17 @@
3
3
## Setup
4
4
5
5
1. Run `git clone https://github.com/remotestorage/armadietto.git` to pull the code.
6
-
2. Run `yarn install` or `npm install`. to install the dependencies.
6
+
2. Run `npm install` to install the dependencies.
7
+
3. Register for S3-compatible storage with your hosting provider, install [a self-hosted implementation](notes/S3-store-router.md), or use the public account on `play.min.io` (which is slow, and to which anyone in the world can read and write!).
7
8
8
9
## Development
9
10
10
-
* Run `npm test` to run the automated tests.
11
-
* Run `npm run dev` to start a server on your local machine, and have it automatically restart when you update a source code file in `/lib`.
11
+
* Run `npm test` to run the automated tests for both monolithic and modular servers (except the tests for S3 store router).
12
+
* Set the S3 environment variables and run Mocha with `./node_modules/mocha/bin/mocha.js -u bdd-lazy-var/getter spec/armadietto/storage_spec.js` to test the S3 store router using your configured S3 server. (If the S3 environment variables aren't set, the S3 router uses the shared public account on play.min.io.) If any tests fail, add a note to [the S3 notes](notes/S3-store-router.md)
13
+
* Run `npm run modular` to start a modular server on your local machine, and have it automatically restart when you update a source code file in `/lib`.
14
+
* Run `npm run dev` to start a monolithic server on your local machine, and have it automatically restart when you update a source code file in `/lib`.
12
15
13
-
Set the environment `DEBUG` to enable verbose logging of HTTP requests.
16
+
Set the environment `DEBUG` to enable verbose logging of HTTP requests. For the modular server, these are the requests to the S3 server. For the monolithic server, these are the requests to Armadietto.
14
17
15
18
Add automated tests for any new functionality. For bug fixes, start by writing an automated test that fails under the buggy code, but will pass when you've written a fix. Using TDD is not required, but will help you write better code.
The data-access locking mechanism is lock-file based.
194
-
195
-
You may need to tune the lock-file timeouts in your configuration:
196
-
197
-
-*lock_timeout_ms* - millis to wait for lock file to be available
198
-
-*lock_stale_after_ms* - millis to wait to deem lockfile stale
199
-
200
-
To tune run the [hosted RS load test](https://overhide.github.io/armadietto/example/load.html) or follow instructions in [example/README.md](example/README.md) for local setup and subsequently run [example/load.html](example/load.html) off of `npm run serve` therein.
0 commit comments