Since 355e89ce5, the frontend references resources via root-relative URLs.
This means that `resources` dirs in the language dirs are no longer
accessed and can be removed.
Achieve this by defining a specific `assets` production config that
doesn't include `src/resources`.
As of fd35c8f4a, this shrinks the frontend size by 55% (279M -> 124M).
Also, the nginx location configs now can be simplified.
* initial version of the update config script
* fix duplicated content
* update cypress ci settings
* add workflow to run e2e tests when pushing
* record cypress results to the dashboard
* pull the cypress record key and project id from the secrets
* add start-server-and-test to replace concurrently
* replace concurrently with start-server-and-test
* remove concurrently
* add new cypress target to record
* update cypress to 7.7.0
* add tests for signet
* add tests for testnet
* run tests on chrome and firefox
* update test matrix: add edge and run firefox on container
* fix copypasta
* update docker image for firefox
* fix task name again
* fix edge tests task name
* improve bisq tests
* update workflow config
* enable cypress debug logs
* add a manual trigger for the e2e tests
* add config:defaults target
* use more of the GHA options
* fix config command
* add cypress-fail-on-console-error
* upgrade cypress to v8.0.0
* add helper to wait for the loader skeleton to be gone
* use skeleton waiter on the tests
* remove manual test trigger
* fix tv test when only one mempool block is available
* add waiter for pagination
* add extra steps to debug firefox launch issue
* remove whoami step
* Revert "upgrade cypress to v8.0.0"
This reverts commit cb3ff7d906.
* remove userinfo debug step
* enable test retries in run mode
* update proxy config to reduce ECONNRESET errors
* add mock-socket dev dependency
* add helpers to mock websockets and detect page idleness
* stabilize mainnet tests
* fix tv mode test on Liquid
* add basic tests for the mainnet status page
* cleanup mainnet tests
* update bisq tests
* update signet tests
* update testnet tests
* add initial support for parameterized websocket mocks
* move testing dependencies to optionalDependencies
* comment out mempool size check until the live updates are fixed
* comment out tx regex test
* update fixture for the new difficulty adjustment component
* fix the assertions on the status page
* run generate-config on serve
* write the config file only if settings have changed
* read the git commit hash from the current branch, not master
* git sha is now short by default, no need to trim on the about component
* add @cypress/schematic as a dev dependency
* replace protractor with cypress
* remove the boilerplate test
* add the cypress-wait-until helper library
* add cypress-wait-until to all tests
* add signet to stg proxy config
* add proxy config for production
* add environment configs to angular.json
* update e2e target to use the production proxy
* update serve and start scripts to use the new environment config
* add the concurrently lib to the dev dependencies
* fix missing import
* ignore videos and screenshots saved by the e2e suite
* add fixtures for the tests
* update cypress npm scripts to use concurrently
* add some e2e tests
* simon/cpfp-frontend: (46 commits)
Bugfix: Don't extend already extended transactions to not override the firstSeen property. fixes#390
Shuffle mempool transactions before saving disk cache. (#398)
Adding missing return after expressjs response.
CPFP support (#395)
Round sat/vB in fee rating tooltip. fixes#364
Add the GNU AGPLv3 logo to About page
Update package.json license tags
Add recommended fee percentile config (#394)
Fix typo in README (#392)
Fix icon for Specter Wallet on About page
Add link to Specter Wallet on our About page
Add link to WARden Portfolio app as Community Integration on About page
Delete MIT+CC license from Terms of Service, add AGPLv3 to About page
Change mempool project license to GNU Affero General Public License v3
Lower volume for sound effects (#385)
Improve grammar, layout, and formatting of Terms of Service page
Display all Project Contributors on About page using GitHub API (#382)
Modify nginx.conf to cache HTML for 10m and static resources for 1h
Proxy /api/v1/contributors from mempool.space, also fix HTTP headers
Add link to Bisq's GitHub repo on About page
...
* master: (42 commits)
i18n: Added missing Bisq translations. Minor missing space and character fixes.
add missing 'sat/vb' string for i18n
i18n: Removed CR from "In X minutes" translation
i18n: Updated strings for "x confirmations", "x transactions", "x blocks" and "block ETA". Peg-out, and bisq headers.
Update translation strings from Transifex
Enable 'ka' locale for Georgian
Update translation strings from Transifex
Disable Vietnamese locale 'vi' until translations are completed
Update translation strings from Transifex
add 'sat' string for i18n
Update translation strings from Transifex
Update translation strings from Transifex
i18n update
Remove extra garbage characters from OP_RETURN tooltip. fixes#254
Fix for changing locale on other networks than mainnet. fixes#253
i18n: Asset search box
Update translation strings from Transifex
i18n: Added X of X transaction. Flipped collapse/expand
i18n: Added "miner identification" and updated "navigate to sponsor"
Update translations from Transifex
...
# Conflicts:
# frontend/src/app/components/app/app.component.ts
# frontend/src/app/components/mempool-block/mempool-block.component.ts
* master:
Update list of supported locales
Add one more fix to nginx.conf for i18n
Remove unused i18n tags in frontend/src/index.html
Update translations from Transifex
Enable 'fr' locale for French
Corrected some missing spaces on transactions page and a blank render bug when confirmation time is below 1 minute.
Implement i18n support in frontend using Angular + Transifex + NGINX
# Conflicts:
# frontend/src/app/app.constants.ts
# frontend/sync-assets.js
This PR adds basic i18n support into the mempool frontend, together with
a smooth workflow for developers and translators to collaborate:
* Using the existing @angular/localize module, developers add i18n
metadata to any frontend strings their new features or changes modify
* Using the new npm script `i18n-extract-from-source`, developers
extract the i18n data from source code into `src/locale/messages.xlf`
* After pushing the updated `src/locale/messages.xlf` to GitHub, the
Transifex service will update its database from the new source data
* Using the Transifex website UI, translators can work together to
translate all the mempool frontend strings into their native languages
* Using the new npm script `i18n-pull-from-transifex`, developers can
pull in completed translations from Transifex, and commit them into git.
This flow requires an API key from Transifex, which can be obtained at
https://www.transifex.com/user/settings/api/ to be used with the python
script installed by `pip install transifex-client` - after preparing
these, run the npm script which will ask you for the API key the first
time. When downloading is complete, you can test building the frontend,
and if successful, commit the new strings files into git.
This PR implements a new locale selector in the footer of the homepage
dashboard, and includes WIP translations for the following languages:
* Czech (cs)
* German (de)
* Japanese (ja)
* Norwegian (nn)
* Spanish (es)
* Swedish (sv)
* Ukrainian (uk)
* Persian (fa)
* Portugese (pt)
* Turkish (tr)
* Dutch (nl)
* French (fr)
* Chinese (zh)
* Slovenian (sl)
* Korean (ko)
* Polish (pl)
The user-agent's `Accept-Language` header is used to automatically
detect their preferred language, which can be manually overriden by the
pull-down selector, which saves their preference to a cookie, which is
used by nginx to serve the correct HTML bundle to the user.
Remaining tasks include adding i18n metadata for strings in the Bisq and
Liquid frontend code, mouseover hover tooltip strings, hard-coded og
metadata inside HTML templates, and many other places. This will be done
in a separate PR.
When upgrading to add i18n support, mempool instance operators must take
care to install the new nginx.conf and nginx-mempool.conf files, and
tweak for their specific site configuration.
Fixes#81
* commit 'f151eb81c812a62d1d5c57ee91620a3dd9ae5068':
Upgrade angular from 10.0.4 to 10.2.3, typescript from 3.9.7 to 4.0.5
Modify /bisq/api/v1/markets/markets to only return active markets
Remove unnecessary @types/axios dependency.
Same npm fix for running `tsc` from `./node_modules` for backend
Set npm to run `ng` and `tsc` binaries from `./node_modules/` path
# Conflicts:
# frontend/package-lock.json
# frontend/package.json
* master:
Add the Commons Clause License Condition v1.0 to our MIT License
fix legend bug on resize
Correcting new chartist import path.
Flip mempool chart by using patched chartist package by @techmix
# Conflicts:
# frontend/package-lock.json