Commit Graph

173 Commits

Author SHA1 Message Date
Márton Elek
96b88e286e build: fix conditional run of web builds
Jenkins doesn't do a very good job with identifying what has been changed.

While it has a syntax to defined patterns, it compares the current build with the previous build (in case of git-verify it can be a totally different branch) instead of checking the HEAD commit.

This patch introduces shell scripts to do this better:
 * It doesn't depend on Jenkins any more
 * It can be executed locally
 * It can detect web changes properly (see the relation change as an example).

Change-Id: I9d37775e3818c08c4aa96ffb78f84d57f28a2c95
2022-08-11 14:34:44 +00:00
Márton Elek
bed2af3e87 web: use fixed version from eslint-storj
eslint-plugin-storj is uploaded to the main npm registry.

While we have no clear proof that it causes the random freeze of npm install, it can be fater anyway as fixed version can be cached safely.

Change-Id: Ie74d93c7c4863e46121a9ab6c4e6b787fa3899b3
2022-08-03 12:32:01 +00:00
Egon Elbre
15dc797efd web/{multinode,satellite,storagenode}: revert go.mod
Adding go.mod into node_modules is not sufficient, because npm install
wipes them quite often out. Similarly, when running npm install locally
it will remove it, causing the git state to be dirty.

Rather than having them committed, add them after running npm install.

Change-Id: Iaf21a9c6e198dc31fe50345ec5dee85b44617176
2022-07-08 19:51:51 +03:00
Egon Elbre
97e6e5a6a3 build: improve npm build
Add go.mod to node_modules folder, that way Go compiler doesn't
need to scan the node_module directories for any Go code.

Change-Id: I747909416490c847d6b4bfa3438fea66660fcd53
2022-07-01 10:51:53 +00:00
Jeremy Wharton
4e0acba9ba web/{multinode,satellite,storagenode}: Fix SVG styling
Our SVG loader was recently reworked so that snapshots of UI tests
are smaller, but this broke some SVG styles because SVG paths no longer
contain a scoped CSS attribute. This change adds deep selectors where
appropriate to repair the broken styles.

A scoped CSS attribute is added by Vue Loader to elements of components
with scoped styles to identify which component the element belongs to
and restrict CSS rules accordingly. Paths within imported SVGs no longer
contain this type of attribute, so the deep selector must be used to
style the SVG as if it were a child component.

Change-Id: If4beb903fa3b40aa208efa549b8fe23ccf2a547b
2022-06-08 21:54:59 +00:00
Clement Sam
d3ada57872 web/storagenode: remove QUIC status tooltip when QUIC is configured
Resolves https://github.com/storj/storj/issues/4448

Change-Id: Id69340eb843f3ffdd9e1660d239bda65dbf28be4
2022-05-19 21:28:07 +00:00
Egon Elbre
0ba454da55 web/: bump eslint dependencies
Change-Id: Icf7a48f732c73b4b954de05e0bb9955ad4d9a609
2022-05-05 18:35:31 +00:00
Egon Elbre
ff64e9ffb3 web/{multinode,storagenode,satellite}: update stylelint
Also reset package-lock.json files to workaround issue
of npm auto-updating storj eslint plugin dependency to ssh.

Change-Id: Iaba102d713dc596d5814bdc4cc54c9b911398d64
2022-05-05 15:47:44 +03:00
Egon Elbre
37ad60b89b web/{multinode,storagenode}: fix callback default props
The default property for callbacks needs to be a func that returns
the appropriate callback.

Change-Id: Ia36222e600db41b3ddc79a25686ae998d1daf221
2022-05-05 14:33:52 +03:00
Egon Elbre
e10eabe30b web/storagenode: update dependencies
Also pin all web/multinode dependencies, which was missing from
the other change.

Change-Id: Id78749076af6d80e59949efd73c1e10f5b52589c
2022-04-07 07:50:22 +00:00
Egon Elbre
1f1f777d06 satellite/admin/ui,web/{multinode,storagenode}: build without embedding
Embedded files significantly increase the binary size for linking.
Add a tag that allows disabling embedding the build npm code.

Change-Id: I9d1fd7376d1fa035965c33d259faaa6c4770dfe1
2022-03-29 13:18:04 +03:00
Egon Elbre
dc0f7b5f77 storagenode,web/storagenode: use go:embed for assets
Go can now directly embed files without relying on external tools.
This makes code use go:embed and avoid the external tooling.

go:embed requires files to be present in the embedded directory,
hence we need to add .keep to "dist" folder. We also add one to
public/.keep, such that it won't be deleted when building storagenode.

Change-Id: I8bef81236be6829ed37ed4c16ef693677b93a631
2022-03-11 16:01:28 +02:00
Ivan Fraixedes
9688c574b7
web/storagenode: Use an existing const instead value
Use an exiting constant for the ZK explorer URL rather than hard-coding
the URL value.

Change-Id: I029248c4fc2d1279f6b061ae94ca1036f0790b84
2022-02-18 11:49:18 +01:00
Márton Elek
a2dd10ce14 web/storagenode: support polygon with transaction links
This patch fixes the link of "Transaction" on the storagenode web
console when polygon is used.

Tested with storj/storj-up based cluster and generating test payments.

Change-Id: Ia88954e055c6f41b92d77052afffebe633da549c
2022-02-14 13:44:26 +00:00
Clement Sam
589c82f23e storagenode: display quic status on SNO dashboard
This change includes storagenode QUIC status on SNO dashboard.
If disabled, it displays warning for SNOs to foward their
UDP port for quic.

Change-Id: I8d28c9c0f5f1e90d80b7c18b9e1e7b78c5e45609
2021-12-23 12:22:24 +00:00
Egon Elbre
bc6d8c06e3 web: optimize builds
Stylelint and eslint should be run separately and not part of the build
process.

Add a flag STORJ_DEBUG_BUNDLE_SIZE to debug compiled bundle size.

Reduce the number of chunks, it's far from ideal. Once we reduce the
images and browser size, we probably can drop chunking altogether.

Change-Id: I5bdf35ceb140e2c47a30df8d319606d05bfb30dd
2021-10-12 11:29:37 +00:00
Egon Elbre
bb55c30594 web: move eslint-storj to separate repo
For some reason our build process cannot handle relative path packages,
it's easier to create a new repository than to figure out,
why npm/docker etc. don't like it.

Change-Id: I94b7cb9611f453246b596f97114fe5c54d9a4008
2021-10-05 12:08:44 +00:00
Egon Elbre
84539f5798 web/: disallow warnings and errors in tests
* all: fix missing Vue.use(Router)
* multinode: having same state and module names is not allowed
* multinode: simplify store definition
* storagenode: add or fix any annotations

Change-Id: If8a63ae46049fc77fc6cd7a7ad912d4ad74d23ac
2021-09-07 13:43:26 +00:00
Egon Elbre
e5977ec849 web/: add custom linter for requiring @vue/component
Also ignore coverage folder for linting. I had to add a new
.stylelintignore file, because ignoreFiles property was not properly
working.

Change-Id: Iadd99b64eadd9c4103f750519263113ae8780ce1
2021-09-01 13:56:37 +00:00
Egon Elbre
7d5d555264 web/: disallow unregistered and unused components
The components used in templates should always be included in the
component declaration. Similarly, it shouldn't contain extra components
to avoid compiling in components that aren't needed.

Change-Id: I8c47ceffa8bcbcca223ac0f538f9e30d1e849829
2021-08-31 21:25:49 +03:00
Egon Elbre
0889866b17 web/: add @vue/component annotations
Some linters do not work properly without those annotations.
This was done with a batch replace.

Also needed to turn off two lint rules, they will be re-enabled in the
followup change. This way the batch change can be clearly separated from
manual modifications.

