storj/web/satellite
Vitalii 132a688bec web/satellite: rework session timeout reset with ongoing upload
Using eventbus was a terrible approach because if session would expire in less than 3 mins then we would do an explicit API request to reset session for each upload progress ping.
With this change we simply check if there is at least one ongoing upload and refresh session with one single API request and we don't show inactivity modal.

This is a possible fix for this issue (at least I can't reproduce it):
https://github.com/storj/storj/issues/5618

How to test:
setup storj-up with InactivityTimerDuration config value set to 120 seconds.
go to object browser and start upload of some heavy file, for example 1GB.
check if inactivity timer would be shown in 2 mins, additionaly you may check DevTools network tab.
in my case upload is successfully done in about 3-4 mins without any problems.

Change-Id: I09142a7affac08db1d02992ca2d2f40c6267324f
2023-03-15 16:00:53 +00:00
..
scripts Revert "web/satellite: allow execute permissions on wasm_exec" 2022-11-23 20:26:07 +00:00
src web/satellite: rework session timeout reset with ongoing upload 2023-03-15 16:00:53 +00:00
static web/satellite: update Coupons area in Billing page 2023-03-13 08:09:06 +00:00
tests/unit web/satellite: add all projects onboarding 2023-03-09 19:55:34 +00:00
.env satellite: added ability to inject stripe public key post build (#3560) 2019-11-18 13:38:43 +02:00
.eslintignore web/satellite: fix linter 2022-09-09 11:02:04 +00:00
.eslintrc.js web: remove sanitizing dependency and restrict v-html 2023-03-06 19:58:27 +00:00
.gitignore web/{multinode,satellite,storagenode}: revert go.mod 2022-07-08 19:51:51 +03:00
.stylelintignore web/satellite: color palette added 2022-10-19 11:16:26 +00:00
.stylelintrc.js web/satellite: fix linter 2022-09-09 11:02:04 +00:00
build-if-changed.sh build: fix conditional run of web builds 2022-08-11 14:34:44 +00:00
build.sh web: create valid go.mod stubs 2022-09-26 17:11:10 +03:00
index.html satellite:{console, web}: remove old project dashboard 2023-03-07 13:34:59 +02:00
jest.config.js web/satellite: VPagination, VHeader, VSearch migration to use composition api 2022-12-12 16:13:14 +02:00
jest.setup.ts web/satellite: rewrite VButton with composition API 2022-10-13 12:54:39 +00:00
package-lock.json web/satellite: migrate VChart component to use SFC composition API 2023-03-15 14:31:52 +00:00
package.json web/satellite: migrate VChart component to use SFC composition API 2023-03-15 14:31:52 +00:00
README.md web/satellite,satellite/console: Overhaul password reset 2021-08-12 17:40:53 +00:00
tsconfig.json web/satellite: register page made configurable 2022-07-20 18:57:47 +03:00
vue.config.js web/satellite: fix linter 2022-09-09 11:02:04 +00:00

storj-dev-panel

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Run your tests

npm run test

Lints and fixes files

npm run lint

Run your unit tests

npm run test:unit

Build docker container

From root of the repository, run:

make satellite-ui-image

Run docker container

docker run -p 8080:8080 storjlabs/satellite-ui:latest

1. Project structure:

  • src folder: contains main project components such as api, store, router, etc.
  • static folder: contains all project static resources such as images, fonts, pages.
  • tests folder: - contains project unit tests.
  • configuration files.

src

  • api folder: contains API for project modules such as auth, project, etc. We are using both GraphQL and HTTP implementations.
  • components folder: contains hierarchy of vue single file components sorted thematically.
  • router folder: contains project browser locations structure file.
  • store folder: contains global state management file broken into modules.
  • types folder: contains project classes and types.
  • utils folder: contains constants, plugins and utility files for formatting, validation, data transferring, etc.
  • views folder: same as components, but for root ones.
  • App.vue root project component.
  • main.ts Vue instance initialization file. Here filters and declarations are placed. Also plugins, store and router are connecting to Vue instance.

static

  • activation folder: contains page template that appears after account verification via email.
  • emails folder: contains all emails templates.
  • errors folder: contains 50x and 40x error pages templates.
  • fonts folder: contains Inter font sets in ttf format.
  • images folder: contains illustrations.
  • reports folder: contains usage report table template.

tests

  • unit folder: contains project unit tests.

Configuration files

  • .env: file for environment level variables.
  • .gitignore: folders, files and extensions which are ignored for git.
  • babel.config.js: babel configuration for javascript transcompilation.
  • index.html: DOM entry point.
  • jestSetup.ts: jest configuration for unit testing.
  • package.json: file holds various metadata relevant to the project such as version, dependencies, scripts and configurations.
  • tsconfig.json: holds TypeScript configurations.
  • tslint.json: holds TypeScript linter configurations.
  • vue.config.js: holds Vue configurations.