Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No hats #1357

Merged
merged 62 commits into from
Sep 16, 2024
Merged

No hats #1357

merged 62 commits into from
Sep 16, 2024

Conversation

goastler
Copy link
Member

aka lock pkg versions

@HughParry
Copy link
Contributor

🤠

packages/common/src/node/UrlConverter.ts Outdated Show resolved Hide resolved
@goastler goastler enabled auto-merge (squash) September 16, 2024 13:26
@goastler goastler merged commit b48522f into staging Sep 16, 2024
8 checks passed
@goastler goastler deleted the no-hats branch September 16, 2024 13:27
forgetso added a commit that referenced this pull request Sep 19, 2024
* New git branches setup (#1296)

* add dev branch to auto merge

* make clippy run on new branch setup

* remove version checker workflow

* add dev and release branch triggers to consistent workflow name checker

* Delete create_diagram.yml

* add dev and release branch triggers to lint workflow

* add release and dev branch triggers to provider_image workflow

* remove release drafter

* add dev and release branches to rustfmt workflow

* add dev and release branches to protocol test workflow

* add dev and release branches triggers to tests workflow

* add dev and release branch triggers to webpack bundling workflow

* switch cache creation to be post pr to dev

* rename post_pr workflow to cache

* Update cache.yml

* publish workflow

* Update cache.yml

* fix contract js/rust version check workflow

* install concurrently and cypress as workspace deps

* fix cypress workflow trigger

* fix cypress workflow branch triggers

* fix rust file triggers

* move webpack bundling check to tests workflow

* remove typechain version check

* rename workflows

* make the github actions cache include the branch name

* publish on push to main

* add js bundle test step

* workflow for ensuring all versions move in lockstep

* blurb for each workflow

* dockerhub login check for before a release

* rename publish to release

* remove typedoc step

* standardise step ids in release workflow

* dummy version bump

* Delete dockerhub_login.yml

* release version check

* workflow to check for valid version bumps

* auto merge all prs

* check consistent workflow names on all prs

* branch system docs

* check contract version on prs to main,dev,release/*

* add workflow_dispatch to all relevant workflows

* make auto merge only run on non-draft prs

* check versions on all branches

* make release run on push to main

* tag pushes to main

* rename version check workflow

* remove fetch all history and branches from clone

* fix docker js server version issue

* fix bump workflow to bump all package.json files and Cargo.tomls

* fix package.json version writing in bump workflow

* rename step

* make auto merge cancellable

* make deploy ahve a single notification of pass/fail

* debug info

* fix cache workflow name

* don't use cache in bump version workflow, not needed

* move buildx to top of workflow

* move the cli building to before publishing images in deploy workflow

* tag warning

* remove filters for tests, test more often

* add workflow dispatch to deploy workflow

* add bash error catching

* Create consistent_engine_node.yml

* Create consistent_engine_npm.yml

* Create consistent_nvmrc.yml

* cache docs

* event workflows for main and dev

* change event setup

* don't run unless non-draft pr

* combine protocol clippy and rustfmt into single lint workflow

* missing engine

* missing version

* revert version debug

* fix version

* fix workflow name detection

* add missing engines

* fix nvmrc check

* fix path typo in contract version check

* allow auto merge to run always

* Update package-lock.json

* lint

* lint

* Cache cypress install (#1305)

* remove install cypress step from cache workflow

* add cypress as dev dep

* Add staging branch to workflow (#1311)

* New linting (#1309)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* fix npm script error handling (#1306)

* fix auto merge (#1302)

* fix auto merge

* add repo parameter to auto merge

* add repo parameter to auto merge workflow

* Remove contract calls (#1308)

* remove contract calls from procaptcha

* linted stuff

* Adding empty providers

* Adding hardcoded random providers

* Adding changes to load process

* Debugging

* debug

* nearly working state management

* fast captchas with no contract

* Removing debug

* Timestamp signature validation

* Working no rpc calls full captcha flow

* linting

* Unit tests potentially working

* dropping debug

* All passing cypress demo

* Bundle falling over when hashing

* dropping bundle pure replace

* Remove polkadot manual bundling hacks

* No provider pow

* Working pow without contract calls

* revert sitekey changes

* verified instead of context

* don't log config

* removing cypress capture images

* removing bad deps

* Removing debug

* fixing build

* fixing providers

* Correct docstring

* rebuilt package lock

* Removing stats file

* Skipping lint in protocol

* removing typechain change because protocol bump required

* removing unused deps

* temp bump while firefighting

* Dropping provider gui

* Working build without provider gui

* Removing batch commit tasks

* Dropping protocol

* Working build without protocol dir

* Dropping proxy and package lock pointing to proxy

* Working build with new pkg deps

* Removing common contract

* Dropping tests for rewrite

* Working no captcha product

* Dropping merkle tree

* Refactoring provider and adding temp tests

* Refactored provider into multiple single responsibility classes

* lint fix

* pkg lock bump

* Renaming tests to non test file to pass

* Tests passing

* Debug for datasetId getter

* Working provider set dataset

* Auth Middleware Test

* Captcha scheduler tests

* Error Handler tests

* Provider now boots without connection to rpc node

* Full suite of unit tests for provider

* Tests passing

* Fixed build

* Integration tests. Actions for this to be set up

* Working image captcha integration tests

* Unit tests paths correction

* Fixing version bump yml

* Removing debug

* Adding dummy get random provider script

* Removing dockerfile and vite env config

* Replacing signedTimestamp with timestampSignature

* Deduping config by making it its own package

* Defaulting message to provider online

* Fixing type issues and ws requirement issues

---------

Co-authored-by: Chris Taylor <forgetso86@gmail.com>
Co-authored-by: George Oastler <goastler@users.noreply.github.com>

* Removing unused deps, bumping package lock

* Working pow captcha with timeouts

* Add missing deps and bundling command for staging

* Remove version from docker compose files

* Use NODE_ENV var for pulling in env var file into docker compose file

* Add staging deploy process

* Add staging bundle command

* package lock

* Remove old deps.

* Update package-lock.json

* Update event name

* Add missing dep

* Use latest image to create container from

* Use staging tag for container

* Await crypto WASM blob

* Allow NODE_ENV to be passed into Vite config

* Add load-balancer refs to tsconfigs

* Allow PROSOPO_DEFAULT_ENVIRONMENT to inherit from NODE_ENV

* Add some logging and change some imports

* exporting hardcoded provider from types

* Cleanup linting process (#1312)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* remove old lint scripts

* remove prettier + eslint config

* remove eslint dep

* remove prettier dep

* Update package-lock.json

* Fix provider not erroring on database connection error. Add option to specify the number of proxies between the provider API and the user

* Add staging command back in

* deploy staging workflow to bundle branch

* addit commit details for bumps

* Add watchtower to provider docker compose

* Don't mount missing file

* watch provider container only

* Change container name

* Use createConnection instead of connection

* Fix build

* Staging deploy workflow (#1314)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* Pkg json

* bump version to v2.0.0

* no build specified

* remove deploy_X scripts

* remove deploy_X scripts

* remove deploy_protocol script call

* remove deploy_protocol workflow step

* remove github assets for contract

* remove deploy_protool

* Use 2.0.0 everywhere

* Provider tests passing

* Adding if present to cjs

* Dropping auto merge

* Dropping dapp example demo

* fix check version bump all history available

* Update check_version_bump.yml

* Update check_version_bump.yml

* Remove out of date readme

* Update check_version_bump.yml

* Re-add old babel plugins

* start provider

* Always add the token to the form

* Supply token to onHuman function

* Fix build

* Adding button next for cypress tests

* Fixing hanging test

* Fixing get dataset being broken

* Remove substrate from docker compose

* Cypress tests passing

* stop the provider workflow from falling over if the npm packages are unreleased

* Only load the provider mock container if we built it

* Try to upload screenshots

* Try to store screenshots on failure

* Try using withinSubject:null

* Wait for button to be visible

* Wait for the the API call

* Remove wait for solution request

* try to force the click

* Just force, don't expect the element

* try waiting after clicking

* Store videos of cypress runs

* Remove the then

* Remove duplicate click

* Fix function return type

* try within

* Adding setup step for setup env in test

* Add data-cy attributes if environment is not production

* wait for docker containers to setup env

* Adding setup step for setup env in test

* Start docker first

* Check if there are references

* remove within

* Try to kill processes with concurrently

* Size fixes for widget and logo

* Make signature stuff less confusing

* Fix license header positions

* Fix tests

* Get it all working

* Fix size

* Fix lint issues (#1318)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* add nuke script

* set shell in dockerfile

* use json form of CMD in dockerfile

* fix multiple RUN commands in dockerfile

* remove apt sources after install

* use apt get

* use apt-get in dockerfile instead of apt

* join multiple run commands together in dockerfile

* entrypoint json form

* no install recommends

* ignore install recommends lint

* fix multiple run commands and apt clear

* CMD to json form

* no install recommends

* remove root user, is default

* set nginx version

* multiple RUN commands fix

* set shell to use pipefail

* delete apt lists after install

* fix consecutive RUN commands

* no install recommends

* ignore usage of latest

* dockerfile lint

* Update substrate-contracts-node.build.dockerfile

* json form for CMD

* lint dockerfile

* lint caddyfile

* fix needless cat

* useless echo

* speech marks for safety

* make dockerfile and shell linting command simpler

* fix quotes and variable usage in cache workflow

* fix quotes

* fix quotes

* fix quotes

* fix quotes

* fix NODE_ENV speech marks in workflows

* useless cat

* unused vars

* lint

* missing speech marks

* speech marks

* lint eval and @ usage in shell

* lint shell script

* fix yamllint linting

* fix lint md and js fix cmd

* autofix js

* fix biome cmdline args

* biome lint fixes

* biome lint fix

* make biome use vcs

* no export from tests

* fix key in list

* missing useEffect dep

* explicit any todo

* lint fixes

* warn on parameter assign

* todo for any

* trailing comma

* ignore any type for options

* fix line count parameter reassigned

* fix not null assertion

* ignore any from axios response

* ignore any casts

* ignore any in async ctor

* no reuse of parameter

* ignore i18n translation any

* ignore anys in nodejs polars plugin

* ignore any for response json

* avoid parameter reuse

* fix any usage in vite watch plugin

* fix side effect in vite watch plugin

* fix reused variables in error classes

* disable rule for key event with onClick

* forEach to for of

* missing bracket

* allow any

* forEach to for of

* allow any

* forEach to for of

* allow any

* allow any

* forEach to for of

* use item hash as key

* fix useEffect deps

* todo for async exec

* allow any + async exec

* allow any

* forEach to for of

* ignore spread

* TODOs for sendFunds

* allow any

* ignore async exec

* allow any

* todo for memo deps

* ignore detector code, contains loads of biome errors

* fix anys, foreach and local params

* ignore foreach

* fix any

* allow any

* allow any

* allow any and foreach

* allow any

* allow any

* allow any

* allow enum

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* allow any

* allow any and foreach to for of

* img buffer type

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* make biome do formatting too

* biome format

* ignore bundles

* lint

* lint md files

* lint md

* disable some markdown rules

* lint rs

* fix rs

* fix npm scripts

* lint

* ignore ruff.toml when linting tomls

* lint

* lint py npm scripts

* remove eslint directives

* make biome track the main branch and handle css

* fix caddy linting

* lint

* lint

* lint

* configure taplo

* Update ruff.toml

* fix scripts

* lint

* remove eslint

* lint

* fix speech mark issues

* typo

* fix lint fixes types

* more fixes for linting fixes

* fix for potentially undefined root node of merkle tree

* duplicate selector

* lint

* ignore bundle stats html file

* missing provider env for starting provider

* async factory fix

* remove debug

* lint

* revert detector index.js changes

* lint

* polyfill node: imports

* fix for node:url breaking bundle

* use package workspaces rather than cd'ing (#1321)

* Add push to js branch again to get live staging bundle

* Remove any existing procaptcha responses on human

* deploy staging on push to staging

* Use duplicate JS Server for now

* Silence GH warning about NoSQL injection in demo

* Silence GH warning about NoSQL injection in demo

* Set GH_TOKEN env

* Remove production step for JS Server

* Add back command to push to js-bundle branch. Remove quotes in asset deletion script

* Use correct docker tag

* Try moving to its own step

* don't fail if nothing to commit

* Update provider docker run CMD

* Always pull new version of tag for provider image

* Update provider CMD

* Alter the verify endpoint when in non-production environments in client-example demo

* Allow PoW captchas to be stored and counted

* Removing exportData from Manager

* Adding synamic config for load balancer

* Fix build

* fix server build

* fix server again

* fix provider build

* Removing dangerou

* Change scale-ts type to u64 to avoid losing data

* revert change to number for timestamp

* make sure procaptcha-response is deleted

* Fix scheduler database name and add env option for storage schedule

* Make the models available once the connection has been made

* Move headers

* Update js_server release step

* Try using secret directly

* Add some debug

* Modify debug

* Yet more debug

* I give up

* Working captcha results in mongo (#1322)

* Fixing db schema for pow captchas

* dropping new debug

* Use a var for mongo image

* more debug

* Removing lint fix from version bump

* User data mvp (#1327)

* Update captcha records for user portal data requirements

* pow types overhaul

* Harden tests against function parameter changes

* only run prosoponator on non-draft pr's (#1333)

* fix dir capitalisation (#1329)

* fix dir capitalisation

* fix path

* Introduce dotenv package for finding environment files (#1334)

* Introduce dotenv package for finding environment files

* Package-lock.json

* Update references to old loadEnv

* Update package references

* Add the config files

* Update loadEnv ref

* Update loadEnv refs in demos

* trigger tests

* Update dotenv reference

* Specify no tests

* Fix dataset IDs for staging providers

* Allow pow challenges to be submitted more than once for verification

* Fail if the challenge exists in the db

* Revert unlimited challenge checking

* Make demo re-render captcha component when form changes

* Allow navigating between the captcha types

* Fix license location

* remove debug

* Store something on each request. Update PoW types. Additional checks (#1336)

* removed network types

* remove substrate containers / env params

* remove CONTRACT env vars

* fix imports

* remove networks

* remove network from getPairAsync

* remove networks + contract

* remove default network from env

* remove default network

* remove network default + types from types pkg

* remove network types

* remove block number

* Update package-lock.json

* Update package-lock.json

* remove contract dep for demo

* Store something on each request. Update PoW types. Additional checks

* Additional checks

* Restrict captcha solution checking by dapp account

* fix build

* Fix cypress tests

* lots of updates to types

* Fix up tests. Add types for Get Image Captcha URL

* Remove some unuse types. Type an API URL

* Zod type translation keys. Use enum values when updating database. Add enum arrays to mongoose schemas. Use ApiParams everywhere

* Set the correct key and value for storedStatus

* Fix up unit tests

* Make sure we're setting updated timestamps everywhere. Don't send the same data to the captcha storage DB twice. Add details of cron jobs that have run to scheduled tasks collection

* Fix up tests

* remove file that does nothing

---------

Co-authored-by: George Oastler <goastler4@gmail.com>

* Bug fix for missing status in scheduled task record

* Fix captcha storage mechanism. Add tests (#1337)

* Fix captcha storage mechanism. Add tests

* Fix up tests. Move verifyRecency function to util

* Update test env template

* Fix build

* use correct branch name in bump version

* Fix captcha scheduling insert (#1341)

* Stop scheduler from trying to set ID on upsert

* package-lock.json

* change logging

* Add types to tests to filter by test type during testing (#1342)

* vite test type env parameter

* prepend test type to all test files

* always include tests with no type specified

* Fix last scheduled task getter (#1346)

Change the db method and add some unit tests around scheduled tasks

* Lint repo (#1349)

* JS in repo linted

* addince licences

* Removing unused linting

* run lint in ci container

* GHA fix

* js server shell script linting

* yaml lint fix

* pkg lock lint

---------

Co-authored-by: George Oastler <goastler4@gmail.com>

* Docker compose overhaul (#1350)

* fix NODE_ENV var in arm64 version of provider compose

* add restart policy to docker compose

* add watchtower to arm64

* add pull policy to arm64

* make watchtower cleanup old imgs

* watchtower remove anon vols

* watchtower log format

* only restart enabled containers

* ping slack when restarts happen

* only restart enabled containers

* ping slack when updates occur

* docs

* make env based db image

* combine arm64 and x86_64 provider compose files

* mongodb healthcheck

* healthcheck for caddy

* healthcheck for provider

* disable caddy fileserver

* metrics in caddyfile

* add env vars to caddyfile

* basicauth for /metrics

* add env vars for uname + pwd of basicauth

* docker compose profiles

* remove tty

* add env file to caddy

* provider-dev service

* make database-dev use env file

* remove watchtower env params

* add watchtower env file

* watchtower logging

* watchtower restart policy

* watchtower self restart

* add missing env params

* remove dev version of provider compose file

* usage doc for caddy

* move env vars

* sort env lines

* prepend caddy env parameters with CADDY_

* add provider image version env parameter

* add missing env params

* add missing template env vars

* drop rococo env

* move package version env var

* more old space size for testing

* remove name from watchtower

* configure watchtower via env

* remove watchtower healthcheck

* Delete Dockerfile

* Caddyfile defaults (#1352)

* add caddy provider name + port vars

* sane defaults for provider container name + port in caddyfile

* sane default for http port

* remove http port for prod

* sane default for https

* remove https var for prod

* missing https var

* caddy admin endpoint default

* remove admin endpoint var

* disable caddy metrics (not in use atm)

* disable metrics reverse proxy

* log to stdout as well

* fix provider endpoint vars

* fix defaults

* rimraf dep (#1331)

* rimraf dep

* Update package-lock.json

* security policy (#1343)

* Portal settings (#1351)

* wip for client settings retrieval. database overhaul

* types update

* Add basic domain validator

* big domain regex

* lint-fix

* Add test class

* install missing dep

* bump polyfill plugin

* package-lock.json

* limit domain length

* package locl

* lint fix

* drop logs

* Address PR comments

* TLS headers (#1353)

* Create tls.Caddyfile

* add headers to express / types / tests

* pass headers

* add headers to mongo

* lint

* move tls headers from debug caddyfile

* fix missing headers in types

* fix missing headers

* lint

* lint

* fix error of unknown type

* lint

* disable gh actions lint

* lint

* remove old demo/example pkgs (#1345)

* remove old demo/example pkgs

* pow in example

* remove legacy npm scripts

* Provider retry (#1348)

* pkg lock bump and manager logic for retry

* Dev cli with multiple providers and provider faliure fallover

* Biome fixes

* pkg json lint

* Provider retry in pow from common

* Non cached s3 provider getting

* working retryCount

* pgk lock bump

* removing linting junk

* Working build and cleaner dev cli

* Removing unused debug

* pkg lock bump for deps

* adding types glob

* Dropping load balancer hardcoded jsons

* Removing non env based dev provider start

* use node env for dev mode

* Properly logging final retry faliure

* pkg lock bump

* package lock is locked up 😂

* pkg lock lock lock

* Linting

* Lint

* marking lint actions as disabled

* Only 1 provider

* 🔒

* 🔒

* 🔒

* remove glob and lint

* 📦🔒

* pin vite to 5.4.2

* 📦🔒

* Glob stink

* globSync

* lint fix

* bump vitest and vite

* add vite and vitest to root pkg json

* remove vitest cov

* Update package-lock.json

* fix exclude for vite test config

* 📦🔒

* vitest/coverage-v8

* use fast-glob

* lint-fix

* remove lint:yaml command

* Lint-fix:js

---------

Co-authored-by: Chris Taylor <forgetso86@gmail.com>
Co-authored-by: George Oastler <goastler4@gmail.com>

* remove find-up (#1354)

* Stop npm from failing on extraneous packages

* Add package-lock-only flag

* drop depends

* Deps (#1356)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* webpack cli

* Update package-lock.json

* lint

* webpack deps

* Update package-lock.json

* lint

* vitest coverage

* Update package-lock.json

* revert procaptcha-bundle + config pkg deps

* order

* Update package-lock.json

* add standard devdeps to all pkgs

* Update package-lock.json

* tsx

* Update package-lock.json

* lint

* Deploy bundle on push (#1362)

Deploying bundle to s3

* No hats (#1357)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* remove hats

* purge hats

* Update package-lock.json

* bump pkg vers

* fix array access errors for new ts version

* bump i18n

* bump pkg vers

* fix array access for new ts ver

* fix dep vers

* Update package-lock.json

* lint

* remove hat

* add webpack and rollup plugins back in

* Update package-lock.json

* bump rollup and webpack plugin vers

* missing babel plugins

* bump babel deps

* Update package-lock.json

* move import

* add comments for biome ignores

* npmrc (#1361)

* Adding prosopo  to css selectors (#1363)

Adding prosopo- to all classnames

Co-authored-by: George Oastler <goastler@users.noreply.github.com>

* Deps (#1365)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* remove hats

* purge hats

* Update package-lock.json

* bump pkg vers

* fix array access errors for new ts version

* bump i18n

* bump pkg vers

* fix array access for new ts ver

* fix dep vers

* Update package-lock.json

* lint

* remove hat

* add webpack and rollup plugins back in

* Update package-lock.json

* bump rollup and webpack plugin vers

* missing babel plugins

* bump babel deps

* Update package-lock.json

* move import

* add comments for biome ignores

* add devdeps

* more devdeps

* consolidate pkg vers

* drop hats

* drop hats

* drop npm check

* Update package-lock.json

* bump deps

* scripts

* remove emotion react

* ignore standard pkgs from depcheck

* typo

* Update package-lock.json

* lint

* npmrc fix (#1366)

Co-authored-by: Chris <forgetso86@gmail.com>

* bump vite to 5.4.6

* 📦🔒

* fix bump version workflow (#1368)

* Bump version to 2.1.0

* Bump to 2.0.1

* Lint-fix

* Bump env versions

* saving to js folder (#1373)

saving t o js folder

* Adding spanish and portuguese support (#1364)

* Working build for ES and PT language support

* Auto update lang in all captcha types

* Working i18n

* All translations

* Dropping empty file

* Linting and formatting

* Adding tests and refactoring bundle

* package lock bumps

* proper numbers ❇️

* 🔒

* lint fix

* Linting fixes

* more linting aa

* License formatting

* Add config for resolving .js extensions in ESM context in webpack build

* lint-fix

* Add check for build and build:cjs

* check that number of references in tsconfig.json equals the number in tsconfig.cjs.json

* Stop tsconfigs from having missing references

* Fix script for comparing package.jsons and tsconfig.json

* fix all missing packages

* 📦🔒

* lint-fix

* fix broken package version

* add missing ref

* Make sure file does not exist

* lint-fix

* Script to remove unused JSON keys

* Remove ununsed JSON keys

* lint-fix

* remove PROGUI section

---------

Co-authored-by: Chris Taylor <forgetso86@gmail.com>

* Package bumps

* recursive copy

* caddyfile defaults for variables

* Copy top level files only

* deploy fix (#1374)

* deploy fix

* remove demo changes

* dumbb lint

* english language

* Use inherited vite config from dev/config package (#1376)

* Use inherited vite config from dev/config package

* lint-fix

* Add watch workspace plugin back in

* i18n fixes (#1377)

* i18n fixes

* Removing unused lang, linting, etc

* lint

* Portugese Brazilian (#1379)

* Portugese Brazilian

* Add pt-BR to zod enum

---------

Co-authored-by: Hugh <hughglynparry@gmail.com>

* Commit so that i can pin

---------

Co-authored-by: George Oastler <goastler@users.noreply.github.com>
Co-authored-by: George Oastler <goastler4@gmail.com>
Co-authored-by: Chris <forgetso86@gmail.com>
Co-authored-by: Hugh <90424587+HughParry@users.noreply.github.com>
Co-authored-by: Hugh <hughglynparry@gmail.com>
@HughParry HughParry mentioned this pull request Sep 20, 2024
HughParry added a commit that referenced this pull request Sep 20, 2024
Release 2.1.0 (#1371)

* New git branches setup (#1296)

* add dev branch to auto merge

* make clippy run on new branch setup

* remove version checker workflow

* add dev and release branch triggers to consistent workflow name checker

* Delete create_diagram.yml

* add dev and release branch triggers to lint workflow

* add release and dev branch triggers to provider_image workflow

* remove release drafter

* add dev and release branches to rustfmt workflow

* add dev and release branches to protocol test workflow

* add dev and release branches triggers to tests workflow

* add dev and release branch triggers to webpack bundling workflow

* switch cache creation to be post pr to dev

* rename post_pr workflow to cache

* Update cache.yml

* publish workflow

* Update cache.yml

* fix contract js/rust version check workflow

* install concurrently and cypress as workspace deps

* fix cypress workflow trigger

* fix cypress workflow branch triggers

* fix rust file triggers

* move webpack bundling check to tests workflow

* remove typechain version check

* rename workflows

* make the github actions cache include the branch name

* publish on push to main

* add js bundle test step

* workflow for ensuring all versions move in lockstep

* blurb for each workflow

* dockerhub login check for before a release

* rename publish to release

* remove typedoc step

* standardise step ids in release workflow

* dummy version bump

* Delete dockerhub_login.yml

* release version check

* workflow to check for valid version bumps

* auto merge all prs

* check consistent workflow names on all prs

* branch system docs

* check contract version on prs to main,dev,release/*

* add workflow_dispatch to all relevant workflows

* make auto merge only run on non-draft prs

* check versions on all branches

* make release run on push to main

* tag pushes to main

* rename version check workflow

* remove fetch all history and branches from clone

* fix docker js server version issue

* fix bump workflow to bump all package.json files and Cargo.tomls

* fix package.json version writing in bump workflow

* rename step

* make auto merge cancellable

* make deploy ahve a single notification of pass/fail

* debug info

* fix cache workflow name

* don't use cache in bump version workflow, not needed

* move buildx to top of workflow

* move the cli building to before publishing images in deploy workflow

* tag warning

* remove filters for tests, test more often

* add workflow dispatch to deploy workflow

* add bash error catching

* Create consistent_engine_node.yml

* Create consistent_engine_npm.yml

* Create consistent_nvmrc.yml

* cache docs

* event workflows for main and dev

* change event setup

* don't run unless non-draft pr

* combine protocol clippy and rustfmt into single lint workflow

* missing engine

* missing version

* revert version debug

* fix version

* fix workflow name detection

* add missing engines

* fix nvmrc check

* fix path typo in contract version check

* allow auto merge to run always

* Update package-lock.json

* lint

* lint

* Cache cypress install (#1305)

* remove install cypress step from cache workflow

* add cypress as dev dep

* Add staging branch to workflow (#1311)

* New linting (#1309)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* fix npm script error handling (#1306)

* fix auto merge (#1302)

* fix auto merge

* add repo parameter to auto merge

* add repo parameter to auto merge workflow

* Remove contract calls (#1308)

* remove contract calls from procaptcha

* linted stuff

* Adding empty providers

* Adding hardcoded random providers

* Adding changes to load process

* Debugging

* debug

* nearly working state management

* fast captchas with no contract

* Removing debug

* Timestamp signature validation

* Working no rpc calls full captcha flow

* linting

* Unit tests potentially working

* dropping debug

* All passing cypress demo

* Bundle falling over when hashing

* dropping bundle pure replace

* Remove polkadot manual bundling hacks

* No provider pow

* Working pow without contract calls

* revert sitekey changes

* verified instead of context

* don't log config

* removing cypress capture images

* removing bad deps

* Removing debug

* fixing build

* fixing providers

* Correct docstring

* rebuilt package lock

* Removing stats file

* Skipping lint in protocol

* removing typechain change because protocol bump required

* removing unused deps

* temp bump while firefighting

* Dropping provider gui

* Working build without provider gui

* Removing batch commit tasks

* Dropping protocol

* Working build without protocol dir

* Dropping proxy and package lock pointing to proxy

* Working build with new pkg deps

* Removing common contract

* Dropping tests for rewrite

* Working no captcha product

* Dropping merkle tree

* Refactoring provider and adding temp tests

* Refactored provider into multiple single responsibility classes

* lint fix

* pkg lock bump

* Renaming tests to non test file to pass

* Tests passing

* Debug for datasetId getter

* Working provider set dataset

* Auth Middleware Test

* Captcha scheduler tests

* Error Handler tests

* Provider now boots without connection to rpc node

* Full suite of unit tests for provider

* Tests passing

* Fixed build

* Integration tests. Actions for this to be set up

* Working image captcha integration tests

* Unit tests paths correction

* Fixing version bump yml

* Removing debug

* Adding dummy get random provider script

* Removing dockerfile and vite env config

* Replacing signedTimestamp with timestampSignature

* Deduping config by making it its own package

* Defaulting message to provider online

* Fixing type issues and ws requirement issues

---------




* Removing unused deps, bumping package lock

* Working pow captcha with timeouts

* Add missing deps and bundling command for staging

* Remove version from docker compose files

* Use NODE_ENV var for pulling in env var file into docker compose file

* Add staging deploy process

* Add staging bundle command

* package lock

* Remove old deps.

* Update package-lock.json

* Update event name

* Add missing dep

* Use latest image to create container from

* Use staging tag for container

* Await crypto WASM blob

* Allow NODE_ENV to be passed into Vite config

* Add load-balancer refs to tsconfigs

* Allow PROSOPO_DEFAULT_ENVIRONMENT to inherit from NODE_ENV

* Add some logging and change some imports

* exporting hardcoded provider from types

* Cleanup linting process (#1312)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* remove old lint scripts

* remove prettier + eslint config

* remove eslint dep

* remove prettier dep

* Update package-lock.json

* Fix provider not erroring on database connection error. Add option to specify the number of proxies between the provider API and the user

* Add staging command back in

* deploy staging workflow to bundle branch

* addit commit details for bumps

* Add watchtower to provider docker compose

* Don't mount missing file

* watch provider container only

* Change container name

* Use createConnection instead of connection

* Fix build

* Staging deploy workflow (#1314)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* Pkg json

* bump version to v2.0.0

* no build specified

* remove deploy_X scripts

* remove deploy_X scripts

* remove deploy_protocol script call

* remove deploy_protocol workflow step

* remove github assets for contract

* remove deploy_protool

* Use 2.0.0 everywhere

* Provider tests passing

* Adding if present to cjs

* Dropping auto merge

* Dropping dapp example demo

* fix check version bump all history available

* Update check_version_bump.yml

* Update check_version_bump.yml

* Remove out of date readme

* Update check_version_bump.yml

* Re-add old babel plugins

* start provider

* Always add the token to the form

* Supply token to onHuman function

* Fix build

* Adding button next for cypress tests

* Fixing hanging test

* Fixing get dataset being broken

* Remove substrate from docker compose

* Cypress tests passing

* stop the provider workflow from falling over if the npm packages are unreleased

* Only load the provider mock container if we built it

* Try to upload screenshots

* Try to store screenshots on failure

* Try using withinSubject:null

* Wait for button to be visible

* Wait for the the API call

* Remove wait for solution request

* try to force the click

* Just force, don't expect the element

* try waiting after clicking

* Store videos of cypress runs

* Remove the then

* Remove duplicate click

* Fix function return type

* try within

* Adding setup step for setup env in test

* Add data-cy attributes if environment is not production

* wait for docker containers to setup env

* Adding setup step for setup env in test

* Start docker first

* Check if there are references

* remove within

* Try to kill processes with concurrently

* Size fixes for widget and logo

* Make signature stuff less confusing

* Fix license header positions

* Fix tests

* Get it all working

* Fix size

* Fix lint issues (#1318)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* add nuke script

* set shell in dockerfile

* use json form of CMD in dockerfile

* fix multiple RUN commands in dockerfile

* remove apt sources after install

* use apt get

* use apt-get in dockerfile instead of apt

* join multiple run commands together in dockerfile

* entrypoint json form

* no install recommends

* ignore install recommends lint

* fix multiple run commands and apt clear

* CMD to json form

* no install recommends

* remove root user, is default

* set nginx version

* multiple RUN commands fix

* set shell to use pipefail

* delete apt lists after install

* fix consecutive RUN commands

* no install recommends

* ignore usage of latest

* dockerfile lint

* Update substrate-contracts-node.build.dockerfile

* json form for CMD

* lint dockerfile

* lint caddyfile

* fix needless cat

* useless echo

* speech marks for safety

* make dockerfile and shell linting command simpler

* fix quotes and variable usage in cache workflow

* fix quotes

* fix quotes

* fix quotes

* fix quotes

* fix NODE_ENV speech marks in workflows

* useless cat

* unused vars

* lint

* missing speech marks

* speech marks

* lint eval and @ usage in shell

* lint shell script

* fix yamllint linting

* fix lint md and js fix cmd

* autofix js

* fix biome cmdline args

* biome lint fixes

* biome lint fix

* make biome use vcs

* no export from tests

* fix key in list

* missing useEffect dep

* explicit any todo

* lint fixes

* warn on parameter assign

* todo for any

* trailing comma

* ignore any type for options

* fix line count parameter reassigned

* fix not null assertion

* ignore any from axios response

* ignore any casts

* ignore any in async ctor

* no reuse of parameter

* ignore i18n translation any

* ignore anys in nodejs polars plugin

* ignore any for response json

* avoid parameter reuse

* fix any usage in vite watch plugin

* fix side effect in vite watch plugin

* fix reused variables in error classes

* disable rule for key event with onClick

* forEach to for of

* missing bracket

* allow any

* forEach to for of

* allow any

* forEach to for of

* allow any

* allow any

* forEach to for of

* use item hash as key

* fix useEffect deps

* todo for async exec

* allow any + async exec

* allow any

* forEach to for of

* ignore spread

* TODOs for sendFunds

* allow any

* ignore async exec

* allow any

* todo for memo deps

* ignore detector code, contains loads of biome errors

* fix anys, foreach and local params

* ignore foreach

* fix any

* allow any

* allow any

* allow any and foreach

* allow any

* allow any

* allow any

* allow enum

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* allow any

* allow any and foreach to for of

* img buffer type

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* make biome do formatting too

* biome format

* ignore bundles

* lint

* lint md files

* lint md

* disable some markdown rules

* lint rs

* fix rs

* fix npm scripts

* lint

* ignore ruff.toml when linting tomls

* lint

* lint py npm scripts

* remove eslint directives

* make biome track the main branch and handle css

* fix caddy linting

* lint

* lint

* lint

* configure taplo

* Update ruff.toml

* fix scripts

* lint

* remove eslint

* lint

* fix speech mark issues

* typo

* fix lint fixes types

* more fixes for linting fixes

* fix for potentially undefined root node of merkle tree

* duplicate selector

* lint

* ignore bundle stats html file

* missing provider env for starting provider

* async factory fix

* remove debug

* lint

* revert detector index.js changes

* lint

* polyfill node: imports

* fix for node:url breaking bundle

* use package workspaces rather than cd'ing (#1321)

* Add push to js branch again to get live staging bundle

* Remove any existing procaptcha responses on human

* deploy staging on push to staging

* Use duplicate JS Server for now

* Silence GH warning about NoSQL injection in demo

* Silence GH warning about NoSQL injection in demo

* Set GH_TOKEN env

* Remove production step for JS Server

* Add back command to push to js-bundle branch. Remove quotes in asset deletion script

* Use correct docker tag

* Try moving to its own step

* don't fail if nothing to commit

* Update provider docker run CMD

* Always pull new version of tag for provider image

* Update provider CMD

* Alter the verify endpoint when in non-production environments in client-example demo

* Allow PoW captchas to be stored and counted

* Removing exportData from Manager

* Adding synamic config for load balancer

* Fix build

* fix server build

* fix server again

* fix provider build

* Removing dangerou

* Change scale-ts type to u64 to avoid losing data

* revert change to number for timestamp

* make sure procaptcha-response is deleted

* Fix scheduler database name and add env option for storage schedule

* Make the models available once the connection has been made

* Move headers

* Update js_server release step

* Try using secret directly

* Add some debug

* Modify debug

* Yet more debug

* I give up

* Working captcha results in mongo (#1322)

* Fixing db schema for pow captchas

* dropping new debug

* Use a var for mongo image

* more debug

* Removing lint fix from version bump

* User data mvp (#1327)

* Update captcha records for user portal data requirements

* pow types overhaul

* Harden tests against function parameter changes

* only run prosoponator on non-draft pr's (#1333)

* fix dir capitalisation (#1329)

* fix dir capitalisation

* fix path

* Introduce dotenv package for finding environment files (#1334)

* Introduce dotenv package for finding environment files

* Package-lock.json

* Update references to old loadEnv

* Update package references

* Add the config files

* Update loadEnv ref

* Update loadEnv refs in demos

* trigger tests

* Update dotenv reference

* Specify no tests

* Fix dataset IDs for staging providers

* Allow pow challenges to be submitted more than once for verification

* Fail if the challenge exists in the db

* Revert unlimited challenge checking

* Make demo re-render captcha component when form changes

* Allow navigating between the captcha types

* Fix license location

* remove debug

* Store something on each request. Update PoW types. Additional checks (#1336)

* removed network types

* remove substrate containers / env params

* remove CONTRACT env vars

* fix imports

* remove networks

* remove network from getPairAsync

* remove networks + contract

* remove default network from env

* remove default network

* remove network default + types from types pkg

* remove network types

* remove block number

* Update package-lock.json

* Update package-lock.json

* remove contract dep for demo

* Store something on each request. Update PoW types. Additional checks

* Additional checks

* Restrict captcha solution checking by dapp account

* fix build

* Fix cypress tests

* lots of updates to types

* Fix up tests. Add types for Get Image Captcha URL

* Remove some unuse types. Type an API URL

* Zod type translation keys. Use enum values when updating database. Add enum arrays to mongoose schemas. Use ApiParams everywhere

* Set the correct key and value for storedStatus

* Fix up unit tests

* Make sure we're setting updated timestamps everywhere. Don't send the same data to the captcha storage DB twice. Add details of cron jobs that have run to scheduled tasks collection

* Fix up tests

* remove file that does nothing

---------



* Bug fix for missing status in scheduled task record

* Fix captcha storage mechanism. Add tests (#1337)

* Fix captcha storage mechanism. Add tests

* Fix up tests. Move verifyRecency function to util

* Update test env template

* Fix build

* use correct branch name in bump version

* Fix captcha scheduling insert (#1341)

* Stop scheduler from trying to set ID on upsert

* package-lock.json

* change logging

* Add types to tests to filter by test type during testing (#1342)

* vite test type env parameter

* prepend test type to all test files

* always include tests with no type specified

* Fix last scheduled task getter (#1346)

Change the db method and add some unit tests around scheduled tasks

* Lint repo (#1349)

* JS in repo linted

* addince licences

* Removing unused linting

* run lint in ci container

* GHA fix

* js server shell script linting

* yaml lint fix

* pkg lock lint

---------



* Docker compose overhaul (#1350)

* fix NODE_ENV var in arm64 version of provider compose

* add restart policy to docker compose

* add watchtower to arm64

* add pull policy to arm64

* make watchtower cleanup old imgs

* watchtower remove anon vols

* watchtower log format

* only restart enabled containers

* ping slack when restarts happen

* only restart enabled containers

* ping slack when updates occur

* docs

* make env based db image

* combine arm64 and x86_64 provider compose files

* mongodb healthcheck

* healthcheck for caddy

* healthcheck for provider

* disable caddy fileserver

* metrics in caddyfile

* add env vars to caddyfile

* basicauth for /metrics

* add env vars for uname + pwd of basicauth

* docker compose profiles

* remove tty

* add env file to caddy

* provider-dev service

* make database-dev use env file

* remove watchtower env params

* add watchtower env file

* watchtower logging

* watchtower restart policy

* watchtower self restart

* add missing env params

* remove dev version of provider compose file

* usage doc for caddy

* move env vars

* sort env lines

* prepend caddy env parameters with CADDY_

* add provider image version env parameter

* add missing env params

* add missing template env vars

* drop rococo env

* move package version env var

* more old space size for testing

* remove name from watchtower

* configure watchtower via env

* remove watchtower healthcheck

* Delete Dockerfile

* Caddyfile defaults (#1352)

* add caddy provider name + port vars

* sane defaults for provider container name + port in caddyfile

* sane default for http port

* remove http port for prod

* sane default for https

* remove https var for prod

* missing https var

* caddy admin endpoint default

* remove admin endpoint var

* disable caddy metrics (not in use atm)

* disable metrics reverse proxy

* log to stdout as well

* fix provider endpoint vars

* fix defaults

* rimraf dep (#1331)

* rimraf dep

* Update package-lock.json

* security policy (#1343)

* Portal settings (#1351)

* wip for client settings retrieval. database overhaul

* types update

* Add basic domain validator

* big domain regex

* lint-fix

* Add test class

* install missing dep

* bump polyfill plugin

* package-lock.json

* limit domain length

* package locl

* lint fix

* drop logs

* Address PR comments

* TLS headers (#1353)

* Create tls.Caddyfile

* add headers to express / types / tests

* pass headers

* add headers to mongo

* lint

* move tls headers from debug caddyfile

* fix missing headers in types

* fix missing headers

* lint

* lint

* fix error of unknown type

* lint

* disable gh actions lint

* lint

* remove old demo/example pkgs (#1345)

* remove old demo/example pkgs

* pow in example

* remove legacy npm scripts

* Provider retry (#1348)

* pkg lock bump and manager logic for retry

* Dev cli with multiple providers and provider faliure fallover

* Biome fixes

* pkg json lint

* Provider retry in pow from common

* Non cached s3 provider getting

* working retryCount

* pgk lock bump

* removing linting junk

* Working build and cleaner dev cli

* Removing unused debug

* pkg lock bump for deps

* adding types glob

* Dropping load balancer hardcoded jsons

* Removing non env based dev provider start

* use node env for dev mode

* Properly logging final retry faliure

* pkg lock bump

* package lock is locked up 😂

* pkg lock lock lock

* Linting

* Lint

* marking lint actions as disabled

* Only 1 provider

* 🔒

* 🔒

* 🔒

* remove glob and lint

* 📦🔒

* pin vite to 5.4.2

* 📦🔒

* Glob stink

* globSync

* lint fix

* bump vitest and vite

* add vite and vitest to root pkg json

* remove vitest cov

* Update package-lock.json

* fix exclude for vite test config

* 📦🔒

* vitest/coverage-v8

* use fast-glob

* lint-fix

* remove lint:yaml command

* Lint-fix:js

---------




* remove find-up (#1354)

* Stop npm from failing on extraneous packages

* Add package-lock-only flag

* drop depends

* Deps (#1356)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* webpack cli

* Update package-lock.json

* lint

* webpack deps

* Update package-lock.json

* lint

* vitest coverage

* Update package-lock.json

* revert procaptcha-bundle + config pkg deps

* order

* Update package-lock.json

* add standard devdeps to all pkgs

* Update package-lock.json

* tsx

* Update package-lock.json

* lint

* Deploy bundle on push (#1362)

Deploying bundle to s3

* No hats (#1357)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* remove hats

* purge hats

* Update package-lock.json

* bump pkg vers

* fix array access errors for new ts version

* bump i18n

* bump pkg vers

* fix array access for new ts ver

* fix dep vers

* Update package-lock.json

* lint

* remove hat

* add webpack and rollup plugins back in

* Update package-lock.json

* bump rollup and webpack plugin vers

* missing babel plugins

* bump babel deps

* Update package-lock.json

* move import

* add comments for biome ignores

* npmrc (#1361)

* Adding prosopo  to css selectors (#1363)

Adding prosopo- to all classnames



* Deps (#1365)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* remove hats

* purge hats

* Update package-lock.json

* bump pkg vers

* fix array access errors for new ts version

* bump i18n

* bump pkg vers

* fix array access for new ts ver

* fix dep vers

* Update package-lock.json

* lint

* remove hat

* add webpack and rollup plugins back in

* Update package-lock.json

* bump rollup and webpack plugin vers

* missing babel plugins

* bump babel deps

* Update package-lock.json

* move import

* add comments for biome ignores

* add devdeps

* more devdeps

* consolidate pkg vers

* drop hats

* drop hats

* drop npm check

* Update package-lock.json

* bump deps

* scripts

* remove emotion react

* ignore standard pkgs from depcheck

* typo

* Update package-lock.json

* lint

* npmrc fix (#1366)



* bump vite to 5.4.6

* 📦🔒

* fix bump version workflow (#1368)

* Bump version to 2.1.0

* Bump to 2.0.1

* Lint-fix

* Bump env versions

* saving to js folder (#1373)

saving t o js folder

* Adding spanish and portuguese support (#1364)

* Working build for ES and PT language support

* Auto update lang in all captcha types

* Working i18n

* All translations

* Dropping empty file

* Linting and formatting

* Adding tests and refactoring bundle

* package lock bumps

* proper numbers ❇️

* 🔒

* lint fix

* Linting fixes

* more linting aa

* License formatting

* Add config for resolving .js extensions in ESM context in webpack build

* lint-fix

* Add check for build and build:cjs

* check that number of references in tsconfig.json equals the number in tsconfig.cjs.json

* Stop tsconfigs from having missing references

* Fix script for comparing package.jsons and tsconfig.json

* fix all missing packages

* 📦🔒

* lint-fix

* fix broken package version

* add missing ref

* Make sure file does not exist

* lint-fix

* Script to remove unused JSON keys

* Remove ununsed JSON keys

* lint-fix

* remove PROGUI section

---------



* Package bumps

* recursive copy

* caddyfile defaults for variables

* Copy top level files only

* deploy fix (#1374)

* deploy fix

* remove demo changes

* dumbb lint

* english language

* Use inherited vite config from dev/config package (#1376)

* Use inherited vite config from dev/config package

* lint-fix

* Add watch workspace plugin back in

* i18n fixes (#1377)

* i18n fixes

* Removing unused lang, linting, etc

* lint

* Portugese Brazilian (#1379)

* Portugese Brazilian

* Add pt-BR to zod enum

---------



* Commit so that i can pin

---------

Co-authored-by: prosoponator <156670514+prosoponator@users.noreply.github.com>
Co-authored-by: Chris <forgetso86@gmail.com>
Co-authored-by: Hugh <90424587+HughParry@users.noreply.github.com>
Co-authored-by: Hugh <hughglynparry@gmail.com>
forgetso added a commit that referenced this pull request Sep 24, 2024
* Basic site key restrictions and scoring checks

* site key registration in pow integration tests

* get integration tests working

* don't double negative

* Move error

* link to FAQ when an error shows

* Make score optional

* lint-fix

* Lint-fix

* Run admin api in cypress tests

* pass timestamps in auth middleware tests

* Release 2.1.0 (#1371)

* New git branches setup (#1296)

* add dev branch to auto merge

* make clippy run on new branch setup

* remove version checker workflow

* add dev and release branch triggers to consistent workflow name checker

* Delete create_diagram.yml

* add dev and release branch triggers to lint workflow

* add release and dev branch triggers to provider_image workflow

* remove release drafter

* add dev and release branches to rustfmt workflow

* add dev and release branches to protocol test workflow

* add dev and release branches triggers to tests workflow

* add dev and release branch triggers to webpack bundling workflow

* switch cache creation to be post pr to dev

* rename post_pr workflow to cache

* Update cache.yml

* publish workflow

* Update cache.yml

* fix contract js/rust version check workflow

* install concurrently and cypress as workspace deps

* fix cypress workflow trigger

* fix cypress workflow branch triggers

* fix rust file triggers

* move webpack bundling check to tests workflow

* remove typechain version check

* rename workflows

* make the github actions cache include the branch name

* publish on push to main

* add js bundle test step

* workflow for ensuring all versions move in lockstep

* blurb for each workflow

* dockerhub login check for before a release

* rename publish to release

* remove typedoc step

* standardise step ids in release workflow

* dummy version bump

* Delete dockerhub_login.yml

* release version check

* workflow to check for valid version bumps

* auto merge all prs

* check consistent workflow names on all prs

* branch system docs

* check contract version on prs to main,dev,release/*

* add workflow_dispatch to all relevant workflows

* make auto merge only run on non-draft prs

* check versions on all branches

* make release run on push to main

* tag pushes to main

* rename version check workflow

* remove fetch all history and branches from clone

* fix docker js server version issue

* fix bump workflow to bump all package.json files and Cargo.tomls

* fix package.json version writing in bump workflow

* rename step

* make auto merge cancellable

* make deploy ahve a single notification of pass/fail

* debug info

* fix cache workflow name

* don't use cache in bump version workflow, not needed

* move buildx to top of workflow

* move the cli building to before publishing images in deploy workflow

* tag warning

* remove filters for tests, test more often

* add workflow dispatch to deploy workflow

* add bash error catching

* Create consistent_engine_node.yml

* Create consistent_engine_npm.yml

* Create consistent_nvmrc.yml

* cache docs

* event workflows for main and dev

* change event setup

* don't run unless non-draft pr

* combine protocol clippy and rustfmt into single lint workflow

* missing engine

* missing version

* revert version debug

* fix version

* fix workflow name detection

* add missing engines

* fix nvmrc check

* fix path typo in contract version check

* allow auto merge to run always

* Update package-lock.json

* lint

* lint

* Cache cypress install (#1305)

* remove install cypress step from cache workflow

* add cypress as dev dep

* Add staging branch to workflow (#1311)

* New linting (#1309)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* fix npm script error handling (#1306)

* fix auto merge (#1302)

* fix auto merge

* add repo parameter to auto merge

* add repo parameter to auto merge workflow

* Remove contract calls (#1308)

* remove contract calls from procaptcha

* linted stuff

* Adding empty providers

* Adding hardcoded random providers

* Adding changes to load process

* Debugging

* debug

* nearly working state management

* fast captchas with no contract

* Removing debug

* Timestamp signature validation

* Working no rpc calls full captcha flow

* linting

* Unit tests potentially working

* dropping debug

* All passing cypress demo

* Bundle falling over when hashing

* dropping bundle pure replace

* Remove polkadot manual bundling hacks

* No provider pow

* Working pow without contract calls

* revert sitekey changes

* verified instead of context

* don't log config

* removing cypress capture images

* removing bad deps

* Removing debug

* fixing build

* fixing providers

* Correct docstring

* rebuilt package lock

* Removing stats file

* Skipping lint in protocol

* removing typechain change because protocol bump required

* removing unused deps

* temp bump while firefighting

* Dropping provider gui

* Working build without provider gui

* Removing batch commit tasks

* Dropping protocol

* Working build without protocol dir

* Dropping proxy and package lock pointing to proxy

* Working build with new pkg deps

* Removing common contract

* Dropping tests for rewrite

* Working no captcha product

* Dropping merkle tree

* Refactoring provider and adding temp tests

* Refactored provider into multiple single responsibility classes

* lint fix

* pkg lock bump

* Renaming tests to non test file to pass

* Tests passing

* Debug for datasetId getter

* Working provider set dataset

* Auth Middleware Test

* Captcha scheduler tests

* Error Handler tests

* Provider now boots without connection to rpc node

* Full suite of unit tests for provider

* Tests passing

* Fixed build

* Integration tests. Actions for this to be set up

* Working image captcha integration tests

* Unit tests paths correction

* Fixing version bump yml

* Removing debug

* Adding dummy get random provider script

* Removing dockerfile and vite env config

* Replacing signedTimestamp with timestampSignature

* Deduping config by making it its own package

* Defaulting message to provider online

* Fixing type issues and ws requirement issues

---------

Co-authored-by: Chris Taylor <forgetso86@gmail.com>
Co-authored-by: George Oastler <goastler@users.noreply.github.com>

* Removing unused deps, bumping package lock

* Working pow captcha with timeouts

* Add missing deps and bundling command for staging

* Remove version from docker compose files

* Use NODE_ENV var for pulling in env var file into docker compose file

* Add staging deploy process

* Add staging bundle command

* package lock

* Remove old deps.

* Update package-lock.json

* Update event name

* Add missing dep

* Use latest image to create container from

* Use staging tag for container

* Await crypto WASM blob

* Allow NODE_ENV to be passed into Vite config

* Add load-balancer refs to tsconfigs

* Allow PROSOPO_DEFAULT_ENVIRONMENT to inherit from NODE_ENV

* Add some logging and change some imports

* exporting hardcoded provider from types

* Cleanup linting process (#1312)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* remove old lint scripts

* remove prettier + eslint config

* remove eslint dep

* remove prettier dep

* Update package-lock.json

* Fix provider not erroring on database connection error. Add option to specify the number of proxies between the provider API and the user

* Add staging command back in

* deploy staging workflow to bundle branch

* addit commit details for bumps

* Add watchtower to provider docker compose

* Don't mount missing file

* watch provider container only

* Change container name

* Use createConnection instead of connection

* Fix build

* Staging deploy workflow (#1314)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* Pkg json

* bump version to v2.0.0

* no build specified

* remove deploy_X scripts

* remove deploy_X scripts

* remove deploy_protocol script call

* remove deploy_protocol workflow step

* remove github assets for contract

* remove deploy_protool

* Use 2.0.0 everywhere

* Provider tests passing

* Adding if present to cjs

* Dropping auto merge

* Dropping dapp example demo

* fix check version bump all history available

* Update check_version_bump.yml

* Update check_version_bump.yml

* Remove out of date readme

* Update check_version_bump.yml

* Re-add old babel plugins

* start provider

* Always add the token to the form

* Supply token to onHuman function

* Fix build

* Adding button next for cypress tests

* Fixing hanging test

* Fixing get dataset being broken

* Remove substrate from docker compose

* Cypress tests passing

* stop the provider workflow from falling over if the npm packages are unreleased

* Only load the provider mock container if we built it

* Try to upload screenshots

* Try to store screenshots on failure

* Try using withinSubject:null

* Wait for button to be visible

* Wait for the the API call

* Remove wait for solution request

* try to force the click

* Just force, don't expect the element

* try waiting after clicking

* Store videos of cypress runs

* Remove the then

* Remove duplicate click

* Fix function return type

* try within

* Adding setup step for setup env in test

* Add data-cy attributes if environment is not production

* wait for docker containers to setup env

* Adding setup step for setup env in test

* Start docker first

* Check if there are references

* remove within

* Try to kill processes with concurrently

* Size fixes for widget and logo

* Make signature stuff less confusing

* Fix license header positions

* Fix tests

* Get it all working

* Fix size

* Fix lint issues (#1318)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* add nuke script

* set shell in dockerfile

* use json form of CMD in dockerfile

* fix multiple RUN commands in dockerfile

* remove apt sources after install

* use apt get

* use apt-get in dockerfile instead of apt

* join multiple run commands together in dockerfile

* entrypoint json form

* no install recommends

* ignore install recommends lint

* fix multiple run commands and apt clear

* CMD to json form

* no install recommends

* remove root user, is default

* set nginx version

* multiple RUN commands fix

* set shell to use pipefail

* delete apt lists after install

* fix consecutive RUN commands

* no install recommends

* ignore usage of latest

* dockerfile lint

* Update substrate-contracts-node.build.dockerfile

* json form for CMD

* lint dockerfile

* lint caddyfile

* fix needless cat

* useless echo

* speech marks for safety

* make dockerfile and shell linting command simpler

* fix quotes and variable usage in cache workflow

* fix quotes

* fix quotes

* fix quotes

* fix quotes

* fix NODE_ENV speech marks in workflows

* useless cat

* unused vars

* lint

* missing speech marks

* speech marks

* lint eval and @ usage in shell

* lint shell script

* fix yamllint linting

* fix lint md and js fix cmd

* autofix js

* fix biome cmdline args

* biome lint fixes

* biome lint fix

* make biome use vcs

* no export from tests

* fix key in list

* missing useEffect dep

* explicit any todo

* lint fixes

* warn on parameter assign

* todo for any

* trailing comma

* ignore any type for options

* fix line count parameter reassigned

* fix not null assertion

* ignore any from axios response

* ignore any casts

* ignore any in async ctor

* no reuse of parameter

* ignore i18n translation any

* ignore anys in nodejs polars plugin

* ignore any for response json

* avoid parameter reuse

* fix any usage in vite watch plugin

* fix side effect in vite watch plugin

* fix reused variables in error classes

* disable rule for key event with onClick

* forEach to for of

* missing bracket

* allow any

* forEach to for of

* allow any

* forEach to for of

* allow any

* allow any

* forEach to for of

* use item hash as key

* fix useEffect deps

* todo for async exec

* allow any + async exec

* allow any

* forEach to for of

* ignore spread

* TODOs for sendFunds

* allow any

* ignore async exec

* allow any

* todo for memo deps

* ignore detector code, contains loads of biome errors

* fix anys, foreach and local params

* ignore foreach

* fix any

* allow any

* allow any

* allow any and foreach

* allow any

* allow any

* allow any

* allow enum

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* allow any

* allow any and foreach to for of

* img buffer type

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* make biome do formatting too

* biome format

* ignore bundles

* lint

* lint md files

* lint md

* disable some markdown rules

* lint rs

* fix rs

* fix npm scripts

* lint

* ignore ruff.toml when linting tomls

* lint

* lint py npm scripts

* remove eslint directives

* make biome track the main branch and handle css

* fix caddy linting

* lint

* lint

* lint

* configure taplo

* Update ruff.toml

* fix scripts

* lint

* remove eslint

* lint

* fix speech mark issues

* typo

* fix lint fixes types

* more fixes for linting fixes

* fix for potentially undefined root node of merkle tree

* duplicate selector

* lint

* ignore bundle stats html file

* missing provider env for starting provider

* async factory fix

* remove debug

* lint

* revert detector index.js changes

* lint

* polyfill node: imports

* fix for node:url breaking bundle

* use package workspaces rather than cd'ing (#1321)

* Add push to js branch again to get live staging bundle

* Remove any existing procaptcha responses on human

* deploy staging on push to staging

* Use duplicate JS Server for now

* Silence GH warning about NoSQL injection in demo

* Silence GH warning about NoSQL injection in demo

* Set GH_TOKEN env

* Remove production step for JS Server

* Add back command to push to js-bundle branch. Remove quotes in asset deletion script

* Use correct docker tag

* Try moving to its own step

* don't fail if nothing to commit

* Update provider docker run CMD

* Always pull new version of tag for provider image

* Update provider CMD

* Alter the verify endpoint when in non-production environments in client-example demo

* Allow PoW captchas to be stored and counted

* Removing exportData from Manager

* Adding synamic config for load balancer

* Fix build

* fix server build

* fix server again

* fix provider build

* Removing dangerou

* Change scale-ts type to u64 to avoid losing data

* revert change to number for timestamp

* make sure procaptcha-response is deleted

* Fix scheduler database name and add env option for storage schedule

* Make the models available once the connection has been made

* Move headers

* Update js_server release step

* Try using secret directly

* Add some debug

* Modify debug

* Yet more debug

* I give up

* Working captcha results in mongo (#1322)

* Fixing db schema for pow captchas

* dropping new debug

* Use a var for mongo image

* more debug

* Removing lint fix from version bump

* User data mvp (#1327)

* Update captcha records for user portal data requirements

* pow types overhaul

* Harden tests against function parameter changes

* only run prosoponator on non-draft pr's (#1333)

* fix dir capitalisation (#1329)

* fix dir capitalisation

* fix path

* Introduce dotenv package for finding environment files (#1334)

* Introduce dotenv package for finding environment files

* Package-lock.json

* Update references to old loadEnv

* Update package references

* Add the config files

* Update loadEnv ref

* Update loadEnv refs in demos

* trigger tests

* Update dotenv reference

* Specify no tests

* Fix dataset IDs for staging providers

* Allow pow challenges to be submitted more than once for verification

* Fail if the challenge exists in the db

* Revert unlimited challenge checking

* Make demo re-render captcha component when form changes

* Allow navigating between the captcha types

* Fix license location

* remove debug

* Store something on each request. Update PoW types. Additional checks (#1336)

* removed network types

* remove substrate containers / env params

* remove CONTRACT env vars

* fix imports

* remove networks

* remove network from getPairAsync

* remove networks + contract

* remove default network from env

* remove default network

* remove network default + types from types pkg

* remove network types

* remove block number

* Update package-lock.json

* Update package-lock.json

* remove contract dep for demo

* Store something on each request. Update PoW types. Additional checks

* Additional checks

* Restrict captcha solution checking by dapp account

* fix build

* Fix cypress tests

* lots of updates to types

* Fix up tests. Add types for Get Image Captcha URL

* Remove some unuse types. Type an API URL

* Zod type translation keys. Use enum values when updating database. Add enum arrays to mongoose schemas. Use ApiParams everywhere

* Set the correct key and value for storedStatus

* Fix up unit tests

* Make sure we're setting updated timestamps everywhere. Don't send the same data to the captcha storage DB twice. Add details of cron jobs that have run to scheduled tasks collection

* Fix up tests

* remove file that does nothing

---------

Co-authored-by: George Oastler <goastler4@gmail.com>

* Bug fix for missing status in scheduled task record

* Fix captcha storage mechanism. Add tests (#1337)

* Fix captcha storage mechanism. Add tests

* Fix up tests. Move verifyRecency function to util

* Update test env template

* Fix build

* use correct branch name in bump version

* Fix captcha scheduling insert (#1341)

* Stop scheduler from trying to set ID on upsert

* package-lock.json

* change logging

* Add types to tests to filter by test type during testing (#1342)

* vite test type env parameter

* prepend test type to all test files

* always include tests with no type specified

* Fix last scheduled task getter (#1346)

Change the db method and add some unit tests around scheduled tasks

* Lint repo (#1349)

* JS in repo linted

* addince licences

* Removing unused linting

* run lint in ci container

* GHA fix

* js server shell script linting

* yaml lint fix

* pkg lock lint

---------

Co-authored-by: George Oastler <goastler4@gmail.com>

* Docker compose overhaul (#1350)

* fix NODE_ENV var in arm64 version of provider compose

* add restart policy to docker compose

* add watchtower to arm64

* add pull policy to arm64

* make watchtower cleanup old imgs

* watchtower remove anon vols

* watchtower log format

* only restart enabled containers

* ping slack when restarts happen

* only restart enabled containers

* ping slack when updates occur

* docs

* make env based db image

* combine arm64 and x86_64 provider compose files

* mongodb healthcheck

* healthcheck for caddy

* healthcheck for provider

* disable caddy fileserver

* metrics in caddyfile

* add env vars to caddyfile

* basicauth for /metrics

* add env vars for uname + pwd of basicauth

* docker compose profiles

* remove tty

* add env file to caddy

* provider-dev service

* make database-dev use env file

* remove watchtower env params

* add watchtower env file

* watchtower logging

* watchtower restart policy

* watchtower self restart

* add missing env params

* remove dev version of provider compose file

* usage doc for caddy

* move env vars

* sort env lines

* prepend caddy env parameters with CADDY_

* add provider image version env parameter

* add missing env params

* add missing template env vars

* drop rococo env

* move package version env var

* more old space size for testing

* remove name from watchtower

* configure watchtower via env

* remove watchtower healthcheck

* Delete Dockerfile

* Caddyfile defaults (#1352)

* add caddy provider name + port vars

* sane defaults for provider container name + port in caddyfile

* sane default for http port

* remove http port for prod

* sane default for https

* remove https var for prod

* missing https var

* caddy admin endpoint default

* remove admin endpoint var

* disable caddy metrics (not in use atm)

* disable metrics reverse proxy

* log to stdout as well

* fix provider endpoint vars

* fix defaults

* rimraf dep (#1331)

* rimraf dep

* Update package-lock.json

* security policy (#1343)

* Portal settings (#1351)

* wip for client settings retrieval. database overhaul

* types update

* Add basic domain validator

* big domain regex

* lint-fix

* Add test class

* install missing dep

* bump polyfill plugin

* package-lock.json

* limit domain length

* package locl

* lint fix

* drop logs

* Address PR comments

* TLS headers (#1353)

* Create tls.Caddyfile

* add headers to express / types / tests

* pass headers

* add headers to mongo

* lint

* move tls headers from debug caddyfile

* fix missing headers in types

* fix missing headers

* lint

* lint

* fix error of unknown type

* lint

* disable gh actions lint

* lint

* remove old demo/example pkgs (#1345)

* remove old demo/example pkgs

* pow in example

* remove legacy npm scripts

* Provider retry (#1348)

* pkg lock bump and manager logic for retry

* Dev cli with multiple providers and provider faliure fallover

* Biome fixes

* pkg json lint

* Provider retry in pow from common

* Non cached s3 provider getting

* working retryCount

* pgk lock bump

* removing linting junk

* Working build and cleaner dev cli

* Removing unused debug

* pkg lock bump for deps

* adding types glob

* Dropping load balancer hardcoded jsons

* Removing non env based dev provider start

* use node env for dev mode

* Properly logging final retry faliure

* pkg lock bump

* package lock is locked up 😂

* pkg lock lock lock

* Linting

* Lint

* marking lint actions as disabled

* Only 1 provider

* 🔒

* 🔒

* 🔒

* remove glob and lint

* 📦🔒

* pin vite to 5.4.2

* 📦🔒

* Glob stink

* globSync

* lint fix

* bump vitest and vite

* add vite and vitest to root pkg json

* remove vitest cov

* Update package-lock.json

* fix exclude for vite test config

* 📦🔒

* vitest/coverage-v8

* use fast-glob

* lint-fix

* remove lint:yaml command

* Lint-fix:js

---------

Co-authored-by: Chris Taylor <forgetso86@gmail.com>
Co-authored-by: George Oastler <goastler4@gmail.com>

* remove find-up (#1354)

* Stop npm from failing on extraneous packages

* Add package-lock-only flag

* drop depends

* Deps (#1356)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* webpack cli

* Update package-lock.json

* lint

* webpack deps

* Update package-lock.json

* lint

* vitest coverage

* Update package-lock.json

* revert procaptcha-bundle + config pkg deps

* order

* Update package-lock.json

* add standard devdeps to all pkgs

* Update package-lock.json

* tsx

* Update package-lock.json

* lint

* Deploy bundle on push (#1362)

Deploying bundle to s3

* No hats (#1357)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* remove hats

* purge hats

* Update package-lock.json

* bump pkg vers

* fix array access errors for new ts version

* bump i18n

* bump pkg vers

* fix array access for new ts ver

* fix dep vers

* Update package-lock.json

* lint

* remove hat

* add webpack and rollup plugins back in

* Update package-lock.json

* bump rollup and webpack plugin vers

* missing babel plugins

* bump babel deps

* Update package-lock.json

* move import

* add comments for biome ignores

* npmrc (#1361)

* Adding prosopo  to css selectors (#1363)

Adding prosopo- to all classnames

Co-authored-by: George Oastler <goastler@users.noreply.github.com>

* Deps (#1365)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* remove hats

* purge hats

* Update package-lock.json

* bump pkg vers

* fix array access errors for new ts version

* bump i18n

* bump pkg vers

* fix array access for new ts ver

* fix dep vers

* Update package-lock.json

* lint

* remove hat

* add webpack and rollup plugins back in

* Update package-lock.json

* bump rollup and webpack plugin vers

* missing babel plugins

* bump babel deps

* Update package-lock.json

* move import

* add comments for biome ignores

* add devdeps

* more devdeps

* consolidate pkg vers

* drop hats

* drop hats

* drop npm check

* Update package-lock.json

* bump deps

* scripts

* remove emotion react

* ignore standard pkgs from depcheck

* typo

* Update package-lock.json

* lint

* npmrc fix (#1366)

Co-authored-by: Chris <forgetso86@gmail.com>

* bump vite to 5.4.6

* 📦🔒

* fix bump version workflow (#1368)

* Bump version to 2.1.0

* Bump to 2.0.1

* Lint-fix

* Bump env versions

* saving to js folder (#1373)

saving t o js folder

* Adding spanish and portuguese support (#1364)

* Working build for ES and PT language support

* Auto update lang in all captcha types

* Working i18n

* All translations

* Dropping empty file

* Linting and formatting

* Adding tests and refactoring bundle

* package lock bumps

* proper numbers ❇️

* 🔒

* lint fix

* Linting fixes

* more linting aa

* License formatting

* Add config for resolving .js extensions in ESM context in webpack build

* lint-fix

* Add check for build and build:cjs

* check that number of references in tsconfig.json equals the number in tsconfig.cjs.json

* Stop tsconfigs from having missing references

* Fix script for comparing package.jsons and tsconfig.json

* fix all missing packages

* 📦🔒

* lint-fix

* fix broken package version

* add missing ref

* Make sure file does not exist

* lint-fix

* Script to remove unused JSON keys

* Remove ununsed JSON keys

* lint-fix

* remove PROGUI section

---------

Co-authored-by: Chris Taylor <forgetso86@gmail.com>

* Package bumps

* recursive copy

* caddyfile defaults for variables

* Copy top level files only

* deploy fix (#1374)

* deploy fix

* remove demo changes

* dumbb lint

* english language

* Use inherited vite config from dev/config package (#1376)

* Use inherited vite config from dev/config package

* lint-fix

* Add watch workspace plugin back in

* i18n fixes (#1377)

* i18n fixes

* Removing unused lang, linting, etc

* lint

* Portugese Brazilian (#1379)

* Portugese Brazilian

* Add pt-BR to zod enum

---------

Co-authored-by: Hugh <hughglynparry@gmail.com>

* Commit so that i can pin

---------

Co-authored-by: George Oastler <goastler@users.noreply.github.com>
Co-authored-by: George Oastler <goastler4@gmail.com>
Co-authored-by: Chris <forgetso86@gmail.com>
Co-authored-by: Hugh <90424587+HughParry@users.noreply.github.com>
Co-authored-by: Hugh <hughglynparry@gmail.com>

* Apply code scanning fix for information exposure through a stack trace

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Sort out test config

* Don't send stacks via API

* lint-fix

* Remove argument level

* Add command to start provider with admin api

* Change command to work with concurrently

* Update correct workflow

* Move imports

* 📦🔒

* lint-fix

* Bundle docs URL

* Move translation strings

* Add test to catch translation keys missing

* Big locale overhaul

* Big locale overhaul

* 📦🔒

* 📦🔒

* 📦🔒

* tsconfig refs

* 📦🔒

* remove polkadot/util from common

* Use correct package name

* Use correct package name

* lint-fix

* package dir getters

* Lint-fix and fix import

* Address PR comments

* specify no tests for the locale-browser package

* More imports placed below license

* Lint-fix

* remove rogue npmignore

---------

Co-authored-by: prosoponator <156670514+prosoponator@users.noreply.github.com>
Co-authored-by: George Oastler <goastler@users.noreply.github.com>
Co-authored-by: George Oastler <goastler4@gmail.com>
Co-authored-by: Hugh <90424587+HughParry@users.noreply.github.com>
Co-authored-by: Hugh <hughglynparry@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
forgetso added a commit that referenced this pull request Sep 24, 2024
* Release 2.1.0 (#1371)

* New git branches setup (#1296)

* add dev branch to auto merge

* make clippy run on new branch setup

* remove version checker workflow

* add dev and release branch triggers to consistent workflow name checker

* Delete create_diagram.yml

* add dev and release branch triggers to lint workflow

* add release and dev branch triggers to provider_image workflow

* remove release drafter

* add dev and release branches to rustfmt workflow

* add dev and release branches to protocol test workflow

* add dev and release branches triggers to tests workflow

* add dev and release branch triggers to webpack bundling workflow

* switch cache creation to be post pr to dev

* rename post_pr workflow to cache

* Update cache.yml

* publish workflow

* Update cache.yml

* fix contract js/rust version check workflow

* install concurrently and cypress as workspace deps

* fix cypress workflow trigger

* fix cypress workflow branch triggers

* fix rust file triggers

* move webpack bundling check to tests workflow

* remove typechain version check

* rename workflows

* make the github actions cache include the branch name

* publish on push to main

* add js bundle test step

* workflow for ensuring all versions move in lockstep

* blurb for each workflow

* dockerhub login check for before a release

* rename publish to release

* remove typedoc step

* standardise step ids in release workflow

* dummy version bump

* Delete dockerhub_login.yml

* release version check

* workflow to check for valid version bumps

* auto merge all prs

* check consistent workflow names on all prs

* branch system docs

* check contract version on prs to main,dev,release/*

* add workflow_dispatch to all relevant workflows

* make auto merge only run on non-draft prs

* check versions on all branches

* make release run on push to main

* tag pushes to main

* rename version check workflow

* remove fetch all history and branches from clone

* fix docker js server version issue

* fix bump workflow to bump all package.json files and Cargo.tomls

* fix package.json version writing in bump workflow

* rename step

* make auto merge cancellable

* make deploy ahve a single notification of pass/fail

* debug info

* fix cache workflow name

* don't use cache in bump version workflow, not needed

* move buildx to top of workflow

* move the cli building to before publishing images in deploy workflow

* tag warning

* remove filters for tests, test more often

* add workflow dispatch to deploy workflow

* add bash error catching

* Create consistent_engine_node.yml

* Create consistent_engine_npm.yml

* Create consistent_nvmrc.yml

* cache docs

* event workflows for main and dev

* change event setup

* don't run unless non-draft pr

* combine protocol clippy and rustfmt into single lint workflow

* missing engine

* missing version

* revert version debug

* fix version

* fix workflow name detection

* add missing engines

* fix nvmrc check

* fix path typo in contract version check

* allow auto merge to run always

* Update package-lock.json

* lint

* lint

* Cache cypress install (#1305)

* remove install cypress step from cache workflow

* add cypress as dev dep

* Add staging branch to workflow (#1311)

* New linting (#1309)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* fix npm script error handling (#1306)

* fix auto merge (#1302)

* fix auto merge

* add repo parameter to auto merge

* add repo parameter to auto merge workflow

* Remove contract calls (#1308)

* remove contract calls from procaptcha

* linted stuff

* Adding empty providers

* Adding hardcoded random providers

* Adding changes to load process

* Debugging

* debug

* nearly working state management

* fast captchas with no contract

* Removing debug

* Timestamp signature validation

* Working no rpc calls full captcha flow

* linting

* Unit tests potentially working

* dropping debug

* All passing cypress demo

* Bundle falling over when hashing

* dropping bundle pure replace

* Remove polkadot manual bundling hacks

* No provider pow

* Working pow without contract calls

* revert sitekey changes

* verified instead of context

* don't log config

* removing cypress capture images

* removing bad deps

* Removing debug

* fixing build

* fixing providers

* Correct docstring

* rebuilt package lock

* Removing stats file

* Skipping lint in protocol

* removing typechain change because protocol bump required

* removing unused deps

* temp bump while firefighting

* Dropping provider gui

* Working build without provider gui

* Removing batch commit tasks

* Dropping protocol

* Working build without protocol dir

* Dropping proxy and package lock pointing to proxy

* Working build with new pkg deps

* Removing common contract

* Dropping tests for rewrite

* Working no captcha product

* Dropping merkle tree

* Refactoring provider and adding temp tests

* Refactored provider into multiple single responsibility classes

* lint fix

* pkg lock bump

* Renaming tests to non test file to pass

* Tests passing

* Debug for datasetId getter

* Working provider set dataset

* Auth Middleware Test

* Captcha scheduler tests

* Error Handler tests

* Provider now boots without connection to rpc node

* Full suite of unit tests for provider

* Tests passing

* Fixed build

* Integration tests. Actions for this to be set up

* Working image captcha integration tests

* Unit tests paths correction

* Fixing version bump yml

* Removing debug

* Adding dummy get random provider script

* Removing dockerfile and vite env config

* Replacing signedTimestamp with timestampSignature

* Deduping config by making it its own package

* Defaulting message to provider online

* Fixing type issues and ws requirement issues

---------

Co-authored-by: Chris Taylor <forgetso86@gmail.com>
Co-authored-by: George Oastler <goastler@users.noreply.github.com>

* Removing unused deps, bumping package lock

* Working pow captcha with timeouts

* Add missing deps and bundling command for staging

* Remove version from docker compose files

* Use NODE_ENV var for pulling in env var file into docker compose file

* Add staging deploy process

* Add staging bundle command

* package lock

* Remove old deps.

* Update package-lock.json

* Update event name

* Add missing dep

* Use latest image to create container from

* Use staging tag for container

* Await crypto WASM blob

* Allow NODE_ENV to be passed into Vite config

* Add load-balancer refs to tsconfigs

* Allow PROSOPO_DEFAULT_ENVIRONMENT to inherit from NODE_ENV

* Add some logging and change some imports

* exporting hardcoded provider from types

* Cleanup linting process (#1312)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* remove old lint scripts

* remove prettier + eslint config

* remove eslint dep

* remove prettier dep

* Update package-lock.json

* Fix provider not erroring on database connection error. Add option to specify the number of proxies between the provider API and the user

* Add staging command back in

* deploy staging workflow to bundle branch

* addit commit details for bumps

* Add watchtower to provider docker compose

* Don't mount missing file

* watch provider container only

* Change container name

* Use createConnection instead of connection

* Fix build

* Staging deploy workflow (#1314)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* Pkg json

* bump version to v2.0.0

* no build specified

* remove deploy_X scripts

* remove deploy_X scripts

* remove deploy_protocol script call

* remove deploy_protocol workflow step

* remove github assets for contract

* remove deploy_protool

* Use 2.0.0 everywhere

* Provider tests passing

* Adding if present to cjs

* Dropping auto merge

* Dropping dapp example demo

* fix check version bump all history available

* Update check_version_bump.yml

* Update check_version_bump.yml

* Remove out of date readme

* Update check_version_bump.yml

* Re-add old babel plugins

* start provider

* Always add the token to the form

* Supply token to onHuman function

* Fix build

* Adding button next for cypress tests

* Fixing hanging test

* Fixing get dataset being broken

* Remove substrate from docker compose

* Cypress tests passing

* stop the provider workflow from falling over if the npm packages are unreleased

* Only load the provider mock container if we built it

* Try to upload screenshots

* Try to store screenshots on failure

* Try using withinSubject:null

* Wait for button to be visible

* Wait for the the API call

* Remove wait for solution request

* try to force the click

* Just force, don't expect the element

* try waiting after clicking

* Store videos of cypress runs

* Remove the then

* Remove duplicate click

* Fix function return type

* try within

* Adding setup step for setup env in test

* Add data-cy attributes if environment is not production

* wait for docker containers to setup env

* Adding setup step for setup env in test

* Start docker first

* Check if there are references

* remove within

* Try to kill processes with concurrently

* Size fixes for widget and logo

* Make signature stuff less confusing

* Fix license header positions

* Fix tests

* Get it all working

* Fix size

* Fix lint issues (#1318)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* add nuke script

* set shell in dockerfile

* use json form of CMD in dockerfile

* fix multiple RUN commands in dockerfile

* remove apt sources after install

* use apt get

* use apt-get in dockerfile instead of apt

* join multiple run commands together in dockerfile

* entrypoint json form

* no install recommends

* ignore install recommends lint

* fix multiple run commands and apt clear

* CMD to json form

* no install recommends

* remove root user, is default

* set nginx version

* multiple RUN commands fix

* set shell to use pipefail

* delete apt lists after install

* fix consecutive RUN commands

* no install recommends

* ignore usage of latest

* dockerfile lint

* Update substrate-contracts-node.build.dockerfile

* json form for CMD

* lint dockerfile

* lint caddyfile

* fix needless cat

* useless echo

* speech marks for safety

* make dockerfile and shell linting command simpler

* fix quotes and variable usage in cache workflow

* fix quotes

* fix quotes

* fix quotes

* fix quotes

* fix NODE_ENV speech marks in workflows

* useless cat

* unused vars

* lint

* missing speech marks

* speech marks

* lint eval and @ usage in shell

* lint shell script

* fix yamllint linting

* fix lint md and js fix cmd

* autofix js

* fix biome cmdline args

* biome lint fixes

* biome lint fix

* make biome use vcs

* no export from tests

* fix key in list

* missing useEffect dep

* explicit any todo

* lint fixes

* warn on parameter assign

* todo for any

* trailing comma

* ignore any type for options

* fix line count parameter reassigned

* fix not null assertion

* ignore any from axios response

* ignore any casts

* ignore any in async ctor

* no reuse of parameter

* ignore i18n translation any

* ignore anys in nodejs polars plugin

* ignore any for response json

* avoid parameter reuse

* fix any usage in vite watch plugin

* fix side effect in vite watch plugin

* fix reused variables in error classes

* disable rule for key event with onClick

* forEach to for of

* missing bracket

* allow any

* forEach to for of

* allow any

* forEach to for of

* allow any

* allow any

* forEach to for of

* use item hash as key

* fix useEffect deps

* todo for async exec

* allow any + async exec

* allow any

* forEach to for of

* ignore spread

* TODOs for sendFunds

* allow any

* ignore async exec

* allow any

* todo for memo deps

* ignore detector code, contains loads of biome errors

* fix anys, foreach and local params

* ignore foreach

* fix any

* allow any

* allow any

* allow any and foreach

* allow any

* allow any

* allow any

* allow enum

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* allow any

* allow any and foreach to for of

* img buffer type

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* make biome do formatting too

* biome format

* ignore bundles

* lint

* lint md files

* lint md

* disable some markdown rules

* lint rs

* fix rs

* fix npm scripts

* lint

* ignore ruff.toml when linting tomls

* lint

* lint py npm scripts

* remove eslint directives

* make biome track the main branch and handle css

* fix caddy linting

* lint

* lint

* lint

* configure taplo

* Update ruff.toml

* fix scripts

* lint

* remove eslint

* lint

* fix speech mark issues

* typo

* fix lint fixes types

* more fixes for linting fixes

* fix for potentially undefined root node of merkle tree

* duplicate selector

* lint

* ignore bundle stats html file

* missing provider env for starting provider

* async factory fix

* remove debug

* lint

* revert detector index.js changes

* lint

* polyfill node: imports

* fix for node:url breaking bundle

* use package workspaces rather than cd'ing (#1321)

* Add push to js branch again to get live staging bundle

* Remove any existing procaptcha responses on human

* deploy staging on push to staging

* Use duplicate JS Server for now

* Silence GH warning about NoSQL injection in demo

* Silence GH warning about NoSQL injection in demo

* Set GH_TOKEN env

* Remove production step for JS Server

* Add back command to push to js-bundle branch. Remove quotes in asset deletion script

* Use correct docker tag

* Try moving to its own step

* don't fail if nothing to commit

* Update provider docker run CMD

* Always pull new version of tag for provider image

* Update provider CMD

* Alter the verify endpoint when in non-production environments in client-example demo

* Allow PoW captchas to be stored and counted

* Removing exportData from Manager

* Adding synamic config for load balancer

* Fix build

* fix server build

* fix server again

* fix provider build

* Removing dangerou

* Change scale-ts type to u64 to avoid losing data

* revert change to number for timestamp

* make sure procaptcha-response is deleted

* Fix scheduler database name and add env option for storage schedule

* Make the models available once the connection has been made

* Move headers

* Update js_server release step

* Try using secret directly

* Add some debug

* Modify debug

* Yet more debug

* I give up

* Working captcha results in mongo (#1322)

* Fixing db schema for pow captchas

* dropping new debug

* Use a var for mongo image

* more debug

* Removing lint fix from version bump

* User data mvp (#1327)

* Update captcha records for user portal data requirements

* pow types overhaul

* Harden tests against function parameter changes

* only run prosoponator on non-draft pr's (#1333)

* fix dir capitalisation (#1329)

* fix dir capitalisation

* fix path

* Introduce dotenv package for finding environment files (#1334)

* Introduce dotenv package for finding environment files

* Package-lock.json

* Update references to old loadEnv

* Update package references

* Add the config files

* Update loadEnv ref

* Update loadEnv refs in demos

* trigger tests

* Update dotenv reference

* Specify no tests

* Fix dataset IDs for staging providers

* Allow pow challenges to be submitted more than once for verification

* Fail if the challenge exists in the db

* Revert unlimited challenge checking

* Make demo re-render captcha component when form changes

* Allow navigating between the captcha types

* Fix license location

* remove debug

* Store something on each request. Update PoW types. Additional checks (#1336)

* removed network types

* remove substrate containers / env params

* remove CONTRACT env vars

* fix imports

* remove networks

* remove network from getPairAsync

* remove networks + contract

* remove default network from env

* remove default network

* remove network default + types from types pkg

* remove network types

* remove block number

* Update package-lock.json

* Update package-lock.json

* remove contract dep for demo

* Store something on each request. Update PoW types. Additional checks

* Additional checks

* Restrict captcha solution checking by dapp account

* fix build

* Fix cypress tests

* lots of updates to types

* Fix up tests. Add types for Get Image Captcha URL

* Remove some unuse types. Type an API URL

* Zod type translation keys. Use enum values when updating database. Add enum arrays to mongoose schemas. Use ApiParams everywhere

* Set the correct key and value for storedStatus

* Fix up unit tests

* Make sure we're setting updated timestamps everywhere. Don't send the same data to the captcha storage DB twice. Add details of cron jobs that have run to scheduled tasks collection

* Fix up tests

* remove file that does nothing

---------

Co-authored-by: George Oastler <goastler4@gmail.com>

* Bug fix for missing status in scheduled task record

* Fix captcha storage mechanism. Add tests (#1337)

* Fix captcha storage mechanism. Add tests

* Fix up tests. Move verifyRecency function to util

* Update test env template

* Fix build

* use correct branch name in bump version

* Fix captcha scheduling insert (#1341)

* Stop scheduler from trying to set ID on upsert

* package-lock.json

* change logging

* Add types to tests to filter by test type during testing (#1342)

* vite test type env parameter

* prepend test type to all test files

* always include tests with no type specified

* Fix last scheduled task getter (#1346)

Change the db method and add some unit tests around scheduled tasks

* Lint repo (#1349)

* JS in repo linted

* addince licences

* Removing unused linting

* run lint in ci container

* GHA fix

* js server shell script linting

* yaml lint fix

* pkg lock lint

---------

Co-authored-by: George Oastler <goastler4@gmail.com>

* Docker compose overhaul (#1350)

* fix NODE_ENV var in arm64 version of provider compose

* add restart policy to docker compose

* add watchtower to arm64

* add pull policy to arm64

* make watchtower cleanup old imgs

* watchtower remove anon vols

* watchtower log format

* only restart enabled containers

* ping slack when restarts happen

* only restart enabled containers

* ping slack when updates occur

* docs

* make env based db image

* combine arm64 and x86_64 provider compose files

* mongodb healthcheck

* healthcheck for caddy

* healthcheck for provider

* disable caddy fileserver

* metrics in caddyfile

* add env vars to caddyfile

* basicauth for /metrics

* add env vars for uname + pwd of basicauth

* docker compose profiles

* remove tty

* add env file to caddy

* provider-dev service

* make database-dev use env file

* remove watchtower env params

* add watchtower env file

* watchtower logging

* watchtower restart policy

* watchtower self restart

* add missing env params

* remove dev version of provider compose file

* usage doc for caddy

* move env vars

* sort env lines

* prepend caddy env parameters with CADDY_

* add provider image version env parameter

* add missing env params

* add missing template env vars

* drop rococo env

* move package version env var

* more old space size for testing

* remove name from watchtower

* configure watchtower via env

* remove watchtower healthcheck

* Delete Dockerfile

* Caddyfile defaults (#1352)

* add caddy provider name + port vars

* sane defaults for provider container name + port in caddyfile

* sane default for http port

* remove http port for prod

* sane default for https

* remove https var for prod

* missing https var

* caddy admin endpoint default

* remove admin endpoint var

* disable caddy metrics (not in use atm)

* disable metrics reverse proxy

* log to stdout as well

* fix provider endpoint vars

* fix defaults

* rimraf dep (#1331)

* rimraf dep

* Update package-lock.json

* security policy (#1343)

* Portal settings (#1351)

* wip for client settings retrieval. database overhaul

* types update

* Add basic domain validator

* big domain regex

* lint-fix

* Add test class

* install missing dep

* bump polyfill plugin

* package-lock.json

* limit domain length

* package locl

* lint fix

* drop logs

* Address PR comments

* TLS headers (#1353)

* Create tls.Caddyfile

* add headers to express / types / tests

* pass headers

* add headers to mongo

* lint

* move tls headers from debug caddyfile

* fix missing headers in types

* fix missing headers

* lint

* lint

* fix error of unknown type

* lint

* disable gh actions lint

* lint

* remove old demo/example pkgs (#1345)

* remove old demo/example pkgs

* pow in example

* remove legacy npm scripts

* Provider retry (#1348)

* pkg lock bump and manager logic for retry

* Dev cli with multiple providers and provider faliure fallover

* Biome fixes

* pkg json lint

* Provider retry in pow from common

* Non cached s3 provider getting

* working retryCount

* pgk lock bump

* removing linting junk

* Working build and cleaner dev cli

* Removing unused debug

* pkg lock bump for deps

* adding types glob

* Dropping load balancer hardcoded jsons

* Removing non env based dev provider start

* use node env for dev mode

* Properly logging final retry faliure

* pkg lock bump

* package lock is locked up 😂

* pkg lock lock lock

* Linting

* Lint

* marking lint actions as disabled

* Only 1 provider

* 🔒

* 🔒

* 🔒

* remove glob and lint

* 📦🔒

* pin vite to 5.4.2

* 📦🔒

* Glob stink

* globSync

* lint fix

* bump vitest and vite

* add vite and vitest to root pkg json

* remove vitest cov

* Update package-lock.json

* fix exclude for vite test config

* 📦🔒

* vitest/coverage-v8

* use fast-glob

* lint-fix

* remove lint:yaml command

* Lint-fix:js

---------

Co-authored-by: Chris Taylor <forgetso86@gmail.com>
Co-authored-by: George Oastler <goastler4@gmail.com>

* remove find-up (#1354)

* Stop npm from failing on extraneous packages

* Add package-lock-only flag

* drop depends

* Deps (#1356)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* webpack cli

* Update package-lock.json

* lint

* webpack deps

* Update package-lock.json

* lint

* vitest coverage

* Update package-lock.json

* revert procaptcha-bundle + config pkg deps

* order

* Update package-lock.json

* add standard devdeps to all pkgs

* Update package-lock.json

* tsx

* Update package-lock.json

* lint

* Deploy bundle on push (#1362)

Deploying bundle to s3

* No hats (#1357)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* remove hats

* purge hats

* Update package-lock.json

* bump pkg vers

* fix array access errors for new ts version

* bump i18n

* bump pkg vers

* fix array access for new ts ver

* fix dep vers

* Update package-lock.json

* lint

* remove hat

* add webpack and rollup plugins back in

* Update package-lock.json

* bump rollup and webpack plugin vers

* missing babel plugins

* bump babel deps

* Update package-lock.json

* move import

* add comments for biome ignores

* npmrc (#1361)

* Adding prosopo  to css selectors (#1363)

Adding prosopo- to all classnames

Co-authored-by: George Oastler <goastler@users.noreply.github.com>

* Deps (#1365)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* remove hats

* purge hats

* Update package-lock.json

* bump pkg vers

* fix array access errors for new ts version

* bump i18n

* bump pkg vers

* fix array access for new ts ver

* fix dep vers

* Update package-lock.json

* lint

* remove hat

* add webpack and rollup plugins back in

* Update package-lock.json

* bump rollup and webpack plugin vers

* missing babel plugins

* bump babel deps

* Update package-lock.json

* move import

* add comments for biome ignores

* add devdeps

* more devdeps

* consolidate pkg vers

* drop hats

* drop hats

* drop npm check

* Update package-lock.json

* bump deps

* scripts

* remove emotion react

* ignore standard pkgs from depcheck

* typo

* Update package-lock.json

* lint

* npmrc fix (#1366)

Co-authored-by: Chris <forgetso86@gmail.com>

* bump vite to 5.4.6

* 📦🔒

* fix bump version workflow (#1368)

* Bump version to 2.1.0

* Bump to 2.0.1

* Lint-fix

* Bump env versions

* saving to js folder (#1373)

saving t o js folder

* Adding spanish and portuguese support (#1364)

* Working build for ES and PT language support

* Auto update lang in all captcha types

* Working i18n

* All translations

* Dropping empty file

* Linting and formatting

* Adding tests and refactoring bundle

* package lock bumps

* proper numbers ❇️

* 🔒

* lint fix

* Linting fixes

* more linting aa

* License formatting

* Add config for resolving .js extensions in ESM context in webpack build

* lint-fix

* Add check for build and build:cjs

* check that number of references in tsconfig.json equals the number in tsconfig.cjs.json

* Stop tsconfigs from having missing references

* Fix script for comparing package.jsons and tsconfig.json

* fix all missing packages

* 📦🔒

* lint-fix

* fix broken package version

* add missing ref

* Make sure file does not exist

* lint-fix

* Script to remove unused JSON keys

* Remove ununsed JSON keys

* lint-fix

* remove PROGUI section

---------

Co-authored-by: Chris Taylor <forgetso86@gmail.com>

* Package bumps

* recursive copy

* caddyfile defaults for variables

* Copy top level files only

* deploy fix (#1374)

* deploy fix

* remove demo changes

* dumbb lint

* english language

* Use inherited vite config from dev/config package (#1376)

* Use inherited vite config from dev/config package

* lint-fix

* Add watch workspace plugin back in

* i18n fixes (#1377)

* i18n fixes

* Removing unused lang, linting, etc

* lint

* Portugese Brazilian (#1379)

* Portugese Brazilian

* Add pt-BR to zod enum

---------

Co-authored-by: Hugh <hughglynparry@gmail.com>

* Commit so that i can pin

---------

Co-authored-by: George Oastler <goastler@users.noreply.github.com>
Co-authored-by: George Oastler <goastler4@gmail.com>
Co-authored-by: Chris <forgetso86@gmail.com>
Co-authored-by: Hugh <90424587+HughParry@users.noreply.github.com>
Co-authored-by: Hugh <hughglynparry@gmail.com>

* Release workflow (#1390)

* convert deploy into a release workflow

* clobber

* add env vars

* use cache

* don't upload bundle to gh

---------

Co-authored-by: Chris <forgetso86@gmail.com>

* Bump ver workflow node/npm (#1396)

setup node in bump version

* remove rogue npmignore

* Fix merge conflicts

---------

Co-authored-by: prosoponator <156670514+prosoponator@users.noreply.github.com>
Co-authored-by: George Oastler <goastler@users.noreply.github.com>
Co-authored-by: George Oastler <goastler4@gmail.com>
Co-authored-by: Hugh <90424587+HughParry@users.noreply.github.com>
Co-authored-by: Hugh <hughglynparry@gmail.com>
forgetso added a commit that referenced this pull request Sep 26, 2024
* Cypress tests passing

* stop the provider workflow from falling over if the npm packages are unreleased

* Only load the provider mock container if we built it

* Try to upload screenshots

* Try to store screenshots on failure

* Try using withinSubject:null

* Wait for button to be visible

* Wait for the the API call

* Remove wait for solution request

* try to force the click

* Just force, don't expect the element

* try waiting after clicking

* Store videos of cypress runs

* Remove the then

* Remove duplicate click

* Fix function return type

* try within

* Adding setup step for setup env in test

* Add data-cy attributes if environment is not production

* wait for docker containers to setup env

* Adding setup step for setup env in test

* Start docker first

* Check if there are references

* remove within

* Try to kill processes with concurrently

* Size fixes for widget and logo

* Make signature stuff less confusing

* Fix license header positions

* Fix tests

* Get it all working

* Fix size

* Fix lint issues (#1318)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* add nuke script

* set shell in dockerfile

* use json form of CMD in dockerfile

* fix multiple RUN commands in dockerfile

* remove apt sources after install

* use apt get

* use apt-get in dockerfile instead of apt

* join multiple run commands together in dockerfile

* entrypoint json form

* no install recommends

* ignore install recommends lint

* fix multiple run commands and apt clear

* CMD to json form

* no install recommends

* remove root user, is default

* set nginx version

* multiple RUN commands fix

* set shell to use pipefail

* delete apt lists after install

* fix consecutive RUN commands

* no install recommends

* ignore usage of latest

* dockerfile lint

* Update substrate-contracts-node.build.dockerfile

* json form for CMD

* lint dockerfile

* lint caddyfile

* fix needless cat

* useless echo

* speech marks for safety

* make dockerfile and shell linting command simpler

* fix quotes and variable usage in cache workflow

* fix quotes

* fix quotes

* fix quotes

* fix quotes

* fix NODE_ENV speech marks in workflows

* useless cat

* unused vars

* lint

* missing speech marks

* speech marks

* lint eval and @ usage in shell

* lint shell script

* fix yamllint linting

* fix lint md and js fix cmd

* autofix js

* fix biome cmdline args

* biome lint fixes

* biome lint fix

* make biome use vcs

* no export from tests

* fix key in list

* missing useEffect dep

* explicit any todo

* lint fixes

* warn on parameter assign

* todo for any

* trailing comma

* ignore any type for options

* fix line count parameter reassigned

* fix not null assertion

* ignore any from axios response

* ignore any casts

* ignore any in async ctor

* no reuse of parameter

* ignore i18n translation any

* ignore anys in nodejs polars plugin

* ignore any for response json

* avoid parameter reuse

* fix any usage in vite watch plugin

* fix side effect in vite watch plugin

* fix reused variables in error classes

* disable rule for key event with onClick

* forEach to for of

* missing bracket

* allow any

* forEach to for of

* allow any

* forEach to for of

* allow any

* allow any

* forEach to for of

* use item hash as key

* fix useEffect deps

* todo for async exec

* allow any + async exec

* allow any

* forEach to for of

* ignore spread

* TODOs for sendFunds

* allow any

* ignore async exec

* allow any

* todo for memo deps

* ignore detector code, contains loads of biome errors

* fix anys, foreach and local params

* ignore foreach

* fix any

* allow any

* allow any

* allow any and foreach

* allow any

* allow any

* allow any

* allow enum

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* allow any

* allow any and foreach to for of

* img buffer type

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* make biome do formatting too

* biome format

* ignore bundles

* lint

* lint md files

* lint md

* disable some markdown rules

* lint rs

* fix rs

* fix npm scripts

* lint

* ignore ruff.toml when linting tomls

* lint

* lint py npm scripts

* remove eslint directives

* make biome track the main branch and handle css

* fix caddy linting

* lint

* lint

* lint

* configure taplo

* Update ruff.toml

* fix scripts

* lint

* remove eslint

* lint

* fix speech mark issues

* typo

* fix lint fixes types

* more fixes for linting fixes

* fix for potentially undefined root node of merkle tree

* duplicate selector

* lint

* ignore bundle stats html file

* missing provider env for starting provider

* async factory fix

* remove debug

* lint

* revert detector index.js changes

* lint

* polyfill node: imports

* fix for node:url breaking bundle

* use package workspaces rather than cd'ing (#1321)

* Add push to js branch again to get live staging bundle

* Remove any existing procaptcha responses on human

* deploy staging on push to staging

* Use duplicate JS Server for now

* Silence GH warning about NoSQL injection in demo

* Silence GH warning about NoSQL injection in demo

* Set GH_TOKEN env

* Remove production step for JS Server

* Add back command to push to js-bundle branch. Remove quotes in asset deletion script

* Use correct docker tag

* Try moving to its own step

* don't fail if nothing to commit

* Update provider docker run CMD

* Always pull new version of tag for provider image

* Update provider CMD

* Alter the verify endpoint when in non-production environments in client-example demo

* Allow PoW captchas to be stored and counted

* Removing exportData from Manager

* Adding synamic config for load balancer

* Fix build

* fix server build

* fix server again

* fix provider build

* Removing dangerou

* Change scale-ts type to u64 to avoid losing data

* revert change to number for timestamp

* make sure procaptcha-response is deleted

* Fix scheduler database name and add env option for storage schedule

* Make the models available once the connection has been made

* Move headers

* Update js_server release step

* Try using secret directly

* Add some debug

* Modify debug

* Yet more debug

* I give up

* Working captcha results in mongo (#1322)

* Fixing db schema for pow captchas

* dropping new debug

* Use a var for mongo image

* more debug

* Removing lint fix from version bump

* User data mvp (#1327)

* Update captcha records for user portal data requirements

* pow types overhaul

* Harden tests against function parameter changes

* only run prosoponator on non-draft pr's (#1333)

* fix dir capitalisation (#1329)

* fix dir capitalisation

* fix path

* Introduce dotenv package for finding environment files (#1334)

* Introduce dotenv package for finding environment files

* Package-lock.json

* Update references to old loadEnv

* Update package references

* Add the config files

* Update loadEnv ref

* Update loadEnv refs in demos

* trigger tests

* Update dotenv reference

* Specify no tests

* Fix dataset IDs for staging providers

* Allow pow challenges to be submitted more than once for verification

* Fail if the challenge exists in the db

* Revert unlimited challenge checking

* Make demo re-render captcha component when form changes

* Allow navigating between the captcha types

* Fix license location

* remove debug

* Store something on each request. Update PoW types. Additional checks (#1336)

* removed network types

* remove substrate containers / env params

* remove CONTRACT env vars

* fix imports

* remove networks

* remove network from getPairAsync

* remove networks + contract

* remove default network from env

* remove default network

* remove network default + types from types pkg

* remove network types

* remove block number

* Update package-lock.json

* Update package-lock.json

* remove contract dep for demo

* Store something on each request. Update PoW types. Additional checks

* Additional checks

* Restrict captcha solution checking by dapp account

* fix build

* Fix cypress tests

* lots of updates to types

* Fix up tests. Add types for Get Image Captcha URL

* Remove some unuse types. Type an API URL

* Zod type translation keys. Use enum values when updating database. Add enum arrays to mongoose schemas. Use ApiParams everywhere

* Set the correct key and value for storedStatus

* Fix up unit tests

* Make sure we're setting updated timestamps everywhere. Don't send the same data to the captcha storage DB twice. Add details of cron jobs that have run to scheduled tasks collection

* Fix up tests

* remove file that does nothing

---------

Co-authored-by: George Oastler <goastler4@gmail.com>

* Bug fix for missing status in scheduled task record

* Fix captcha storage mechanism. Add tests (#1337)

* Fix captcha storage mechanism. Add tests

* Fix up tests. Move verifyRecency function to util

* Update test env template

* Fix build

* use correct branch name in bump version

* Fix captcha scheduling insert (#1341)

* Stop scheduler from trying to set ID on upsert

* package-lock.json

* change logging

* Add types to tests to filter by test type during testing (#1342)

* vite test type env parameter

* prepend test type to all test files

* always include tests with no type specified

* Fix last scheduled task getter (#1346)

Change the db method and add some unit tests around scheduled tasks

* Lint repo (#1349)

* JS in repo linted

* addince licences

* Removing unused linting

* run lint in ci container

* GHA fix

* js server shell script linting

* yaml lint fix

* pkg lock lint

---------

Co-authored-by: George Oastler <goastler4@gmail.com>

* Docker compose overhaul (#1350)

* fix NODE_ENV var in arm64 version of provider compose

* add restart policy to docker compose

* add watchtower to arm64

* add pull policy to arm64

* make watchtower cleanup old imgs

* watchtower remove anon vols

* watchtower log format

* only restart enabled containers

* ping slack when restarts happen

* only restart enabled containers

* ping slack when updates occur

* docs

* make env based db image

* combine arm64 and x86_64 provider compose files

* mongodb healthcheck

* healthcheck for caddy

* healthcheck for provider

* disable caddy fileserver

* metrics in caddyfile

* add env vars to caddyfile

* basicauth for /metrics

* add env vars for uname + pwd of basicauth

* docker compose profiles

* remove tty

* add env file to caddy

* provider-dev service

* make database-dev use env file

* remove watchtower env params

* add watchtower env file

* watchtower logging

* watchtower restart policy

* watchtower self restart

* add missing env params

* remove dev version of provider compose file

* usage doc for caddy

* move env vars

* sort env lines

* prepend caddy env parameters with CADDY_

* add provider image version env parameter

* add missing env params

* add missing template env vars

* drop rococo env

* move package version env var

* more old space size for testing

* remove name from watchtower

* configure watchtower via env

* remove watchtower healthcheck

* Delete Dockerfile

* Caddyfile defaults (#1352)

* add caddy provider name + port vars

* sane defaults for provider container name + port in caddyfile

* sane default for http port

* remove http port for prod

* sane default for https

* remove https var for prod

* missing https var

* caddy admin endpoint default

* remove admin endpoint var

* disable caddy metrics (not in use atm)

* disable metrics reverse proxy

* log to stdout as well

* fix provider endpoint vars

* fix defaults

* rimraf dep (#1331)

* rimraf dep

* Update package-lock.json

* security policy (#1343)

* Portal settings (#1351)

* wip for client settings retrieval. database overhaul

* types update

* Add basic domain validator

* big domain regex

* lint-fix

* Add test class

* install missing dep

* bump polyfill plugin

* package-lock.json

* limit domain length

* package locl

* lint fix

* drop logs

* Address PR comments

* TLS headers (#1353)

* Create tls.Caddyfile

* add headers to express / types / tests

* pass headers

* add headers to mongo

* lint

* move tls headers from debug caddyfile

* fix missing headers in types

* fix missing headers

* lint

* lint

* fix error of unknown type

* lint

* disable gh actions lint

* lint

* remove old demo/example pkgs (#1345)

* remove old demo/example pkgs

* pow in example

* remove legacy npm scripts

* Provider retry (#1348)

* pkg lock bump and manager logic for retry

* Dev cli with multiple providers and provider faliure fallover

* Biome fixes

* pkg json lint

* Provider retry in pow from common

* Non cached s3 provider getting

* working retryCount

* pgk lock bump

* removing linting junk

* Working build and cleaner dev cli

* Removing unused debug

* pkg lock bump for deps

* adding types glob

* Dropping load balancer hardcoded jsons

* Removing non env based dev provider start

* use node env for dev mode

* Properly logging final retry faliure

* pkg lock bump

* package lock is locked up :joy:

* pkg lock lock lock

* Linting

* Lint

* marking lint actions as disabled

* Only 1 provider

* :lock:

* :lock:

* :lock:

* remove glob and lint

* 📦🔒

* pin vite to 5.4.2

* 📦🔒

* Glob stink

* globSync

* lint fix

* bump vitest and vite

* add vite and vitest to root pkg json

* remove vitest cov

* Update package-lock.json

* fix exclude for vite test config

* 📦🔒

* vitest/coverage-v8

* use fast-glob

* lint-fix

* remove lint:yaml command

* Lint-fix:js

---------

Co-authored-by: Chris Taylor <forgetso86@gmail.com>
Co-authored-by: George Oastler <goastler4@gmail.com>

* remove find-up (#1354)

* Stop npm from failing on extraneous packages

* Add package-lock-only flag

* drop depends

* Basic site key restrictions and scoring checks

* site key registration in pow integration tests

* get integration tests working

* don't double negative

* Move error

* link to FAQ when an error shows

* Make score optional

* lint-fix

* Lint-fix

* Run admin api in cypress tests

* pass timestamps in auth middleware tests

* Deps (#1356)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* webpack cli

* Update package-lock.json

* lint

* webpack deps

* Update package-lock.json

* lint

* vitest coverage

* Update package-lock.json

* revert procaptcha-bundle + config pkg deps

* order

* Update package-lock.json

* add standard devdeps to all pkgs

* Update package-lock.json

* tsx

* Update package-lock.json

* lint

* Deploy bundle on push (#1362)

Deploying bundle to s3

* No hats (#1357)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* remove hats

* purge hats

* Update package-lock.json

* bump pkg vers

* fix array access errors for new ts version

* bump i18n

* bump pkg vers

* fix array access for new ts ver

* fix dep vers

* Update package-lock.json

* lint

* remove hat

* add webpack and rollup plugins back in

* Update package-lock.json

* bump rollup and webpack plugin vers

* missing babel plugins

* bump babel deps

* Update package-lock.json

* move import

* add comments for biome ignores

* npmrc (#1361)

* Adding prosopo  to css selectors (#1363)

Adding prosopo- to all classnames

Co-authored-by: George Oastler <goastler@users.noreply.github.com>

* Deps (#1365)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* remove hats

* purge hats

* Update package-lock.json

* bump pkg vers

* fix array access errors for new ts version

* bump i18n

* bump pkg vers

* fix array access for new ts ver

* fix dep vers

* Update package-lock.json

* lint

* remove hat

* add webpack and rollup plugins back in

* Update package-lock.json

* bump rollup and webpack plugin vers

* missing babel plugins

* bump babel deps

* Update package-lock.json

* move import

* add comments for biome ignores

* add devdeps

* more devdeps

* consolidate pkg vers

* drop hats

* drop hats

* drop npm check

* Update package-lock.json

* bump deps

* scripts

* remove emotion react

* ignore standard pkgs from depcheck

* typo

* Update package-lock.json

* lint

* npmrc fix (#1366)

Co-authored-by: Chris <forgetso86@gmail.com>

* bump vite to 5.4.6

* 📦🔒

* fix bump version workflow (#1368)

* saving to js folder (#1373)

saving t o js folder

* Adding spanish and portuguese support (#1364)

* Working build for ES and PT language support

* Auto update lang in all captcha types

* Working i18n

* All translations

* Dropping empty file

* Linting and formatting

* Adding tests and refactoring bundle

* package lock bumps

* proper numbers :sparkle:

* :lock:

* lint fix

* Linting fixes

* more linting aa

* License formatting

* Add config for resolving .js extensions in ESM context in webpack build

* lint-fix

* Add check for build and build:cjs

* check that number of references in tsconfig.json equals the number in tsconfig.cjs.json

* Stop tsconfigs from having missing references

* Fix script for comparing package.jsons and tsconfig.json

* fix all missing packages

* 📦🔒

* lint-fix

* fix broken package version

* add missing ref

* Make sure file does not exist

* lint-fix

* Script to remove unused JSON keys

* Remove ununsed JSON keys

* lint-fix

* remove PROGUI section

---------

Co-authored-by: Chris Taylor <forgetso86@gmail.com>

* recursive copy

* caddyfile defaults for variables

* Copy top level files only

* deploy fix (#1374)

* deploy fix

* remove demo changes

* dumbb lint

* english language

* Use inherited vite config from dev/config package (#1376)

* Use inherited vite config from dev/config package

* lint-fix

* Add watch workspace plugin back in

* i18n fixes (#1377)

* i18n fixes

* Removing unused lang, linting, etc

* lint

* Portugese Brazilian (#1379)

* Portugese Brazilian

* Add pt-BR to zod enum

---------

Co-authored-by: Hugh <hughglynparry@gmail.com>

* SBOM (#1360)

* sbom scripts

* sbom jsons

* remove sboms, keep command

* lint

* remove c8 (#1370)

* merge main into staging (#1385)

Release 2.1.0 (#1371)

* New git branches setup (#1296)

* add dev branch to auto merge

* make clippy run on new branch setup

* remove version checker workflow

* add dev and release branch triggers to consistent workflow name checker

* Delete create_diagram.yml

* add dev and release branch triggers to lint workflow

* add release and dev branch triggers to provider_image workflow

* remove release drafter

* add dev and release branches to rustfmt workflow

* add dev and release branches to protocol test workflow

* add dev and release branches triggers to tests workflow

* add dev and release branch triggers to webpack bundling workflow

* switch cache creation to be post pr to dev

* rename post_pr workflow to cache

* Update cache.yml

* publish workflow

* Update cache.yml

* fix contract js/rust version check workflow

* install concurrently and cypress as workspace deps

* fix cypress workflow trigger

* fix cypress workflow branch triggers

* fix rust file triggers

* move webpack bundling check to tests workflow

* remove typechain version check

* rename workflows

* make the github actions cache include the branch name

* publish on push to main

* add js bundle test step

* workflow for ensuring all versions move in lockstep

* blurb for each workflow

* dockerhub login check for before a release

* rename publish to release

* remove typedoc step

* standardise step ids in release workflow

* dummy version bump

* Delete dockerhub_login.yml

* release version check

* workflow to check for valid version bumps

* auto merge all prs

* check consistent workflow names on all prs

* branch system docs

* check contract version on prs to main,dev,release/*

* add workflow_dispatch to all relevant workflows

* make auto merge only run on non-draft prs

* check versions on all branches

* make release run on push to main

* tag pushes to main

* rename version check workflow

* remove fetch all history and branches from clone

* fix docker js server version issue

* fix bump workflow to bump all package.json files and Cargo.tomls

* fix package.json version writing in bump workflow

* rename step

* make auto merge cancellable

* make deploy ahve a single notification of pass/fail

* debug info

* fix cache workflow name

* don't use cache in bump version workflow, not needed

* move buildx to top of workflow

* move the cli building to before publishing images in deploy workflow

* tag warning

* remove filters for tests, test more often

* add workflow dispatch to deploy workflow

* add bash error catching

* Create consistent_engine_node.yml

* Create consistent_engine_npm.yml

* Create consistent_nvmrc.yml

* cache docs

* event workflows for main and dev

* change event setup

* don't run unless non-draft pr

* combine protocol clippy and rustfmt into single lint workflow

* missing engine

* missing version

* revert version debug

* fix version

* fix workflow name detection

* add missing engines

* fix nvmrc check

* fix path typo in contract version check

* allow auto merge to run always

* Update package-lock.json

* lint

* lint

* Cache cypress install (#1305)

* remove install cypress step from cache workflow

* add cypress as dev dep

* Add staging branch to workflow (#1311)

* New linting (#1309)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* fix npm script error handling (#1306)

* fix auto merge (#1302)

* fix auto merge

* add repo parameter to auto merge

* add repo parameter to auto merge workflow

* Remove contract calls (#1308)

* remove contract calls from procaptcha

* linted stuff

* Adding empty providers

* Adding hardcoded random providers

* Adding changes to load process

* Debugging

* debug

* nearly working state management

* fast captchas with no contract

* Removing debug

* Timestamp signature validation

* Working no rpc calls full captcha flow

* linting

* Unit tests potentially working

* dropping debug

* All passing cypress demo

* Bundle falling over when hashing

* dropping bundle pure replace

* Remove polkadot manual bundling hacks

* No provider pow

* Working pow without contract calls

* revert sitekey changes

* verified instead of context

* don't log config

* removing cypress capture images

* removing bad deps

* Removing debug

* fixing build

* fixing providers

* Correct docstring

* rebuilt package lock

* Removing stats file

* Skipping lint in protocol

* removing typechain change because protocol bump required

* removing unused deps

* temp bump while firefighting

* Dropping provider gui

* Working build without provider gui

* Removing batch commit tasks

* Dropping protocol

* Working build without protocol dir

* Dropping proxy and package lock pointing to proxy

* Working build with new pkg deps

* Removing common contract

* Dropping tests for rewrite

* Working no captcha product

* Dropping merkle tree

* Refactoring provider and adding temp tests

* Refactored provider into multiple single responsibility classes

* lint fix

* pkg lock bump

* Renaming tests to non test file to pass

* Tests passing

* Debug for datasetId getter

* Working provider set dataset

* Auth Middleware Test

* Captcha scheduler tests

* Error Handler tests

* Provider now boots without connection to rpc node

* Full suite of unit tests for provider

* Tests passing

* Fixed build

* Integration tests. Actions for this to be set up

* Working image captcha integration tests

* Unit tests paths correction

* Fixing version bump yml

* Removing debug

* Adding dummy get random provider script

* Removing dockerfile and vite env config

* Replacing signedTimestamp with timestampSignature

* Deduping config by making it its own package

* Defaulting message to provider online

* Fixing type issues and ws requirement issues

---------




* Removing unused deps, bumping package lock

* Working pow captcha with timeouts

* Add missing deps and bundling command for staging

* Remove version from docker compose files

* Use NODE_ENV var for pulling in env var file into docker compose file

* Add staging deploy process

* Add staging bundle command

* package lock

* Remove old deps.

* Update package-lock.json

* Update event name

* Add missing dep

* Use latest image to create container from

* Use staging tag for container

* Await crypto WASM blob

* Allow NODE_ENV to be passed into Vite config

* Add load-balancer refs to tsconfigs

* Allow PROSOPO_DEFAULT_ENVIRONMENT to inherit from NODE_ENV

* Add some logging and change some imports

* exporting hardcoded provider from types

* Cleanup linting process (#1312)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* remove old lint scripts

* remove prettier + eslint config

* remove eslint dep

* remove prettier dep

* Update package-lock.json

* Fix provider not erroring on database connection error. Add option to specify the number of proxies between the provider API and the user

* Add staging command back in

* deploy staging workflow to bundle branch

* addit commit details for bumps

* Add watchtower to provider docker compose

* Don't mount missing file

* watch provider container only

* Change container name

* Use createConnection instead of connection

* Fix build

* Staging deploy workflow (#1314)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* Pkg json

* bump version to v2.0.0

* no build specified

* remove deploy_X scripts

* remove deploy_X scripts

* remove deploy_protocol script call

* remove deploy_protocol workflow step

* remove github assets for contract

* remove deploy_protool

* Use 2.0.0 everywhere

* Provider tests passing

* Adding if present to cjs

* Dropping auto merge

* Dropping dapp example demo

* fix check version bump all history available

* Update check_version_bump.yml

* Update check_version_bump.yml

* Remove out of date readme

* Update check_version_bump.yml

* Re-add old babel plugins

* start provider

* Always add the token to the form

* Supply token to onHuman function

* Fix build

* Adding button next for cypress tests

* Fixing hanging test

* Fixing get dataset being broken

* Remove substrate from docker compose

* Cypress tests passing

* stop the provider workflow from falling over if the npm packages are unreleased

* Only load the provider mock container if we built it

* Try to upload screenshots

* Try to store screenshots on failure

* Try using withinSubject:null

* Wait for button to be visible

* Wait for the the API call

* Remove wait for solution request

* try to force the click

* Just force, don't expect the element

* try waiting after clicking

* Store videos of cypress runs

* Remove the then

* Remove duplicate click

* Fix function return type

* try within

* Adding setup step for setup env in test

* Add data-cy attributes if environment is not production

* wait for docker containers to setup env

* Adding setup step for setup env in test

* Start docker first

* Check if there are references

* remove within

* Try to kill processes with concurrently

* Size fixes for widget and logo

* Make signature stuff less confusing

* Fix license header positions

* Fix tests

* Get it all working

* Fix size

* Fix lint issues (#1318)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* add nuke script

* set shell in dockerfile

* use json form of CMD in dockerfile

* fix multiple RUN commands in dockerfile

* remove apt sources after install

* use apt get

* use apt-get in dockerfile instead of apt

* join multiple run commands together in dockerfile

* entrypoint json form

* no install recommends

* ignore install recommends lint

* fix multiple run commands and apt clear

* CMD to json form

* no install recommends

* remove root user, is default

* set nginx version

* multiple RUN commands fix

* set shell to use pipefail

* delete apt lists after install

* fix consecutive RUN commands

* no install recommends

* ignore usage of latest

* dockerfile lint

* Update substrate-contracts-node.build.dockerfile

* json form for CMD

* lint dockerfile

* lint caddyfile

* fix needless cat

* useless echo

* speech marks for safety

* make dockerfile and shell linting command simpler

* fix quotes and variable usage in cache workflow

* fix quotes

* fix quotes

* fix quotes

* fix quotes

* fix NODE_ENV speech marks in workflows

* useless cat

* unused vars

* lint

* missing speech marks

* speech marks

* lint eval and @ usage in shell

* lint shell script

* fix yamllint linting

* fix lint md and js fix cmd

* autofix js

* fix biome cmdline args

* biome lint fixes

* biome lint fix

* make biome use vcs

* no export from tests

* fix key in list

* missing useEffect dep

* explicit any todo

* lint fixes

* warn on parameter assign

* todo for any

* trailing comma

* ignore any type for options

* fix line count parameter reassigned

* fix not null assertion

* ignore any from axios response

* ignore any casts

* ignore any in async ctor

* no reuse of parameter

* ignore i18n translation any

* ignore anys in nodejs polars plugin

* ignore any for response json

* avoid parameter reuse

* fix any usage in vite watch plugin

* fix side effect in vite watch plugin

* fix reused variables in error classes

* disable rule for key event with onClick

* forEach to for of

* missing bracket

* allow any

* forEach to for of

* allow any

* forEach to for of

* allow any

* allow any

* forEach to for of

* use item hash as key

* fix useEffect deps

* todo for async exec

* allow any + async exec

* allow any

* forEach to for of

* ignore spread

* TODOs for sendFunds

* allow any

* ignore async exec

* allow any

* todo for memo deps

* ignore detector code, contains loads of biome errors

* fix anys, foreach and local params

* ignore foreach

* fix any

* allow any

* allow any

* allow any and foreach

* allow any

* allow any

* allow any

* allow enum

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* allow any

* allow any and foreach to for of

* img buffer type

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* make biome do formatting too

* biome format

* ignore bundles

* lint

* lint md files

* lint md

* disable some markdown rules

* lint rs

* fix rs

* fix npm scripts

* lint

* ignore ruff.toml when linting tomls

* lint

* lint py npm scripts

* remove eslint directives

* make biome track the main branch and handle css

* fix caddy linting

* lint

* lint

* lint

* configure taplo

* Update ruff.toml

* fix scripts

* lint

* remove eslint

* lint

* fix speech mark issues

* typo

* fix lint fixes types

* more fixes for linting fixes

* fix for potentially undefined root node of merkle tree

* duplicate selector

* lint

* ignore bundle stats html file

* missing provider env for starting provider

* async factory fix

* remove debug

* lint

* revert detector index.js changes

* lint

* polyfill node: imports

* fix for node:url breaking bundle

* use package workspaces rather than cd'ing (#1321)

* Add push to js branch again to get live staging bundle

* Remove any existing procaptcha responses on human

* deploy staging on push to staging

* Use duplicate JS Server for now

* Silence GH warning about NoSQL injection in demo

* Silence GH warning about NoSQL injection in demo

* Set GH_TOKEN env

* Remove production step for JS Server

* Add back command to push to js-bundle branch. Remove quotes in asset deletion script

* Use correct docker tag

* Try moving to its own step

* don't fail if nothing to commit

* Update provider docker run CMD

* Always pull new version of tag for provider image

* Update provider CMD

* Alter the verify endpoint when in non-production environments in client-example demo

* Allow PoW captchas to be stored and counted

* Removing exportData from Manager

* Adding synamic config for load balancer

* Fix build

* fix server build

* fix server again

* fix provider build

* Removing dangerou

* Change scale-ts type to u64 to avoid losing data

* revert change to number for timestamp

* make sure procaptcha-response is deleted

* Fix scheduler database name and add env option for storage schedule

* Make the models available once the connection has been made

* Move headers

* Update js_server release step

* Try using secret directly

* Add some debug

* Modify debug

* Yet more debug

* I give up

* Working captcha results in mongo (#1322)

* Fixing db schema for pow captchas

* dropping new debug

* Use a var for mongo image

* more debug

* Removing lint fix from version bump

* User data mvp (#1327)

* Update captcha records for user portal data requirements

* pow types overhaul

* Harden tests against function parameter changes

* only run prosoponator on non-draft pr's (#1333)

* fix dir capitalisation (#1329)

* fix dir capitalisation

* fix path

* Introduce dotenv package for finding environment files (#1334)

* Introduce dotenv package for finding environment files

* Package-lock.json

* Update references to old loadEnv

* Update package references

* Add the config files

* Update loadEnv ref

* Update loadEnv refs in demos

* trigger tests

* Update dotenv reference

* Specify no tests

* Fix dataset IDs for staging providers

* Allow pow challenges to be submitted more than once for verification

* Fail if the challenge exists in the db

* Revert unlimited challenge checking

* Make demo re-render captcha component when form changes

* Allow navigating between the captcha types

* Fix license location

* remove debug

* Store something on each request. Update PoW types. Additional checks (#1336)

* removed network types

* remove substrate containers / env params

* remove CONTRACT env vars

* fix imports

* remove networks

* remove network from getPairAsync

* remove networks + contract

* remove default network from env

* remove default network

* remove network default + types from types pkg

* remove network types

* remove block number

* Update package-lock.json

* Update package-lock.json

* remove contract dep for demo

* Store something on each request. Update PoW types. Additional checks

* Additional checks

* Restrict captcha solution checking by dapp account

* fix build

* Fix cypress tests

* lots of updates to types

* Fix up tests. Add types for Get Image Captcha URL

* Remove some unuse types. Type an API URL

* Zod type translation keys. Use enum values when updating database. Add enum arrays to mongoose schemas. Use ApiParams everywhere

* Set the correct key and value for storedStatus

* Fix up unit tests

* Make sure we're setting updated timestamps everywhere. Don't send the same data to the captcha storage DB twice. Add details of cron jobs that have run to scheduled tasks collection

* Fix up tests

* remove file that does nothing

---------



* Bug fix for missing status in scheduled task record

* Fix captcha storage mechanism. Add tests (#1337)

* Fix captcha storage mechanism. Add tests

* Fix up tests. Move verifyRecency function to util

* Update test env template

* Fix build

* use correct branch name in bump version

* Fix captcha scheduling insert (#1341)

* Stop scheduler from trying to set ID on upsert

* package-lock.json

* change logging

* Add types to tests to filter by test type during testing (#1342)

* vite test type env parameter

* prepend test type to all test files

* always include tests with no type specified

* Fix last scheduled task getter (#1346)

Change the db method and add some unit tests around scheduled tasks

* Lint repo (#1349)

* JS in repo linted

* addince licences

* Removing unused linting

* run lint in ci container

* GHA fix

* js server shell script linting

* yaml lint fix

* pkg lock lint

---------



* Docker compose overhaul (#1350)

* fix NODE_ENV var in arm64 version of provider compose

* add restart policy to docker compose

* add watchtower to arm64

* add pull policy to arm64

* make watchtower cleanup old imgs

* watchtower remove anon vols

* watchtower log format

* only restart enabled containers

* ping slack when restarts happen

* only restart enabled containers

* ping slack when updates occur

* docs

* make env based db image

* combine arm64 and x86_64 provider compose files

* mongodb healthcheck

* healthcheck for caddy

* healthcheck for provider

* disable caddy fileserver

* metrics in caddyfile

* add env vars to caddyfile

* basicauth for /metrics

* add env vars for uname + pwd of basicauth

* docker compose profiles

* remove tty

* add env file to caddy

* provider-dev service

* make database-dev use env file

* remove watchtower env params

* add watchtower env file

* watchtower logging

* watchtower restart policy

* watchtower self restart

* add missing env params

* remove dev version of provider compose file

* usage doc for caddy

* move env vars

* sort env lines

* prepend caddy env parameters with CADDY_

* add provider image version env parameter

* add missing env params

* add missing template env vars

* drop rococo env

* move package version env var

* more old space size for testing

* remove name from watchtower

* configure watchtower via env

* remove watchtower healthcheck

* Delete Dockerfile

* Caddyfile defaults (#1352)

* add caddy provider name + port vars

* sane defaults for provider container name + port in caddyfile

* sane default for http port

* remove http port for prod

* sane default for https

* remove https var for prod

* missing https var

* caddy admin endpoint default

* remove admin endpoint var

* disable caddy metrics (not in use atm)

* disable metrics reverse proxy

* log to stdout as well

* fix provider endpoint vars

* fix defaults

* rimraf dep (#1331)

* rimraf dep

* Update package-lock.json

* security policy (#1343)

* Portal settings (#1351)

* wip for client settings retrieval. database overhaul

* types update

* Add basic domain validator

* big domain regex

* lint-fix

* Add test class

* install missing dep

* bump polyfill plugin

* package-lock.json

* limit domain length

* package locl

* lint fix

* drop logs

* Address PR comments

* TLS headers (#1353)

* Create tls.Caddyfile

* add headers to express / types / tests

* pass headers

* add headers to mongo

* lint

* move tls headers from debug caddyfile

* fix missing headers in types

* fix missing headers

* lint

* lint

* fix error of unknown type

* lint

* disable gh actions lint

* lint

* remove old demo/example pkgs (#1345)

* remove old demo/example pkgs

* pow in example

* remove legacy npm scripts

* Provider retry (#1348)

* pkg lock bump and manager logic for retry

* Dev cli with multiple providers and provider faliure fallover

* Biome fixes

* pkg json lint

* Provider retry in pow from common

* Non cached s3 provider getting

* working retryCount

* pgk lock bump

* removing linting junk

* Working build and cleaner dev cli

* Removing unused debug

* pkg lock bump for deps

* adding types glob

* Dropping load balancer hardcoded jsons

* Removing non env based dev provider start

* use node env for dev mode

* Properly logging final retry faliure

* pkg lock bump

* package lock is locked up :joy:

* pkg lock lock lock

* Linting

* Lint

* marking lint actions as disabled

* Only 1 provider

* :lock:

* :lock:

* :lock:

* remove glob and lint

* 📦🔒

* pin vite to 5.4.2

* 📦🔒

* Glob stink

* globSync

* lint fix

* bump vitest and vite

* add vite and vitest to root pkg json

* remove vitest cov

* Update package-lock.json

* fix exclude for vite test config

* 📦🔒

* vitest/coverage-v8

* use fast-glob

* lint-fix

* remove lint:yaml command

* Lint-fix:js

---------




* remove find-up (#1354)

* Stop npm from failing on extraneous packages

* Add package-lock-only flag

* drop depends

* Deps (#1356)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* webpack cli

* Update package-lock.json

* lint

* webpack deps

* Update package-lock.json

* lint

* vitest coverage

* Update package-lock.json

* revert procaptcha-bundle + config pkg deps

* order

* Update package-lock.json

* add standard devdeps to all pkgs

* Update package-lock.json

* tsx

* Update package-lock.json

* lint

* Deploy bundle on push (#1362)

Deploying bundle to s3

* No hats (#1357)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* remove hats

* purge hats

* Update package-lock.json

* bump pkg vers

* fix array access errors for new ts version

* bump i18n

* bump pkg vers

* fix array access for new ts ver

* fix dep vers

* Update package-lock.json

* lint

* remove hat

* add webpack and rollup plugins back in

* Update package-lock.json

* bump rollup and webpack plugin vers

* missing babel plugins

* bump babel deps

* Update package-lock.json

* move import

* add comments for biome ignores

* npmrc (#1361)

* Adding prosopo  to css selectors (#1363)

Adding prosopo- to all classnames



* Deps (#1365)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* remove hats

* purge hats

* Update package-lock.json

* bump pkg vers

* fix array access errors for new ts version

* bump i18n

* bump pkg vers

* fix array access for new ts ver

* fix dep vers

* Update package-lock.json

* lint

* remove hat

* add webpack and rollup plugins back in

* Update package-lock.json

* bump rollup and webpack plugin vers

* missing babel plugins

* bump babel deps

* Update package-lock.json

* move import

* add comments for biome ignores

* add devdeps

* more devdeps

* consolidate pkg vers

* drop hats

* drop hats

* drop npm check

* Update package-lock.json

* bump deps

* scripts

* remove emotion react

* ignore standard pkgs from depcheck

* typo

* Update package-lock.json

* lint

* npmrc fix (#1366)



* bump vite to 5.4.6

* 📦🔒

* fix bump version workflow (#1368)

* Bump version to 2.1.0

* Bump to 2.0.1

* Lint-fix

* Bump env versions

* saving to js folder (#1373)

saving t o js folder

* Adding spanish and portuguese support (#1364)

* Working build for ES and PT language support

* Auto update lang in all captcha types

* Working i18n

* All translations

* Dropping empty file

* Linting and formatting

* Adding tests and refactoring bundle

* package lock bumps

* proper numbers :sparkle:

* :lock:

* lint fix

* Linting fixes

* more linting aa

* License formatting

* Add config for resolving .js extensions in ESM context in webpack build

* lint-fix

* Add check for build and build:cjs

* check that number of references in tsconfig.json equals the number in tsconfig.cjs.json

* Stop tsconfigs from having missing references

* Fix script for comparing package.jsons and tsconfig.json

* fix all missing packages

* 📦🔒

* lint-fix

* fix broken package version

* add missing ref

* Make sure file does not exist

* lint-fix

* Script to remove unused JSON keys

* Remove ununsed JSON keys

* lint-fix

* remove PROGUI section

---------



* Package bumps

* recursive copy

* caddyfile defaults for variables

* Copy top level files only

* deploy fix (#1374)

* deploy fix

* remove demo changes

* dumbb lint

* english language

* Use inherited vite config from dev/config package (#1376)

* Use inherited vite config from dev/config package

* lint-fix

* Add watch workspace plugin back in

* i18n fixes (#1377)

* i18n fixes

* Removing unused lang, linting, etc

* lint

* Portugese Brazilian (#1379)

* Portugese Brazilian

* Add pt-BR to zod enum

---------



* Commit so that i can pin

---------

Co-authored-by: prosoponator <156670514+prosoponator@users.noreply.github.com>
Co-authored-by: Chris <forgetso86@gmail.com>
Co-authored-by: Hugh <90424587+HughParry@users.noreply.github.com>
Co-authored-by: Hugh <hughglynparry@gmail.com>

* Apply code scanning fix for information exposure through a stack trace

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Sort out test config

* Don't send stacks via API

* target hosted version of mongodb docker image (#1386)

* lint-fix

* Remove argument level

* Add command to start provider with admin api

* Change command to work with concurrently

* Npm cache (#1382)

* make npmrc use cache

* correct cache dirs

* save npm cache

* save cypress cache

* shorten cache keys - branch name/ref is not needed

* cleanup caches

* put cypress and npm in same cache

* add cache to workflows

* add cache to bump_Version workflow

* Update correct workflow

* Move imports

* 📦🔒

* lint-fix

* Bundle docs URL

* drop dependent issues (#1388)

Co-authored-by: Hugh <90424587+HughParry@users.noreply.github.com>

* standardise gha env vars (#1387)

* standardise gha env vars

* missing node env

* missing cypress node env

---------

Co-authored-by: Hugh <90424587+HughParry@users.noreply.github.com>

* Move translation strings

* Add test to catch translation keys missing

* Fix bump version workflow (#1381)

* Update bump_version.yml

* bump PROSOPO_PACKAGE_VERSION env var

* remove automerge (#1383)

* Big locale overhaul

* Big locale overhaul

* 📦🔒

* 📦🔒

* 📦🔒

* tsconfig refs

* 📦🔒

* remove polkadot/util from common

* Use correct package name

* Use correct package name

* lint-fix

* package dir getters

* Lint-fix and fix import

* Address PR comments

* specify no tests for the locale-browser package

* More imports placed below license

* Lint-fix

* combine event workflows into single workflow with payload (#1389)

* combine event workflows into single workflow with payload

* fix name

* lint

---------

Co-authored-by: Hugh <90424587+HughParry@users.noreply.github.com>
Co-authored-by: Chris <forgetso86@gmail.com>

* Locale overhaul (#1393)

* Big locale overhaul

* 📦🔒

* 📦🔒

* 📦🔒

* tsconfig refs

* 📦🔒

* remove polkadot/util from common

* Use correct package name

* Use correct package name

* lint-fix

* package dir getters

* Lint-fix and fix import

* Address PR comments

* specify no tests for the locale-browser package

* More imports placed below license

* ignore dirs

* Fix find env getter

* Remove caddy linting

* Disable all non-essential linters

* Release workflow (#1390)

* convert deploy into a release workflow

* clobber

* add env vars

* use cache

* don't upload bundle to gh

---------

Co-authored-by: Chris <forgetso86@gmail.com>

* Bump ver workflow node/npm (#1396)

setup node in bump version

* Bump version to 2.1.1

* remove rogue npmignore

* Commit main into release branch in bump_version

* Get origin/main before merging

* Release/2.1.1 merge main (#1398)

* Release 2.1.0 (#1371)

* New git branches setup (#1296)

* add dev branch to auto merge

* make clippy run on new branch setup

* remove version checker workflow

* add dev and release branch triggers to consistent workflow name checker

* Delete create_diagram.yml

* add dev and release branch triggers to lint workflow

* add release and dev branch triggers to provider_image workflow

* remove release drafter

* add dev and release branches to rustfmt workflow

* add dev and release branches to protocol test workflow

* add dev and release branches triggers to tests workflow

* add dev and release branch triggers to webpack bundling workflow

* switch cache creation to be post pr to dev

* rename post_pr workflow to cache

* Update cache.yml

* publish workflow

* Update cache.yml

* fix contract js/rust version check workflow

* install concurrently and cypress as workspace deps

* fix cypress workflow trigger

* fix cypress workflow branch triggers

* fix rust file triggers

* move webpack bundling check to tests workflow

* remove typechain version check

* rename workflows

* make the github actions cache include the branch name

* publish on push to main

* add js bundle test step

* workflow for ensuring all versions move in lockstep

* blurb for each workflow

* dockerhub login check for before a release

* rename publish to release

* remove typedoc step

* standardise step ids in release workflow

* dummy version bump

* Delete dockerhub_login.yml

* release version check

* workflow to check for valid version bumps

* auto merge all prs

* check consistent workflow names on all prs

* branch system docs

* check contract version on prs to main,dev,release/*

* add workflow_dispatch to all relevant workflows

* make auto merge only run on non-draft prs

* check versions on all branches

* make release run on push to main

* tag pushes to main

* rename version check workflow

* remove fetch all history and branches from clone

* fix docker js server version issue

* fix bump workflow to bump all package.json files and Cargo.tomls

* fix package.json version writing in bump workflow

* rename step

* make auto merge cancellable

* make deploy ahve a single notification of pass/fail

* debug info

* fix cache workflow name

* don't use cache in bump version workflow, not needed

* move buildx to top of workflow

* move the cli building to before publishing images in deploy workflow

* tag warning

* remove filters for tests, test more often

* add workflow dispatch to deploy workflow

* add bash error catching

* Create consistent_engine_node.yml

* Create consistent_engine_npm.yml

* Create consistent_nvmrc.yml

* cache docs

* event workflows for main and dev

* change event setup

* don't run unless non-draft pr

* combine protocol clippy and rustfmt into single lint workflow

* missing engine

* missing version

* revert version debug

* fix version

* fix workflow name detection

* add missing engines

* fix nvmrc check

* fix path typo in contract version check

* allow auto merge to run always

* Update package-lock.json

* lint

* lint

* Cache cypress install (#1305)

* remove install cypress step from cache workflow

* add cypress as dev dep

* Add staging branch to workflow (#1311)

* New linting (#1309)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* fix npm script error handling (#1306)

* fix auto merge (#1302)

* fix auto merge

* add repo parameter to auto merge

* add repo parameter to auto merge workflow

* Remove contract calls (#1308)

* remove contract calls from procaptcha

* linted stuff

* Adding empty providers

* Adding hardcoded random providers

* Adding changes to load process

* Debugging

* debug

* nearly working state management

* fast captchas with no contract

* Removing debug

* Timestamp signature validation

* Working no rpc calls full captcha flow

* linting

* Unit tests potentially working

* dropping debug

* All passing cypress demo

* Bundle falling over when hashing

* dropping bundle pure replace

* Remove polkadot manual bundling hacks

* No provider pow

* Working pow without contract calls

* revert sitekey changes

* verified instead of context

* don't log config

* removing cypress capture images

* removing bad deps

* Removing debug

* fixing build

* fixing providers

* Correct docstring

* rebuilt package lock

* Removing stats file

* Skipping lint in protocol

* removing typechain change because protocol bump required

* removing unused deps

* temp bump while firefighting

* Dropping provider gui

* Working build without provider gui

* Removing batch commit tasks

* Dropping protocol

* Working build without protocol dir

* Dropping proxy and package lock pointing to proxy

* Working build with new pkg deps

* Removing common contract

* Dropping tests for rewrite

* Working no captcha product

* Dropping merkle tree

* Refactoring provider and adding temp tests

* Refactored provider into multiple single responsibility classes

* lint fix

* pkg lock bump

* Renaming tests to non test file to pass

* Tests passing

* Debug for datasetId getter

* Working provider set dataset

* Auth Middleware Test

* Captcha scheduler tests

* Error Handler tests

* Provider now boots without connection to rpc node

* Full suite of unit tests for provider

* Tests passing

* Fixed build

* Integration tests. Actions for this to be set up

* Working image captcha integration tests

* Unit tests paths correction

* Fixing version bump yml

* Removing debug

* Adding dummy get random provider script

* Removing dockerfile and vite env config

* Replacing signedTimestamp with timestampSignature

* Deduping config by making it its own package

* Defaulting message to provider online

* Fixing type issues and ws requirement issues

---------

Co-authored-by: Chris Taylor <forgetso86@gmail.com>
Co-authored-by: George Oastler <goastler@users.noreply.github.com>

* Removing unused deps, bumping package lock

* Working pow captcha with timeouts

* Add missing deps and bundling command for staging

* Remove version from docker compose files

* Use NODE_ENV var for pulling in env var file into docker compose file

* Add staging deploy process

* Add st…
forgetso added a commit that referenced this pull request Oct 2, 2024
* Fix license header positions

* Fix tests

* Get it all working

* Fix size

* Fix lint issues (#1318)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* add nuke script

* set shell in dockerfile

* use json form of CMD in dockerfile

* fix multiple RUN commands in dockerfile

* remove apt sources after install

* use apt get

* use apt-get in dockerfile instead of apt

* join multiple run commands together in dockerfile

* entrypoint json form

* no install recommends

* ignore install recommends lint

* fix multiple run commands and apt clear

* CMD to json form

* no install recommends

* remove root user, is default

* set nginx version

* multiple RUN commands fix

* set shell to use pipefail

* delete apt lists after install

* fix consecutive RUN commands

* no install recommends

* ignore usage of latest

* dockerfile lint

* Update substrate-contracts-node.build.dockerfile

* json form for CMD

* lint dockerfile

* lint caddyfile

* fix needless cat

* useless echo

* speech marks for safety

* make dockerfile and shell linting command simpler

* fix quotes and variable usage in cache workflow

* fix quotes

* fix quotes

* fix quotes

* fix quotes

* fix NODE_ENV speech marks in workflows

* useless cat

* unused vars

* lint

* missing speech marks

* speech marks

* lint eval and @ usage in shell

* lint shell script

* fix yamllint linting

* fix lint md and js fix cmd

* autofix js

* fix biome cmdline args

* biome lint fixes

* biome lint fix

* make biome use vcs

* no export from tests

* fix key in list

* missing useEffect dep

* explicit any todo

* lint fixes

* warn on parameter assign

* todo for any

* trailing comma

* ignore any type for options

* fix line count parameter reassigned

* fix not null assertion

* ignore any from axios response

* ignore any casts

* ignore any in async ctor

* no reuse of parameter

* ignore i18n translation any

* ignore anys in nodejs polars plugin

* ignore any for response json

* avoid parameter reuse

* fix any usage in vite watch plugin

* fix side effect in vite watch plugin

* fix reused variables in error classes

* disable rule for key event with onClick

* forEach to for of

* missing bracket

* allow any

* forEach to for of

* allow any

* forEach to for of

* allow any

* allow any

* forEach to for of

* use item hash as key

* fix useEffect deps

* todo for async exec

* allow any + async exec

* allow any

* forEach to for of

* ignore spread

* TODOs for sendFunds

* allow any

* ignore async exec

* allow any

* todo for memo deps

* ignore detector code, contains loads of biome errors

* fix anys, foreach and local params

* ignore foreach

* fix any

* allow any

* allow any

* allow any and foreach

* allow any

* allow any

* allow any

* allow enum

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* allow any

* allow any and foreach to for of

* img buffer type

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* make biome do formatting too

* biome format

* ignore bundles

* lint

* lint md files

* lint md

* disable some markdown rules

* lint rs

* fix rs

* fix npm scripts

* lint

* ignore ruff.toml when linting tomls

* lint

* lint py npm scripts

* remove eslint directives

* make biome track the main branch and handle css

* fix caddy linting

* lint

* lint

* lint

* configure taplo

* Update ruff.toml

* fix scripts

* lint

* remove eslint

* lint

* fix speech mark issues

* typo

* fix lint fixes types

* more fixes for linting fixes

* fix for potentially undefined root node of merkle tree

* duplicate selector

* lint

* ignore bundle stats html file

* missing provider env for starting provider

* async factory fix

* remove debug

* lint

* revert detector index.js changes

* lint

* polyfill node: imports

* fix for node:url breaking bundle

* use package workspaces rather than cd'ing (#1321)

* Add push to js branch again to get live staging bundle

* Remove any existing procaptcha responses on human

* deploy staging on push to staging

* Use duplicate JS Server for now

* Silence GH warning about NoSQL injection in demo

* Silence GH warning about NoSQL injection in demo

* Set GH_TOKEN env

* Remove production step for JS Server

* Add back command to push to js-bundle branch. Remove quotes in asset deletion script

* Use correct docker tag

* Try moving to its own step

* don't fail if nothing to commit

* Update provider docker run CMD

* Always pull new version of tag for provider image

* Update provider CMD

* Alter the verify endpoint when in non-production environments in client-example demo

* Allow PoW captchas to be stored and counted

* Removing exportData from Manager

* Adding synamic config for load balancer

* Fix build

* fix server build

* fix server again

* fix provider build

* Removing dangerou

* Change scale-ts type to u64 to avoid losing data

* revert change to number for timestamp

* make sure procaptcha-response is deleted

* Fix scheduler database name and add env option for storage schedule

* Make the models available once the connection has been made

* Move headers

* Update js_server release step

* Try using secret directly

* Add some debug

* Modify debug

* Yet more debug

* I give up

* Working captcha results in mongo (#1322)

* Fixing db schema for pow captchas

* dropping new debug

* Use a var for mongo image

* more debug

* Removing lint fix from version bump

* User data mvp (#1327)

* Update captcha records for user portal data requirements

* pow types overhaul

* Harden tests against function parameter changes

* only run prosoponator on non-draft pr's (#1333)

* fix dir capitalisation (#1329)

* fix dir capitalisation

* fix path

* Introduce dotenv package for finding environment files (#1334)

* Introduce dotenv package for finding environment files

* Package-lock.json

* Update references to old loadEnv

* Update package references

* Add the config files

* Update loadEnv ref

* Update loadEnv refs in demos

* trigger tests

* Update dotenv reference

* Specify no tests

* Fix dataset IDs for staging providers

* Allow pow challenges to be submitted more than once for verification

* Fail if the challenge exists in the db

* Revert unlimited challenge checking

* Make demo re-render captcha component when form changes

* Allow navigating between the captcha types

* Fix license location

* remove debug

* Store something on each request. Update PoW types. Additional checks (#1336)

* removed network types

* remove substrate containers / env params

* remove CONTRACT env vars

* fix imports

* remove networks

* remove network from getPairAsync

* remove networks + contract

* remove default network from env

* remove default network

* remove network default + types from types pkg

* remove network types

* remove block number

* Update package-lock.json

* Update package-lock.json

* remove contract dep for demo

* Store something on each request. Update PoW types. Additional checks

* Additional checks

* Restrict captcha solution checking by dapp account

* fix build

* Fix cypress tests

* lots of updates to types

* Fix up tests. Add types for Get Image Captcha URL

* Remove some unuse types. Type an API URL

* Zod type translation keys. Use enum values when updating database. Add enum arrays to mongoose schemas. Use ApiParams everywhere

* Set the correct key and value for storedStatus

* Fix up unit tests

* Make sure we're setting updated timestamps everywhere. Don't send the same data to the captcha storage DB twice. Add details of cron jobs that have run to scheduled tasks collection

* Fix up tests

* remove file that does nothing

---------

Co-authored-by: George Oastler <goastler4@gmail.com>

* Bug fix for missing status in scheduled task record

* Fix captcha storage mechanism. Add tests (#1337)

* Fix captcha storage mechanism. Add tests

* Fix up tests. Move verifyRecency function to util

* Update test env template

* Fix build

* use correct branch name in bump version

* Fix captcha scheduling insert (#1341)

* Stop scheduler from trying to set ID on upsert

* package-lock.json

* change logging

* Add types to tests to filter by test type during testing (#1342)

* vite test type env parameter

* prepend test type to all test files

* always include tests with no type specified

* Fix last scheduled task getter (#1346)

Change the db method and add some unit tests around scheduled tasks

* Lint repo (#1349)

* JS in repo linted

* addince licences

* Removing unused linting

* run lint in ci container

* GHA fix

* js server shell script linting

* yaml lint fix

* pkg lock lint

---------

Co-authored-by: George Oastler <goastler4@gmail.com>

* Docker compose overhaul (#1350)

* fix NODE_ENV var in arm64 version of provider compose

* add restart policy to docker compose

* add watchtower to arm64

* add pull policy to arm64

* make watchtower cleanup old imgs

* watchtower remove anon vols

* watchtower log format

* only restart enabled containers

* ping slack when restarts happen

* only restart enabled containers

* ping slack when updates occur

* docs

* make env based db image

* combine arm64 and x86_64 provider compose files

* mongodb healthcheck

* healthcheck for caddy

* healthcheck for provider

* disable caddy fileserver

* metrics in caddyfile

* add env vars to caddyfile

* basicauth for /metrics

* add env vars for uname + pwd of basicauth

* docker compose profiles

* remove tty

* add env file to caddy

* provider-dev service

* make database-dev use env file

* remove watchtower env params

* add watchtower env file

* watchtower logging

* watchtower restart policy

* watchtower self restart

* add missing env params

* remove dev version of provider compose file

* usage doc for caddy

* move env vars

* sort env lines

* prepend caddy env parameters with CADDY_

* add provider image version env parameter

* add missing env params

* add missing template env vars

* drop rococo env

* move package version env var

* more old space size for testing

* remove name from watchtower

* configure watchtower via env

* remove watchtower healthcheck

* Delete Dockerfile

* Caddyfile defaults (#1352)

* add caddy provider name + port vars

* sane defaults for provider container name + port in caddyfile

* sane default for http port

* remove http port for prod

* sane default for https

* remove https var for prod

* missing https var

* caddy admin endpoint default

* remove admin endpoint var

* disable caddy metrics (not in use atm)

* disable metrics reverse proxy

* log to stdout as well

* fix provider endpoint vars

* fix defaults

* rimraf dep (#1331)

* rimraf dep

* Update package-lock.json

* security policy (#1343)

* Portal settings (#1351)

* wip for client settings retrieval. database overhaul

* types update

* Add basic domain validator

* big domain regex

* lint-fix

* Add test class

* install missing dep

* bump polyfill plugin

* package-lock.json

* limit domain length

* package locl

* lint fix

* drop logs

* Address PR comments

* TLS headers (#1353)

* Create tls.Caddyfile

* add headers to express / types / tests

* pass headers

* add headers to mongo

* lint

* move tls headers from debug caddyfile

* fix missing headers in types

* fix missing headers

* lint

* lint

* fix error of unknown type

* lint

* disable gh actions lint

* lint

* remove old demo/example pkgs (#1345)

* remove old demo/example pkgs

* pow in example

* remove legacy npm scripts

* Provider retry (#1348)

* pkg lock bump and manager logic for retry

* Dev cli with multiple providers and provider faliure fallover

* Biome fixes

* pkg json lint

* Provider retry in pow from common

* Non cached s3 provider getting

* working retryCount

* pgk lock bump

* removing linting junk

* Working build and cleaner dev cli

* Removing unused debug

* pkg lock bump for deps

* adding types glob

* Dropping load balancer hardcoded jsons

* Removing non env based dev provider start

* use node env for dev mode

* Properly logging final retry faliure

* pkg lock bump

* package lock is locked up :joy:

* pkg lock lock lock

* Linting

* Lint

* marking lint actions as disabled

* Only 1 provider

* :lock:

* :lock:

* :lock:

* remove glob and lint

* 📦🔒

* pin vite to 5.4.2

* 📦🔒

* Glob stink

* globSync

* lint fix

* bump vitest and vite

* add vite and vitest to root pkg json

* remove vitest cov

* Update package-lock.json

* fix exclude for vite test config

* 📦🔒

* vitest/coverage-v8

* use fast-glob

* lint-fix

* remove lint:yaml command

* Lint-fix:js

---------

Co-authored-by: Chris Taylor <forgetso86@gmail.com>
Co-authored-by: George Oastler <goastler4@gmail.com>

* remove find-up (#1354)

* Stop npm from failing on extraneous packages

* Add package-lock-only flag

* drop depends

* Basic site key restrictions and scoring checks

* site key registration in pow integration tests

* get integration tests working

* don't double negative

* Move error

* link to FAQ when an error shows

* Make score optional

* lint-fix

* Lint-fix

* Run admin api in cypress tests

* pass timestamps in auth middleware tests

* Deps (#1356)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* webpack cli

* Update package-lock.json

* lint

* webpack deps

* Update package-lock.json

* lint

* vitest coverage

* Update package-lock.json

* revert procaptcha-bundle + config pkg deps

* order

* Update package-lock.json

* add standard devdeps to all pkgs

* Update package-lock.json

* tsx

* Update package-lock.json

* lint

* Deploy bundle on push (#1362)

Deploying bundle to s3

* No hats (#1357)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* remove hats

* purge hats

* Update package-lock.json

* bump pkg vers

* fix array access errors for new ts version

* bump i18n

* bump pkg vers

* fix array access for new ts ver

* fix dep vers

* Update package-lock.json

* lint

* remove hat

* add webpack and rollup plugins back in

* Update package-lock.json

* bump rollup and webpack plugin vers

* missing babel plugins

* bump babel deps

* Update package-lock.json

* move import

* add comments for biome ignores

* npmrc (#1361)

* Adding prosopo  to css selectors (#1363)

Adding prosopo- to all classnames

Co-authored-by: George Oastler <goastler@users.noreply.github.com>

* Deps (#1365)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* remove hats

* purge hats

* Update package-lock.json

* bump pkg vers

* fix array access errors for new ts version

* bump i18n

* bump pkg vers

* fix array access for new ts ver

* fix dep vers

* Update package-lock.json

* lint

* remove hat

* add webpack and rollup plugins back in

* Update package-lock.json

* bump rollup and webpack plugin vers

* missing babel plugins

* bump babel deps

* Update package-lock.json

* move import

* add comments for biome ignores

* add devdeps

* more devdeps

* consolidate pkg vers

* drop hats

* drop hats

* drop npm check

* Update package-lock.json

* bump deps

* scripts

* remove emotion react

* ignore standard pkgs from depcheck

* typo

* Update package-lock.json

* lint

* npmrc fix (#1366)

Co-authored-by: Chris <forgetso86@gmail.com>

* bump vite to 5.4.6

* 📦🔒

* fix bump version workflow (#1368)

* saving to js folder (#1373)

saving t o js folder

* Adding spanish and portuguese support (#1364)

* Working build for ES and PT language support

* Auto update lang in all captcha types

* Working i18n

* All translations

* Dropping empty file

* Linting and formatting

* Adding tests and refactoring bundle

* package lock bumps

* proper numbers :sparkle:

* :lock:

* lint fix

* Linting fixes

* more linting aa

* License formatting

* Add config for resolving .js extensions in ESM context in webpack build

* lint-fix

* Add check for build and build:cjs

* check that number of references in tsconfig.json equals the number in tsconfig.cjs.json

* Stop tsconfigs from having missing references

* Fix script for comparing package.jsons and tsconfig.json

* fix all missing packages

* 📦🔒

* lint-fix

* fix broken package version

* add missing ref

* Make sure file does not exist

* lint-fix

* Script to remove unused JSON keys

* Remove ununsed JSON keys

* lint-fix

* remove PROGUI section

---------

Co-authored-by: Chris Taylor <forgetso86@gmail.com>

* recursive copy

* caddyfile defaults for variables

* Copy top level files only

* deploy fix (#1374)

* deploy fix

* remove demo changes

* dumbb lint

* english language

* Use inherited vite config from dev/config package (#1376)

* Use inherited vite config from dev/config package

* lint-fix

* Add watch workspace plugin back in

* i18n fixes (#1377)

* i18n fixes

* Removing unused lang, linting, etc

* lint

* Portugese Brazilian (#1379)

* Portugese Brazilian

* Add pt-BR to zod enum

---------

Co-authored-by: Hugh <hughglynparry@gmail.com>

* SBOM (#1360)

* sbom scripts

* sbom jsons

* remove sboms, keep command

* lint

* remove c8 (#1370)

* merge main into staging (#1385)

Release 2.1.0 (#1371)

* New git branches setup (#1296)

* add dev branch to auto merge

* make clippy run on new branch setup

* remove version checker workflow

* add dev and release branch triggers to consistent workflow name checker

* Delete create_diagram.yml

* add dev and release branch triggers to lint workflow

* add release and dev branch triggers to provider_image workflow

* remove release drafter

* add dev and release branches to rustfmt workflow

* add dev and release branches to protocol test workflow

* add dev and release branches triggers to tests workflow

* add dev and release branch triggers to webpack bundling workflow

* switch cache creation to be post pr to dev

* rename post_pr workflow to cache

* Update cache.yml

* publish workflow

* Update cache.yml

* fix contract js/rust version check workflow

* install concurrently and cypress as workspace deps

* fix cypress workflow trigger

* fix cypress workflow branch triggers

* fix rust file triggers

* move webpack bundling check to tests workflow

* remove typechain version check

* rename workflows

* make the github actions cache include the branch name

* publish on push to main

* add js bundle test step

* workflow for ensuring all versions move in lockstep

* blurb for each workflow

* dockerhub login check for before a release

* rename publish to release

* remove typedoc step

* standardise step ids in release workflow

* dummy version bump

* Delete dockerhub_login.yml

* release version check

* workflow to check for valid version bumps

* auto merge all prs

* check consistent workflow names on all prs

* branch system docs

* check contract version on prs to main,dev,release/*

* add workflow_dispatch to all relevant workflows

* make auto merge only run on non-draft prs

* check versions on all branches

* make release run on push to main

* tag pushes to main

* rename version check workflow

* remove fetch all history and branches from clone

* fix docker js server version issue

* fix bump workflow to bump all package.json files and Cargo.tomls

* fix package.json version writing in bump workflow

* rename step

* make auto merge cancellable

* make deploy ahve a single notification of pass/fail

* debug info

* fix cache workflow name

* don't use cache in bump version workflow, not needed

* move buildx to top of workflow

* move the cli building to before publishing images in deploy workflow

* tag warning

* remove filters for tests, test more often

* add workflow dispatch to deploy workflow

* add bash error catching

* Create consistent_engine_node.yml

* Create consistent_engine_npm.yml

* Create consistent_nvmrc.yml

* cache docs

* event workflows for main and dev

* change event setup

* don't run unless non-draft pr

* combine protocol clippy and rustfmt into single lint workflow

* missing engine

* missing version

* revert version debug

* fix version

* fix workflow name detection

* add missing engines

* fix nvmrc check

* fix path typo in contract version check

* allow auto merge to run always

* Update package-lock.json

* lint

* lint

* Cache cypress install (#1305)

* remove install cypress step from cache workflow

* add cypress as dev dep

* Add staging branch to workflow (#1311)

* New linting (#1309)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* fix npm script error handling (#1306)

* fix auto merge (#1302)

* fix auto merge

* add repo parameter to auto merge

* add repo parameter to auto merge workflow

* Remove contract calls (#1308)

* remove contract calls from procaptcha

* linted stuff

* Adding empty providers

* Adding hardcoded random providers

* Adding changes to load process

* Debugging

* debug

* nearly working state management

* fast captchas with no contract

* Removing debug

* Timestamp signature validation

* Working no rpc calls full captcha flow

* linting

* Unit tests potentially working

* dropping debug

* All passing cypress demo

* Bundle falling over when hashing

* dropping bundle pure replace

* Remove polkadot manual bundling hacks

* No provider pow

* Working pow without contract calls

* revert sitekey changes

* verified instead of context

* don't log config

* removing cypress capture images

* removing bad deps

* Removing debug

* fixing build

* fixing providers

* Correct docstring

* rebuilt package lock

* Removing stats file

* Skipping lint in protocol

* removing typechain change because protocol bump required

* removing unused deps

* temp bump while firefighting

* Dropping provider gui

* Working build without provider gui

* Removing batch commit tasks

* Dropping protocol

* Working build without protocol dir

* Dropping proxy and package lock pointing to proxy

* Working build with new pkg deps

* Removing common contract

* Dropping tests for rewrite

* Working no captcha product

* Dropping merkle tree

* Refactoring provider and adding temp tests

* Refactored provider into multiple single responsibility classes

* lint fix

* pkg lock bump

* Renaming tests to non test file to pass

* Tests passing

* Debug for datasetId getter

* Working provider set dataset

* Auth Middleware Test

* Captcha scheduler tests

* Error Handler tests

* Provider now boots without connection to rpc node

* Full suite of unit tests for provider

* Tests passing

* Fixed build

* Integration tests. Actions for this to be set up

* Working image captcha integration tests

* Unit tests paths correction

* Fixing version bump yml

* Removing debug

* Adding dummy get random provider script

* Removing dockerfile and vite env config

* Replacing signedTimestamp with timestampSignature

* Deduping config by making it its own package

* Defaulting message to provider online

* Fixing type issues and ws requirement issues

---------




* Removing unused deps, bumping package lock

* Working pow captcha with timeouts

* Add missing deps and bundling command for staging

* Remove version from docker compose files

* Use NODE_ENV var for pulling in env var file into docker compose file

* Add staging deploy process

* Add staging bundle command

* package lock

* Remove old deps.

* Update package-lock.json

* Update event name

* Add missing dep

* Use latest image to create container from

* Use staging tag for container

* Await crypto WASM blob

* Allow NODE_ENV to be passed into Vite config

* Add load-balancer refs to tsconfigs

* Allow PROSOPO_DEFAULT_ENVIRONMENT to inherit from NODE_ENV

* Add some logging and change some imports

* exporting hardcoded provider from types

* Cleanup linting process (#1312)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* remove old lint scripts

* remove prettier + eslint config

* remove eslint dep

* remove prettier dep

* Update package-lock.json

* Fix provider not erroring on database connection error. Add option to specify the number of proxies between the provider API and the user

* Add staging command back in

* deploy staging workflow to bundle branch

* addit commit details for bumps

* Add watchtower to provider docker compose

* Don't mount missing file

* watch provider container only

* Change container name

* Use createConnection instead of connection

* Fix build

* Staging deploy workflow (#1314)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* Pkg json

* bump version to v2.0.0

* no build specified

* remove deploy_X scripts

* remove deploy_X scripts

* remove deploy_protocol script call

* remove deploy_protocol workflow step

* remove github assets for contract

* remove deploy_protool

* Use 2.0.0 everywhere

* Provider tests passing

* Adding if present to cjs

* Dropping auto merge

* Dropping dapp example demo

* fix check version bump all history available

* Update check_version_bump.yml

* Update check_version_bump.yml

* Remove out of date readme

* Update check_version_bump.yml

* Re-add old babel plugins

* start provider

* Always add the token to the form

* Supply token to onHuman function

* Fix build

* Adding button next for cypress tests

* Fixing hanging test

* Fixing get dataset being broken

* Remove substrate from docker compose

* Cypress tests passing

* stop the provider workflow from falling over if the npm packages are unreleased

* Only load the provider mock container if we built it

* Try to upload screenshots

* Try to store screenshots on failure

* Try using withinSubject:null

* Wait for button to be visible

* Wait for the the API call

* Remove wait for solution request

* try to force the click

* Just force, don't expect the element

* try waiting after clicking

* Store videos of cypress runs

* Remove the then

* Remove duplicate click

* Fix function return type

* try within

* Adding setup step for setup env in test

* Add data-cy attributes if environment is not production

* wait for docker containers to setup env

* Adding setup step for setup env in test

* Start docker first

* Check if there are references

* remove within

* Try to kill processes with concurrently

* Size fixes for widget and logo

* Make signature stuff less confusing

* Fix license header positions

* Fix tests

* Get it all working

* Fix size

* Fix lint issues (#1318)

* rename version step

* detect prod/staging in deploy

* remove contract building in deploy

* build js bundles based on env

* use docker tag based on env

* use prod env

* gh release on prod only

* npm release on prod only

* use docker latest and version specific tags

* use docker tags from env in img tags

* join version and env steps

* prod/dev -> production/development

* NODE_ENV variable setup in npm scripts

* missing NODE_ENV fixes

* fix tsc build / clean cmds

* NODE_ENV semis

* vite use NODE_ENV as --mode

* use NODE_ENV to control bundling of production/development/staging env

* use NODE_ENV to control build scripts

* remove needless NODE_ENV setting

* Delete deploy-staging.yml

* deploy on unsafe branch guard

* upload bundle to staging release as part of deploy workflow

* typo missing vite

* license

* remove contract linting

* remove docker compose linting from dockerfile lint cmd

* fix yamllint

* make caddy fmt output diff

* install htmlhint

* fix rustfmt lint script

* use cargofmt instead of rustfmt

* fix lint rs naming

* fix clippy linting

* fix toml linting

* simplify xargs serial command usage in rust linting

* lint rust check

* webpack bundle dev mode fix

* webpack plugin fix

* webpack fix

* improve npm scripts

* improve node_modules associated with npm scripts

* bundle npm script

* fix release asset target

* remove any current assets before uploading any further staging assets

* add nuke script

* set shell in dockerfile

* use json form of CMD in dockerfile

* fix multiple RUN commands in dockerfile

* remove apt sources after install

* use apt get

* use apt-get in dockerfile instead of apt

* join multiple run commands together in dockerfile

* entrypoint json form

* no install recommends

* ignore install recommends lint

* fix multiple run commands and apt clear

* CMD to json form

* no install recommends

* remove root user, is default

* set nginx version

* multiple RUN commands fix

* set shell to use pipefail

* delete apt lists after install

* fix consecutive RUN commands

* no install recommends

* ignore usage of latest

* dockerfile lint

* Update substrate-contracts-node.build.dockerfile

* json form for CMD

* lint dockerfile

* lint caddyfile

* fix needless cat

* useless echo

* speech marks for safety

* make dockerfile and shell linting command simpler

* fix quotes and variable usage in cache workflow

* fix quotes

* fix quotes

* fix quotes

* fix quotes

* fix NODE_ENV speech marks in workflows

* useless cat

* unused vars

* lint

* missing speech marks

* speech marks

* lint eval and @ usage in shell

* lint shell script

* fix yamllint linting

* fix lint md and js fix cmd

* autofix js

* fix biome cmdline args

* biome lint fixes

* biome lint fix

* make biome use vcs

* no export from tests

* fix key in list

* missing useEffect dep

* explicit any todo

* lint fixes

* warn on parameter assign

* todo for any

* trailing comma

* ignore any type for options

* fix line count parameter reassigned

* fix not null assertion

* ignore any from axios response

* ignore any casts

* ignore any in async ctor

* no reuse of parameter

* ignore i18n translation any

* ignore anys in nodejs polars plugin

* ignore any for response json

* avoid parameter reuse

* fix any usage in vite watch plugin

* fix side effect in vite watch plugin

* fix reused variables in error classes

* disable rule for key event with onClick

* forEach to for of

* missing bracket

* allow any

* forEach to for of

* allow any

* forEach to for of

* allow any

* allow any

* forEach to for of

* use item hash as key

* fix useEffect deps

* todo for async exec

* allow any + async exec

* allow any

* forEach to for of

* ignore spread

* TODOs for sendFunds

* allow any

* ignore async exec

* allow any

* todo for memo deps

* ignore detector code, contains loads of biome errors

* fix anys, foreach and local params

* ignore foreach

* fix any

* allow any

* allow any

* allow any and foreach

* allow any

* allow any

* allow any

* allow enum

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* allow any

* allow any and foreach to for of

* img buffer type

* allow any

* allow any

* allow any

* foreach to for of

* allow any

* make biome do formatting too

* biome format

* ignore bundles

* lint

* lint md files

* lint md

* disable some markdown rules

* lint rs

* fix rs

* fix npm scripts

* lint

* ignore ruff.toml when linting tomls

* lint

* lint py npm scripts

* remove eslint directives

* make biome track the main branch and handle css

* fix caddy linting

* lint

* lint

* lint

* configure taplo

* Update ruff.toml

* fix scripts

* lint

* remove eslint

* lint

* fix speech mark issues

* typo

* fix lint fixes types

* more fixes for linting fixes

* fix for potentially undefined root node of merkle tree

* duplicate selector

* lint

* ignore bundle stats html file

* missing provider env for starting provider

* async factory fix

* remove debug

* lint

* revert detector index.js changes

* lint

* polyfill node: imports

* fix for node:url breaking bundle

* use package workspaces rather than cd'ing (#1321)

* Add push to js branch again to get live staging bundle

* Remove any existing procaptcha responses on human

* deploy staging on push to staging

* Use duplicate JS Server for now

* Silence GH warning about NoSQL injection in demo

* Silence GH warning about NoSQL injection in demo

* Set GH_TOKEN env

* Remove production step for JS Server

* Add back command to push to js-bundle branch. Remove quotes in asset deletion script

* Use correct docker tag

* Try moving to its own step

* don't fail if nothing to commit

* Update provider docker run CMD

* Always pull new version of tag for provider image

* Update provider CMD

* Alter the verify endpoint when in non-production environments in client-example demo

* Allow PoW captchas to be stored and counted

* Removing exportData from Manager

* Adding synamic config for load balancer

* Fix build

* fix server build

* fix server again

* fix provider build

* Removing dangerou

* Change scale-ts type to u64 to avoid losing data

* revert change to number for timestamp

* make sure procaptcha-response is deleted

* Fix scheduler database name and add env option for storage schedule

* Make the models available once the connection has been made

* Move headers

* Update js_server release step

* Try using secret directly

* Add some debug

* Modify debug

* Yet more debug

* I give up

* Working captcha results in mongo (#1322)

* Fixing db schema for pow captchas

* dropping new debug

* Use a var for mongo image

* more debug

* Removing lint fix from version bump

* User data mvp (#1327)

* Update captcha records for user portal data requirements

* pow types overhaul

* Harden tests against function parameter changes

* only run prosoponator on non-draft pr's (#1333)

* fix dir capitalisation (#1329)

* fix dir capitalisation

* fix path

* Introduce dotenv package for finding environment files (#1334)

* Introduce dotenv package for finding environment files

* Package-lock.json

* Update references to old loadEnv

* Update package references

* Add the config files

* Update loadEnv ref

* Update loadEnv refs in demos

* trigger tests

* Update dotenv reference

* Specify no tests

* Fix dataset IDs for staging providers

* Allow pow challenges to be submitted more than once for verification

* Fail if the challenge exists in the db

* Revert unlimited challenge checking

* Make demo re-render captcha component when form changes

* Allow navigating between the captcha types

* Fix license location

* remove debug

* Store something on each request. Update PoW types. Additional checks (#1336)

* removed network types

* remove substrate containers / env params

* remove CONTRACT env vars

* fix imports

* remove networks

* remove network from getPairAsync

* remove networks + contract

* remove default network from env

* remove default network

* remove network default + types from types pkg

* remove network types

* remove block number

* Update package-lock.json

* Update package-lock.json

* remove contract dep for demo

* Store something on each request. Update PoW types. Additional checks

* Additional checks

* Restrict captcha solution checking by dapp account

* fix build

* Fix cypress tests

* lots of updates to types

* Fix up tests. Add types for Get Image Captcha URL

* Remove some unuse types. Type an API URL

* Zod type translation keys. Use enum values when updating database. Add enum arrays to mongoose schemas. Use ApiParams everywhere

* Set the correct key and value for storedStatus

* Fix up unit tests

* Make sure we're setting updated timestamps everywhere. Don't send the same data to the captcha storage DB twice. Add details of cron jobs that have run to scheduled tasks collection

* Fix up tests

* remove file that does nothing

---------



* Bug fix for missing status in scheduled task record

* Fix captcha storage mechanism. Add tests (#1337)

* Fix captcha storage mechanism. Add tests

* Fix up tests. Move verifyRecency function to util

* Update test env template

* Fix build

* use correct branch name in bump version

* Fix captcha scheduling insert (#1341)

* Stop scheduler from trying to set ID on upsert

* package-lock.json

* change logging

* Add types to tests to filter by test type during testing (#1342)

* vite test type env parameter

* prepend test type to all test files

* always include tests with no type specified

* Fix last scheduled task getter (#1346)

Change the db method and add some unit tests around scheduled tasks

* Lint repo (#1349)

* JS in repo linted

* addince licences

* Removing unused linting

* run lint in ci container

* GHA fix

* js server shell script linting

* yaml lint fix

* pkg lock lint

---------



* Docker compose overhaul (#1350)

* fix NODE_ENV var in arm64 version of provider compose

* add restart policy to docker compose

* add watchtower to arm64

* add pull policy to arm64

* make watchtower cleanup old imgs

* watchtower remove anon vols

* watchtower log format

* only restart enabled containers

* ping slack when restarts happen

* only restart enabled containers

* ping slack when updates occur

* docs

* make env based db image

* combine arm64 and x86_64 provider compose files

* mongodb healthcheck

* healthcheck for caddy

* healthcheck for provider

* disable caddy fileserver

* metrics in caddyfile

* add env vars to caddyfile

* basicauth for /metrics

* add env vars for uname + pwd of basicauth

* docker compose profiles

* remove tty

* add env file to caddy

* provider-dev service

* make database-dev use env file

* remove watchtower env params

* add watchtower env file

* watchtower logging

* watchtower restart policy

* watchtower self restart

* add missing env params

* remove dev version of provider compose file

* usage doc for caddy

* move env vars

* sort env lines

* prepend caddy env parameters with CADDY_

* add provider image version env parameter

* add missing env params

* add missing template env vars

* drop rococo env

* move package version env var

* more old space size for testing

* remove name from watchtower

* configure watchtower via env

* remove watchtower healthcheck

* Delete Dockerfile

* Caddyfile defaults (#1352)

* add caddy provider name + port vars

* sane defaults for provider container name + port in caddyfile

* sane default for http port

* remove http port for prod

* sane default for https

* remove https var for prod

* missing https var

* caddy admin endpoint default

* remove admin endpoint var

* disable caddy metrics (not in use atm)

* disable metrics reverse proxy

* log to stdout as well

* fix provider endpoint vars

* fix defaults

* rimraf dep (#1331)

* rimraf dep

* Update package-lock.json

* security policy (#1343)

* Portal settings (#1351)

* wip for client settings retrieval. database overhaul

* types update

* Add basic domain validator

* big domain regex

* lint-fix

* Add test class

* install missing dep

* bump polyfill plugin

* package-lock.json

* limit domain length

* package locl

* lint fix

* drop logs

* Address PR comments

* TLS headers (#1353)

* Create tls.Caddyfile

* add headers to express / types / tests

* pass headers

* add headers to mongo

* lint

* move tls headers from debug caddyfile

* fix missing headers in types

* fix missing headers

* lint

* lint

* fix error of unknown type

* lint

* disable gh actions lint

* lint

* remove old demo/example pkgs (#1345)

* remove old demo/example pkgs

* pow in example

* remove legacy npm scripts

* Provider retry (#1348)

* pkg lock bump and manager logic for retry

* Dev cli with multiple providers and provider faliure fallover

* Biome fixes

* pkg json lint

* Provider retry in pow from common

* Non cached s3 provider getting

* working retryCount

* pgk lock bump

* removing linting junk

* Working build and cleaner dev cli

* Removing unused debug

* pkg lock bump for deps

* adding types glob

* Dropping load balancer hardcoded jsons

* Removing non env based dev provider start

* use node env for dev mode

* Properly logging final retry faliure

* pkg lock bump

* package lock is locked up :joy:

* pkg lock lock lock

* Linting

* Lint

* marking lint actions as disabled

* Only 1 provider

* :lock:

* :lock:

* :lock:

* remove glob and lint

* 📦🔒

* pin vite to 5.4.2

* 📦🔒

* Glob stink

* globSync

* lint fix

* bump vitest and vite

* add vite and vitest to root pkg json

* remove vitest cov

* Update package-lock.json

* fix exclude for vite test config

* 📦🔒

* vitest/coverage-v8

* use fast-glob

* lint-fix

* remove lint:yaml command

* Lint-fix:js

---------




* remove find-up (#1354)

* Stop npm from failing on extraneous packages

* Add package-lock-only flag

* drop depends

* Deps (#1356)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* webpack cli

* Update package-lock.json

* lint

* webpack deps

* Update package-lock.json

* lint

* vitest coverage

* Update package-lock.json

* revert procaptcha-bundle + config pkg deps

* order

* Update package-lock.json

* add standard devdeps to all pkgs

* Update package-lock.json

* tsx

* Update package-lock.json

* lint

* Deploy bundle on push (#1362)

Deploying bundle to s3

* No hats (#1357)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* remove hats

* purge hats

* Update package-lock.json

* bump pkg vers

* fix array access errors for new ts version

* bump i18n

* bump pkg vers

* fix array access for new ts ver

* fix dep vers

* Update package-lock.json

* lint

* remove hat

* add webpack and rollup plugins back in

* Update package-lock.json

* bump rollup and webpack plugin vers

* missing babel plugins

* bump babel deps

* Update package-lock.json

* move import

* add comments for biome ignores

* npmrc (#1361)

* Adding prosopo  to css selectors (#1363)

Adding prosopo- to all classnames



* Deps (#1365)

* drop unneeded workspace deps

* fix deps provider-mock

* fix deps cypress-shared

* fix deps client-example

* fix deps client-example-server

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* deps

* deps

* deps

* deps

* deps

* deps

* fix import

* fix import

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* deps

* dep

* npm-check

* pkg lock

* remove hats

* purge hats

* Update package-lock.json

* bump pkg vers

* fix array access errors for new ts version

* bump i18n

* bump pkg vers

* fix array access for new ts ver

* fix dep vers

* Update package-lock.json

* lint

* remove hat

* add webpack and rollup plugins back in

* Update package-lock.json

* bump rollup and webpack plugin vers

* missing babel plugins

* bump babel deps

* Update package-lock.json

* move import

* add comments for biome ignores

* add devdeps

* more devdeps

* consolidate pkg vers

* drop hats

* drop hats

* drop npm check

* Update package-lock.json

* bump deps

* scripts

* remove emotion react

* ignore standard pkgs from depcheck

* typo

* Update package-lock.json

* lint

* npmrc fix (#1366)



* bump vite to 5.4.6

* 📦🔒

* fix bump version workflow (#1368)

* Bump version to 2.1.0

* Bump to 2.0.1

* Lint-fix

* Bump env versions

* saving to js folder (#1373)

saving t o js folder

* Adding spanish and portuguese support (#1364)

* Working build for ES and PT language support

* Auto update lang in all captcha types

* Working i18n

* All translations

* Dropping empty file

* Linting and formatting

* Adding tests and refactoring bundle

* package lock bumps

* proper numbers :sparkle:

* :lock:

* lint fix

* Linting fixes

* more linting aa

* License formatting

* Add config for resolving .js extensions in ESM context in webpack build

* lint-fix

* Add check for build and build:cjs

* check that number of references in tsconfig.json equals the number in tsconfig.cjs.json

* Stop tsconfigs from having missing references

* Fix script for comparing package.jsons and tsconfig.json

* fix all missing packages

* 📦🔒

* lint-fix

* fix broken package version

* add missing ref

* Make sure file does not exist

* lint-fix

* Script to remove unused JSON keys

* Remove ununsed JSON keys

* lint-fix

* remove PROGUI section

---------



* Package bumps

* recursive copy

* caddyfile defaults for variables

* Copy top level files only

* deploy fix (#1374)

* deploy fix

* remove demo changes

* dumbb lint

* english language

* Use inherited vite config from dev/config package (#1376)

* Use inherited vite config from dev/config package

* lint-fix

* Add watch workspace plugin back in

* i18n fixes (#1377)

* i18n fixes

* Removing unused lang, linting, etc

* lint

* Portugese Brazilian (#1379)

* Portugese Brazilian

* Add pt-BR to zod enum

---------



* Commit so that i can pin

---------

Co-authored-by: prosoponator <156670514+prosoponator@users.noreply.github.com>
Co-authored-by: Chris <forgetso86@gmail.com>
Co-authored-by: Hugh <90424587+HughParry@users.noreply.github.com>
Co-authored-by: Hugh <hughglynparry@gmail.com>

* Apply code scanning fix for information exposure through a stack trace

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Sort out test config

* Don't send stacks via API

* target hosted version of mongodb docker image (#1386)

* lint-fix

* Remove argument level

* Add command to start provider with admin api

* Change command to work with concurrently

* Npm cache (#1382)

* make npmrc use cache

* correct cache dirs

* save npm cache

* save cypress cache

* shorten cache keys - branch name/ref is not needed

* cleanup caches

* put cypress and npm in same cache

* add cache to workflows

* add cache to bump_Version workflow

* Update correct workflow

* Move imports

* 📦🔒

* lint-fix

* Bundle docs URL

* drop dependent issues (#1388)

Co-authored-by: Hugh <90424587+HughParry@users.noreply.github.com>

* standardise gha env vars (#1387)

* standardise gha env vars

* missing node env

* missing cypress node env

---------

Co-authored-by: Hugh <90424587+HughParry@users.noreply.github.com>

* Move translation strings

* Add test to catch translation keys missing

* Fix bump version workflow (#1381)

* Update bump_version.yml

* bump PROSOPO_PACKAGE_VERSION env var

* remove automerge (#1383)

* Big locale overhaul

* Big locale overhaul

* 📦🔒

* 📦🔒

* 📦🔒

* tsconfig refs

* 📦🔒

* remove polkadot/util from common

* Use correct package name

* Use correct package name

* lint-fix

* package dir getters

* Lint-fix and fix import

* Address PR comments

* specify no tests for the locale-browser package

* More imports placed below license

* Lint-fix

* combine event workflows into single workflow with payload (#1389)

* combine event workflows into single workflow with payload

* fix name

* lint

---------

Co-authored-by: Hugh <90424587+HughParry@users.noreply.github.com>
Co-authored-by: Chris <forgetso86@gmail.com>

* Locale overhaul (#1393)

* Big locale overhaul

* 📦🔒

* 📦🔒

* 📦🔒

* tsconfig refs

* 📦🔒

* remove polkadot/util from common

* Use correct package name

* Use correct package name

* lint-fix

* package dir getters

* Lint-fix and fix import

* Address PR comments

* specify no tests for the locale-browser package

* More imports placed below license

* ignore dirs

* Fix find env getter

* Remove caddy linting

* Disable all non-essential linters

* Release workflow (#1390)

* convert deploy into a release workflow

* clobber

* add env vars

* use cache

* don't upload bundle to gh

---------

Co-authored-by: Chris <forgetso86@gmail.com>

* Bump ver workflow node/npm (#1396)

setup node in bump version

* Bump version to 2.1.1

* remove rogue npmignore

* Commit main into release branch in bump_version

* Get origin/main before merging

* Release/2.1.1 merge main (#1398)

* Release 2.1.0 (#1371)

* New git branches setup (#1296)

* add dev branch to auto merge

* make clippy run on new branch setup

* remove version checker workflow

* add dev and release branch triggers to consistent workflow name checker

* Delete create_diagram.yml

* add dev and release branch triggers to lint workflow

* add release and dev branch triggers to provider_image workflow

* remove release drafter

* add dev and release branches to rustfmt workflow

* add dev and release branches to protocol test workflow

* add dev and release branches triggers to tests workflow

* add dev and release branch triggers to webpack bundling workflow

* switch cache creation to be post pr to dev

* rename post_pr workflow to cache

* Update cache.yml

* publish workflow

* Update cache.yml

* fix contract js/rust version check workflow

* install concurrently and cypress as workspace deps

* fix cypress workflow trigger

* fix cypress workflow branch triggers

* fix rust file triggers

* move webpack bundling check to tests workflow

* remove typechain version check

* rename workflows

* make the github actions cache include the branch name

* publish on push to main

* add js bundle test step

* workflow for ensuring all versions move in lockstep

* blurb for each workflow

* dockerhub login check for before a release

* rename publish to release

* remove typedoc step

* standardise step ids in release workflow

* dummy version bump

* Delete dockerhub_login.yml

* release version check

* workflow to check for valid version bumps

* auto merge all prs

* check consistent workflow names on all prs

* branch system docs

* check contract version on prs to main,dev,release/*

* add workflow_dispatch to all relevant workflows

* make auto merge only run on non-draft prs

* check versions on all branches

* make release run on push to main

* tag pushes to main

* rename version check workflow

* remove fetch all history and branches from clone

* fix docker js server version issue

* fix bump workflow to bump all package.json files and Cargo.tomls

* fix package.json version writing in bump workflow

* rename step

* make auto merge cancellable

* make deploy ahve a single notification of pass/fail

* debug info

* fix cache workflow name

* don't use cache in bump version workflow, not needed

* move buildx to top of workflow

* move the cli building to before publishing images in deploy workflow

* tag warning

* remove filters for tests, test more often

* add workflow dispatch to deploy workflow

* add bash error catching

* Create consistent_engine_node.yml

* Create consistent_engine_npm.yml

* Create consistent_nvmrc.yml

* cache docs

* event workflows for main and dev

* change event setup

* don't run unless non-draft pr

* combine protocol clippy and rustfmt into single lint workflow

* missing engine

* missing version

* revert version debug

* fix version

* fix workflow name detection

* add missing engines

* fix nvmrc check

* fix path typo in contract version check

* allow auto merge to run always

* Update package-lock.json

* lint

* lint

* Cache cypress install (#1305)

* remove install cypress step from cache workflow

* add cypress as dev dep

* Add staging branch to workflow (#1311)

* New linting (#1309)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* change lint changed script name

* adjust lint workflow

* Update package-lock.json

* fix npm script error handling (#1306)

* fix auto merge (#1302)

* fix auto merge

* add repo parameter to auto merge

* add repo parameter to auto merge workflow

* Remove contract calls (#1308)

* remove contract calls from procaptcha

* linted stuff

* Adding empty providers

* Adding hardcoded random providers

* Adding changes to load process

* Debugging

* debug

* nearly working state management

* fast captchas with no contract

* Removing debug

* Timestamp signature validation

* Working no rpc calls full captcha flow

* linting

* Unit tests potentially working

* dropping debug

* All passing cypress demo

* Bundle falling over when hashing

* dropping bundle pure replace

* Remove polkadot manual bundling hacks

* No provider pow

* Working pow without contract calls

* revert sitekey changes

* verified instead of context

* don't log config

* removing cypress capture images

* removing bad deps

* Removing debug

* fixing build

* fixing providers

* Correct docstring

* rebuilt package lock

* Removing stats file

* Skipping lint in protocol

* removing typechain change because protocol bump required

* removing unused deps

* temp bump while firefighting

* Dropping provider gui

* Working build without provider gui

* Removing batch commit tasks

* Dropping protocol

* Working build without protocol dir

* Dropping proxy and package lock pointing to proxy

* Working build with new pkg deps

* Removing common contract

* Dropping tests for rewrite

* Working no captcha product

* Dropping merkle tree

* Refactoring provider and adding temp tests

* Refactored provider into multiple single responsibility classes

* lint fix

* pkg lock bump

* Renaming tests to non test file to pass

* Tests passing

* Debug for datasetId getter

* Working provider set dataset

* Auth Middleware Test

* Captcha scheduler tests

* Error Handler tests

* Provider now boots without connection to rpc node

* Full suite of unit tests for provider

* Tests passing

* Fixed build

* Integration tests. Actions for this to be set up

* Working image captcha integration tests

* Unit tests paths correction

* Fixing version bump yml

* Removing debug

* Adding dummy get random provider script

* Removing dockerfile and vite env config

* Replacing signedTimestamp with timestampSignature

* Deduping config by making it its own package

* Defaulting message to provider online

* Fixing type issues and ws requirement issues

---------

Co-authored-by: Chris Taylor <forgetso86@gmail.com>
Co-authored-by: George Oastler <goastler@users.noreply.github.com>

* Removing unused deps, bumping package lock

* Working pow captcha with timeouts

* Add missing deps and bundling command for staging

* Remove version from docker compose files

* Use NODE_ENV var for pulling in env var file into docker compose file

* Add staging deploy process

* Add staging bundle command

* package lock

* Remove old deps.

* Update package-lock.json

* Update event name

* Add missing dep

* Use latest image to create container from

* Use staging tag for container

* Await crypto WASM blob

* Allow NODE_ENV to be passed into Vite config

* Add load-balancer refs to tsconfigs

* Allow PROSOPO_DEFAULT_ENVIRONMENT to inherit from NODE_ENV

* Add some logging and change some imports

* exporting hardcoded provider from types

* Cleanup linting process (#1312)

* lint dockerfiles

* lint caddyfiles

* lint github actions workflows

* lint shell scripts

* yaml lint

* lint python

* yamllint config

* lint js

* lint html

* lint markdown

* htmlhint ignore files

* simplify caddy lint

* replace eslint + prettier with biome, add run-s and run-p

* lint rust

* lint toml

* configure biome target files

* lint svg

* jsx and tsx lint

* adjust lint command in npm scripts

* fix license

* …
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants