Skip to content

Commit

Permalink
Release 2.1.2 (#1427)
Browse files Browse the repository at this point in the history
* 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

* …
  • Loading branch information
7 people authored Oct 2, 2024
1 parent bb95f45 commit 5393087
Show file tree
Hide file tree
Showing 114 changed files with 23,691 additions and 20,599 deletions.
18 changes: 11 additions & 7 deletions .github/workflows/bump_version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -124,25 +124,28 @@ jobs:
# make a new branch for the version changes
git switch -c $INTERIM
pkgJsons=$(npm run --silent ws:pkg)
pkgNames=$(npm run --silent ws:ls)
for pkgJson in $pkgJsons; do
pkgJsons=$(find "${{ github.workspace }}" -type f -name "package.json" -not -path "**/node_modules/**" -not -path "**/.next/**" | xargs -I "{}" echo {} | sed s/\"//g)
echo $pkgJsons
# get the package "name" out of each pkgJson
pkgNames=$(xargs -I % sh -c "jq -r '.name' %" <<< "$pkgJsons")
echo $pkgNames
while IFS= read -r pkgJson; do
echo "Bumping version in $pkgJson"
# for each package in the workspace, set the version number
cat $pkgJson | jq ".version = \"${{ github.event.inputs.version }}\"" > tmp
mv tmp $pkgJson
for pkgName in $pkgNames; do
while IFS= read -r pkgName; do
# for each package in the workspace, check whether it is in the dependencies of the current package
# if so, bump the version number in the dependencies
cat $pkgJson | jq "if .dependencies[\"$pkgName\"] then .dependencies[\"$pkgName\"] = \"${{ github.event.inputs.version }}\" else . end" > tmp
mv tmp $pkgJson
cat $pkgJson | jq "if .devDependencies[\"$pkgName\"] then .devDependencies[\"$pkgName\"] = \"${{ github.event.inputs.version }}\" else . end" > tmp
mv tmp $pkgJson
done
done
done <<< "$pkgNames"
done <<< "$pkgJsons"
# need to bump the PROSOPO_PACKAGE_VERSION variable in env files
envFiles=$(find . -iregex ".*\/\.?env\.[^js][^ts][^.d.ts]\w+" -not -path "./node_modules/**")
envFiles=$(find . -iregex ".*\/\.?env\.\w+" -not -iname "*\.js" -not -iname "*\.ts" -not -path "./node_modules/**")
echo "Bumping version in env files: $envFiles"
for envFile in $envFiles; do
sed -i "s/PROSOPO_PACKAGE_VERSION=.*/PROSOPO_PACKAGE_VERSION=${{ github.event.inputs.version }}/g" $envFile
Expand All @@ -151,6 +154,7 @@ jobs:
# the json may be poorly formatted now, so we need to fix it
npm i
npm run -w @prosopo/scripts build
npm run -w @prosopo/lint build
npm run lint-fix
# commit the version changes
Expand Down
201 changes: 201 additions & 0 deletions demos/android-webview/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
2 changes: 2 additions & 0 deletions demos/android-webview/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# procaptcha-android
Procaptcha for Android
1 change: 1 addition & 0 deletions demos/android-webview/app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
70 changes: 70 additions & 0 deletions demos/android-webview/app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
}

android {
namespace = "io.prosopo.procaptcha"
compileSdk = 34

defaultConfig {
applicationId = "io.prosopo.procaptcha"
minSdk = 21
targetSdk = 34
versionCode = 1
versionName = "1.0"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
}

buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.1"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
}

dependencies {
implementation("androidx.webkit:webkit:1.8.0")
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
implementation(libs.androidx.appcompat)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
}
21 changes: 21 additions & 0 deletions demos/android-webview/app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package io.prosopo.procaptcha

import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4

import org.junit.Test
import org.junit.runner.RunWith

import org.junit.Assert.*

/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("io.prosopo.procaptcha", appContext.packageName)
}
}
Loading

0 comments on commit 5393087

Please sign in to comment.