Change-Id: I891ae09689520edaba5588c1f2206766db2d2b90
2021-08-31 21:25:49 +03:00
Clement Sam
ce6ae1b17a web/storagenode: add online score block for selected satellite
Online score is shown on the dashboard for each satellite when all the satellites details are displayed.
When a user selects a single satellite, there is no online score block on the dashboard for the selected satellite.
This change adds an online score block to the suspension and audit area for case when a specific satellite is selected

Resolves https://github.com/storj/storj/issues/4180

Change-Id: I6065b64b9d9a7def946c1cc521494e1927799cfa
2021-08-27 18:56:27 +00:00
Egon Elbre
6f2258d870 web/storagenode: fix use of v-html
Change-Id: I0ebbefc7b562c712dd30158c6c688aa0c524abac
2021-08-24 13:02:42 +03:00
Egon Elbre
e43af5eb3d web/: enable more vue eslint rules
Fixes two things:

All button tags must have type field specified, otherwise it defaults to
submit, which is mostly not correct for our site.

Disallows unused refs.

Change-Id: I28bb44aab9c153f83fec16fc4023a453444c3926
2021-08-12 16:56:37 +03:00
Egon Elbre
abf6bf9507 web/storagenode: enable vue/recommended linting
Change-Id: I0efefb9fdc1056ea3fb6d94951f8bb0231695aaa
2021-08-11 11:10:51 +03:00
Egon Elbre
19852a767b web/storagenode: fix lint issues
After migrating to eslint some errors were disabled to make it easier to
migrate.

This enables all the lint rules and treats all warnings as a build
failure. Similarly, CI won't automatically try to fix mistakes.

Change-Id: Iff9c4a59401900fc395cd566dd328f3a9c688a12
2021-08-05 15:45:55 +00:00
Egon Elbre
80854ea921 web/storagenode: switch to eslint, sass, bump deps
tslint has been deprecated so it's nice to switch to eslint.
Currently this uses a minimal eslint, to get things up and running.

node-sass requires C which does not work nicely on all platforms.

Change-Id: Icf12e375293e052befc2d0daeb23d73697ed6ded
2021-08-03 17:03:38 +03:00
Egon Elbre
96291a3999 web/{satellite,storagenode}: bump lockfile version
Change-Id: Idc842efb3e49b633e317a0cfe3540f5a05cd81da
2021-07-30 07:47:19 +00:00
StobR
42b113d92b
web/storagenode: fix ingress chart tooltip
Fixes z-index issue for tooltips when ingress graph is mouseover.
2021-07-26 15:19:40 +03:00
StobR
267a962c3b
web/storagenode: fix egress chart tooltip 2021-07-26 14:51:40 +03:00
Egon Elbre
556b80e06b web/: ignore node_modules while linting css
For some reason in CI environment, stylelint started analyzing code in
node_modules.

Change-Id: I4fdac8e84a320d05506a01de753d19db57536bc4
2021-06-03 16:18:16 +03:00
JT Olio
35d8a840d3 storj/storj: more domain changes
Change-Id: I643c38bdae6dc26c9346147d80a83ae9dde2eeae
2021-04-15 20:51:43 +00:00
NickolaiYurchenko
f2718734f6 web/storagenode: bug fixes
WHAT:
- fix for wrong total held calcutation on refresh
- payout history year restrictions depends on selected satellite fixed
- payout history total changed if distributed amount > 0
- dark mode info icon colors changed
- option menu closing issue fixed

Change-Id: Ia289d51f081b782ae601722b7c05c3307f56541d
2021-03-30 14:43:51 +03:00
NickolaiYurchenko
b91ba7057e web/storagenode: added zksync wallet explorer button
WHAT: link to zkscan if zksync is opted in

WHY: to have ability to see wallet status redirected from dashboard

Change-Id: Ic2d084c1e551f461307fb5a1d5eb1741ed7cdf85
2021-03-30 08:47:11 +00:00
NickolaiYurchenko
badd6d12d4 web/satellite: distributed amount added to tables, content changed
Change-Id: Ib0eb3fa3f4f9d451f4b4048a6409d19968a41956
2021-02-24 16:01:40 +00:00
NickolaiYurchenko
50239e66f7 web/storagenode: zksync receipt convertation
Change-Id: I5b7b44c4e81a5a5dadf20db4c8ef852d71a01bd3
2021-02-18 09:30:54 +00:00
NickolaiYurchenko
212baf6145 web/storagenode: balance section markup, current month estimated payout frontend implementation
Change-Id: I8820c842e2773a114423eab8370b5c4dc8f73cdd
2021-02-18 09:52:58 +02:00
NickolaiYurchenko
ed1caede97 web: size package fixed
Change-Id: Ie07666d6a9d7e72c61a3c2b842295da9076f9407
2021-02-15 17:15:08 +02:00
Qweder93
a86bd27513 storagenode/storagenodedb: paystubs distributed not null added
Change-Id: I021ba1c4ce4865f2575466d9b4d702775a5654cf
2021-02-10 12:51:09 +00:00
NickolaiYurchenko
4661bc9b84 web/storagenode: notification createdAt bug fixed
Change-Id: If989f3db1dfa947cd598b9aad906df074761b954
2021-02-10 11:51:44 +00:00
NickolaiYurchenko
e86041a5cf web: stylint config moved from package.json
Change-Id: Ic16ef4190947e5af447072f24055ca9294526956
2021-02-08 10:48:06 +00:00
NickolaiYurchenko
cd57606209 web/storagenode: size package refactored
Change-Id: I139478c760b3eb480990a1ff3aec6f8b90c218ac
2021-02-08 12:19:58 +02:00
Cameron Ayer
c5ecca1e1d web/storagenode: remove uptime columns and references
Full scope:
storagenode/{console,nodestats,notifications,reputation,storagenodedb},
web/storagenode

These columns are deprecated. They used to be for the uptime reputation
system which has been replaced by downtime tracking with audits.

Change-Id: I151d6569577d89733ac97af21a1d885323522b21
2021-01-29 15:36:59 -05:00
NickolaiYurchenko
6e68e8e00e web/storagenode: held progress typo fix
Change-Id: Ifa77928d27815942990a5ce1b32a572f309d1799
2020-12-24 12:33:56 +02:00
NickolaiYurchenko
aaa4a9f31b web/storagenode: overused disk space added to chart
What: diskspace utilization extended with overused value.

Why: to show overused space on chart.

Change-Id: I84adf0d0cc94b19026d97655cb3060aad4560860
2020-12-18 14:58:55 +00:00
Aaron Covrig
46e26fa47d
Changed ChecksArea.vue audits/checks precision (#3987)
Fixes #3965
2020-12-10 20:03:11 +01:00
NickolaiYurchenko
ac94333422 web/storagenode: notifications components unit tests
Change-Id: I2b0249eff73572b3bf401c5f920440f095bc3978
2020-11-17 12:00:00 +00:00
NickolaiYurchenko
f8d3a977fa web/storagenode: PayoutPeriodCalendar.vue unit tests
Change-Id: I6a41611e28993577eb72426b941cf272ae8da46f
2020-11-12 18:50:16 +02:00
NickolaiYurchenko
259f4ebcf1 web/storagenode: EstimationArea.vue unit tests
Change-Id: I5b7606f3deb0b3b8cccf6ec1026d06f3558fd808
2020-11-12 13:21:10 +00:00
NickolaiYurchenko
dbaf8b6c0d web/storagenode: sno types/store/api refactoring
WHAT:
node store, api, types refactoring;
service creation;
minor payout store changes;

Change-Id: I5c52740730db49bc16393b07858354a2914846fb
2020-11-10 15:55:27 +02:00