Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
162 commits
Select commit Hold shift + click to select a range
d3bbf4d
Create method to check if string is ORCID
Aug 18, 2025
50a9fb5
Base logic for fetching orcid info; renaming to orcidId
Aug 18, 2025
b271521
Fetch orcid, get orcid account id
Aug 19, 2025
310f06f
Parse orcid api response with zod
Aug 21, 2025
db69a0e
ORCID profile component scaffolding
Aug 22, 2025
96cac67
One time donation support scaffolding for ORCIDs
Aug 25, 2025
90ecc01
Ensure serialization of ORCID entity
Aug 25, 2025
495e8a1
Refine ORCID badge, icon
Aug 25, 2025
b81b635
Add share to ORCID profile header
Aug 25, 2025
8eb1823
Add claiming notice
Aug 25, 2025
e642358
Add claimable funds section
Aug 25, 2025
c622f49
Initial support for ORCID iDs in list editor; fix circular import of …
Aug 26, 2025
f613bf7
Ensure list editor item can render ORCID iD
Aug 26, 2025
f929396
Resolve circular dependency issue with ORCID_PROFILE_FRAGMENT
Aug 26, 2025
0b6f10c
Clean up ORCID profile a bit
Aug 26, 2025
bb74b92
Adjust orcid avatar for small size
Aug 26, 2025
894cc0f
Allow csv to theoretically support orcids
Aug 26, 2025
4bb2e04
Update splits.csv with ORCID iD
Aug 26, 2025
7b9f26c
Fix missing orcid receivers during validation
Aug 26, 2025
a22c3ee
Resolve more typscripts errors related to OrcidReceivers
Aug 26, 2025
ae31fd4
Solve various type errors relating to splits and orcids
Aug 26, 2025
2b7323e
Allow app host with local development
Aug 26, 2025
e39186e
Remove some comments, add some comments
Aug 26, 2025
c93e6c7
Adjust e2e temp
Aug 28, 2025
cb91c9f
Ensure transformItemsToSdkReceivers knows how to deal with ORCID iDs
Sep 3, 2025
3a09d77
Update GQL
Sep 9, 2025
e95f990
Changes to support LinkedIdentityReceiver and SdkOrcidReceiver
Sep 10, 2025
7fd7c25
(hack) display something in splits component for orcids
efstajas Sep 10, 2025
cc4a4ab
(temp) pin explicit version of the SDK with orcid support
efstajas Sep 10, 2025
c0a436a
Messy claiming components for ORCID iDs
Sep 2, 2025
7a377d1
Convert to using straight ORCID iD; use variable naming to support ge…
Sep 11, 2025
d296a1b
Rename enter-to-git to enter-orcid-id
Sep 11, 2025
3fd87e0
Flesh out verify ORCID step
Sep 11, 2025
b65bbbd
Re-align gql with graphql-api updates
Sep 11, 2025
aae5267
largely align gql types with existing orcid code
Sep 11, 2025
be02e19
Restore ORCID profile
Sep 11, 2025
4706c69
Fix orid badge external url
Sep 11, 2025
126cece
Start to verify ORCID ownership
Sep 12, 2025
bbc993e
First pass at ORCID claim review step
Sep 12, 2025
6c6f4c4
Start breaking into generating transactions for ORCID claiming
Sep 12, 2025
66c3af2
Remove unused ORCID claiming components
Sep 12, 2025
654c2e0
First pass at success screen
Sep 12, 2025
d8eafde
Solve some typescript errors
Sep 12, 2025
c914043
Fix transformReceiverToSdkReceiver for OrcidLinkedIdentitys
Sep 12, 2025
ea9bea3
Remove some comments
Sep 12, 2025
d879a7e
Fix alignment of secodary info on ORCID profile
Sep 12, 2025
2ee9bb5
First pass at revamped profile
Sep 16, 2025
31fc793
Allow one-time donation support of account/profile
Sep 16, 2025
1f4165d
Flesh out unverified one time donation support for address/users
Sep 16, 2025
924377e
Only show cta for linking identity if it's yours
Sep 16, 2025
1f5559e
Rename isLinked to areSplitsValid
Sep 16, 2025
8a0a06a
Add real support, withdrawable balances, etc. to ORCID profile
Sep 16, 2025
261dfa6
Verify one-time donation for claimed ORCID
Sep 17, 2025
956eb06
Accommodate ORCIDs with varying shapes
Sep 17, 2025
0b7e345
Link identity from account page
Sep 18, 2025
17e425a
A little cleanup for claim orcid flow
Sep 18, 2025
00bfa5b
Make orcid share image work poorly
Sep 18, 2025
1cf39f2
Update one time donation language for ORCIDs
Sep 18, 2025
86e2277
Refine ORCID share image, add icon and ORCID iD
Sep 19, 2025
9ef234d
Further cleanup of ORCID claiming; add withdrawable balances
Sep 19, 2025
ea88b2c
Add given name and family name to ORCID share image
Sep 20, 2025
c3fa504
Change ORCID name component so that it uses new orcidMetadata
Sep 20, 2025
3241d37
Ensure ORCID profile gets name from graphql API, update docker-compos…
Sep 22, 2025
c7186e2
Minimize use of orcid profile data in orcid profile component
Sep 22, 2025
4effeb9
Fix up some ORCID utility functions
Sep 23, 2025
0fc153b
First pass orcid owner update endpoint
Sep 23, 2025
e9fc2a8
Reverse ORCID profile dependency so that we're failing when the graph…
Sep 23, 2025
5ced58a
Rename is-orcid utils
Sep 24, 2025
c3839bd
Remove unused DripListService
Sep 24, 2025
a8a2749
Begin to integrate SDK into ORCID claiming process; revamp ORCID reci…
Sep 24, 2025
c356f26
Start integrating and understanding gasless with regards to ORCID cla…
Sep 26, 2025
0890aa6
Fix rebase problems
Sep 26, 2025
feb4ac9
Restore splits and metadata to ORCID claiming
Sep 26, 2025
067e145
First pass e2e test for claiming ORCID
Sep 27, 2025
7311207
Break up ORCID claiming test a la project claiming test
Sep 27, 2025
503ac5b
Fix export error in OrcidClaimManager
Sep 27, 2025
2619b36
Remove emitting of metadata when claiming ORCID
Sep 29, 2025
8f0d617
Start refining e2e test for claiming ORCID
Sep 30, 2025
105a70e
Move docker tasg env vars into package.json
Sep 30, 2025
8c37798
Revert use of SDK, make orcid claiming e2e test pass
Oct 2, 2025
c5c5a20
Fix fakeClaimedOrcid in orcid claiming step
Oct 2, 2025
7f73a91
Use new SDK changes to claim ORCID; break steps into 3 a la project
Oct 3, 2025
98b3201
Clean up splits in ORCID claiming flow; revert gasless ORCID claiming…
Oct 3, 2025
7ea1aa5
Simplify ORCID e2e claiming logic
Oct 6, 2025
9deb100
Update drips-network/sdk
Oct 8, 2025
6cf6c71
Update set-splits for new SDK version
Oct 8, 2025
49a7a84
Update gasless orcid claiming for new SDK changes
Oct 8, 2025
67e1c84
Remove comment
Oct 10, 2025
2c34bd8
Align set splits with project claiming, prepare for gasless
Oct 15, 2025
187a525
See if headless playwright tests can pass on CI
Oct 15, 2025
867aedd
SDK manager allows server-side initialization
Oct 15, 2025
d22b68c
Build request update own tx for gasless claiming; general to both orc…
Oct 15, 2025
69d6f50
Improve docs and type for buildRequestOwnerUpdateTx
Oct 16, 2025
0f5fd5f
Allow code wrapping for code box
Oct 16, 2025
83ca64d
Self-review; code cleanup; align with main; remove streaming donation…
Oct 16, 2025
7819707
Display splittable funds for ORCID for now with a TODO
Oct 16, 2025
a3770cd
Fix layout of orcid profile
Oct 16, 2025
0ff5c2b
Verify one-time donation support for profiles
Oct 16, 2025
dd92a10
Update repo driver schema for orcid split receiver; update GitProject…
Oct 20, 2025
d8f7565
Fix splits display for ORCID receivers
Oct 20, 2025
0de0d6f
Lock SDK at point where we included dist files
Oct 21, 2025
ce7ff86
Fix reference to AccountId type
Oct 22, 2025
773e8c4
Put ORCID functionality behin network flag
Oct 22, 2025
cb037ea
Update SDK
Oct 27, 2025
1039f77
Disable orcids for mainnet
Oct 27, 2025
5270752
Remove test-data files after playwright completes or is stopped
Oct 27, 2025
10d33e6
Switch to using dripfeed for localdev
Oct 27, 2025
7187cee
Update ecosystem payload to reflect new name of repo
Oct 27, 2025
a85ad7c
Fix ^C to continue with tests
Oct 28, 2025
4ddfb53
extractDriverNameFromAccountId handles repoSubAccountDriver
Oct 29, 2025
3bf4cb0
Fix use of invalidate all from fetched data cache
Nov 3, 2025
dcde954
CSV example allows no caption
Nov 3, 2025
1515c2b
Include repo subaccount driver in driver-related entities
Nov 3, 2025
5835551
Potential fix for pull request finding 'Missing space in string conca…
mhgbrown Nov 3, 2025
6ca1905
Merge branch 'main' into mhgbrown/1568-linked-identities-and-orcids
mhgbrown Nov 4, 2025
eb65b65
Populate .env file naturally
Nov 5, 2025
c86aaff
Add PUBLIC_ORCID_API_URL to github check
Nov 5, 2025
2006b43
Ensure orcid client id and secret are available for graph ql api
Nov 5, 2025
bd9b13d
Remove GRAPHQL_API_TAG from test scripts
Nov 5, 2025
03dbe88
Add dummy ORCID credentials to docker compose
Nov 5, 2025
3fb8ab6
Remove local dev SDK instructions from docker-compose.yml
Nov 5, 2025
1fae461
Fix RPGF e2e failure of csv export of applications in headless mode
Nov 5, 2025
8341e4c
Fix intermittent test failure with ecosystems filling in donation amount
Nov 6, 2025
582fc3f
Add project repo sub account id to project page cache key
Nov 7, 2025
4de26a0
Fix periodic connected session error in e2e tests
Nov 7, 2025
953daf0
Reference relevant tags to run playright
Nov 7, 2025
f67bb1f
Ensure rpgf test file is like main
Nov 10, 2025
c880c77
Merge remote-tracking branch 'origin/main' into mhgbrown/1568-linked-…
Nov 10, 2025
7ffd910
Solve most RPGF e2e problems with the test helper
Nov 10, 2025
f9f8187
Make round publishing e2e test work
Nov 10, 2025
0d49ac2
Revert changes to rpgf round e2e helper
Nov 10, 2025
e6fe55f
Implement strategy to accommodate no pointer events during loading st…
Nov 10, 2025
90db2b2
Add GRAPHQL_API_TAG to running e2e tests
Nov 12, 2025
63fc2d8
Merge branch 'main' into mhgbrown/1568-linked-identities-and-orcids
Nov 12, 2025
8f7a794
Sync package.json with package-lock.json
Nov 12, 2025
030e0a9
Fix typescript errors
Nov 12, 2025
8e0391b
Remove GRAPHQL_API_TAG from e2e test start scripts
Nov 13, 2025
16a0821
Only display LinkedIdentitiesCard on profile if network.orcids is true
Nov 13, 2025
ad885fb
Allowing orcids for list editor defaults to network setting
Nov 13, 2025
146babd
Remove straggling TODO
Nov 13, 2025
4d03761
eip-712-ballots (#1733)
efstajas Nov 12, 2025
78f9367
align ballot sorting exactly across front & backend
efstajas Nov 12, 2025
d29b520
Merge branch 'main' into mhgbrown/1568-linked-identities-and-orcids
mhgbrown Nov 13, 2025
315c4d0
Onyl add subAccountId to project page cache entry when SUB_ACCOUNT_RE…
Nov 13, 2025
2eb38ce
Allow ETH Sepolia orcids
Nov 13, 2025
8d05906
Return a more appropriate error when an orcid id is invalid
Nov 13, 2025
8f91f8d
Correct orcid allowance for sepolia network
Nov 13, 2025
6bc3586
Add a clarifying comment about what the orcid claiming e2e test expects
Nov 13, 2025
3fbfc8c
Update orcid claiming comment with general profile url
Nov 13, 2025
cf8b75f
Update orcid claiming link to match oracle expectations
Nov 14, 2025
6491608
Create failing condition by passing sandbox- prefixed orcids into rel…
Nov 14, 2025
e481bb3
Update SDK to new verison
Nov 17, 2025
4cde3a6
Merge branch 'main' into mhgbrown/1568-linked-identities-and-orcids
mhgbrown Nov 17, 2025
9815d95
Update package-lock.json
Nov 17, 2025
340422a
Ensure sandbox prefixed orcids are referenced properly during claiming
Nov 17, 2025
f1b5d65
Potential fix for code scanning alert no. 6: Incomplete URL substring…
mhgbrown Nov 17, 2025
13d8dc8
orcid account from fetchOrcid retrains non-sandbox orcid id
Nov 18, 2025
a9dae5a
Remove GRAPHQL_API_TAG from e2e test scripts
Nov 18, 2025
162669f
Correct fetchOrcid return with re-apply orcid id
Nov 18, 2025
f1c85df
Merge branch 'main' into mhgbrown/1568-linked-identities-and-orcids
mhgbrown Nov 18, 2025
1acfc31
Merge branch 'main' into mhgbrown/1568-linked-identities-and-orcids
mhgbrown Nov 19, 2025
06f1915
Default contracts to igor-orcid in docker-compose
Nov 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .env.template
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,6 @@ PUBLIC_FARO_ENVIRONMENT=string # The environment string to set in the Faro SDK.
# Ecosystems host and API key.
ECOSYSTEM_API_URL=string
ECOSYSTEM_API_ACCESS_TOKEN=string

# The ORCID API is used to look up basic information about ORCIDs
PUBLIC_ORCID_API_URL=string
18 changes: 10 additions & 8 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,15 @@ jobs:
restore-keys: npm-

- name: Populate .env file
uses: SpicyPizza/[email protected]
with:
envkey_PUBLIC_NETWORK: 5
envkey_GQL_URL: https://gql-api.drips.network/
envkey_GQL_ACCESS_TOKEN: 123
envkey_ECOSYSTEM_API_URL: https://ecosystems-api-mainnet.up.railway.app/
envkey_ECOSYSTEM_API_ACCESS_TOKEN: 123
run: |
cat > .env << EOF
PUBLIC_NETWORK=5
GQL_URL=https://gql-api.drips.network/
GQL_ACCESS_TOKEN=123
ECOSYSTEM_API_URL=https://ecosystems-api-mainnet.up.railway.app/
ECOSYSTEM_API_ACCESS_TOKEN=123
PUBLIC_ORCID_API_URL=https://pub.sandbox.orcid.org
EOF

- name: Install dependencies
run: npm ci
Expand All @@ -38,4 +40,4 @@ jobs:
run: GQL_ACCESS_TOKEN=7f82c43a-e7f4-47e9-a623-db7066f8bea2 GQL_URL=https://gql-api.drips.network/ npm run gql:build # public access token

- name: Run svelte-check
run: npm run check
run: npm run check
5 changes: 4 additions & 1 deletion .github/workflows/playwright.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@ jobs:
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run Playwright tests
run: npm run test:e2e:headless
env:
ORCID_CLIENT_ID: ${{ secrets.ORCID_CLIENT_ID }}
ORCID_CLIENT_SECRET: ${{ secrets.ORCID_CLIENT_SECRET }}
run: npm run test:e2e:headless
- name: Upload Playwright report
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
Expand Down
2 changes: 2 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ ARG FARO_UPLOAD_SOURCE_MAPS_KEY
ARG PUBLIC_DRIPS_RPGF_URL
ARG PUBLIC_INTERNAL_DRIPS_RPGF_URL

ARG PUBLIC_ORCID_API_URL

RUN apt-get update \
&& apt-get install -y chromium \
fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 \
Expand Down
70 changes: 39 additions & 31 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,45 +28,53 @@ services:
- GITHUB_PERSONAL_ACCESS_TOKEN=${GITHUB_PERSONAL_ACCESS_TOKEN}
- PUBLIC_DRIPS_RPGF_URL=http://localhost:5293
- PUBLIC_INTERNAL_DRIPS_RPGF_URL=http://rpgf:5000
- PUBLIC_ORCID_API_URL=https://pub.sandbox.orcid.org
volumes:
- .:/app
- /app/node_modules/
- .:/app
- /app/node_modules/
ports:
- 5173:5173
- 5173:5173
depends_on:
- redis
- graphql-api
- fake-pinata
- redis
- graphql-api
- fake-pinata

redis:
image: redis:latest
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
test: [ "CMD", "redis-cli", "ping" ]
interval: 1s
timeout: 30s
retries: 5
ports:
- 6379:6379
- 6379:6379

event-processor:
image: 'j537/event-processor:${EVENT_PROCESSOR_TAG-main}-localtestnet'
dripfeed:
image: 'j537/dripfeed:${DRIPFEED_TAG-main}-localtestnet'
pull_policy: always
entrypoint: bash -c "npm run db:run-migrations && npm run start"
entrypoint: bash -c "npm run db:migrate && npm run start"
environment:
- IPFS_GATEWAY_URL=http://fake-pinata:3000
- SHOULD_PROCESS_PAST_EVENTS=${EVENT_PROCESSOR_SHOULD_PROCESS_PAST_EVENTS}
- PRIMARY_RPC_URL=http://testnet:8545
- DATABASE_URL=postgresql://user:admin@postgres:5432/dripsdb
- DB_SCHEMA=localtestnet
- NETWORK=localtestnet
- POLLING_INTERVAL=${EVENT_PROCESSOR_POLLING_INTERVAL}
- CHUNK_SIZE=${EVENT_PROCESSOR_CHUNK_SIZE}
- RPC_URL=http://testnet:8545
- CONFIRMATIONS=0
- SHOULD_START_MONITORING_UI=true
- REDIS_CONNECTION_STRING=redis://redis:6379
- POSTGRES_CONNECTION_STRING=postgresql://user:admin@postgres:5432/dripsdb
- LOG_LEVEL=debug
- MONITORING_UI_PORT=3001
- FETCH_BATCH_SIZE=5000
- INSERT_CHUNK_SIZE=1000
- PROCESS_BATCH_SIZE=100
- POLL_DELAY=2000
- MAX_CONSECUTIVE_ERRORS=10
- RPC_CONCURRENCY=10
- AUTO_HANDLE_REORGS=false
- LOG_LEVEL=DEBUG
- LOG_PRETTY=true
- IPFS_GATEWAY_URL=http://fake-pinata:3000
- CACHE_INVALIDATION_ENDPOINT=http://app:5173/api/cache/invalidate-account-ids
- HEALTH_PORT=3000
- NODE_ENV=development
- OTEL_DEBUG=false
- OTEL_SERVICE_NAME=dripfeed-dev
ports:
- 3001:3001
depends_on:
Expand All @@ -91,8 +99,8 @@ services:
- GITHUB_TOKEN=${GITHUB_PERSONAL_ACCESS_TOKEN}
- REDIS_URL=redis://redis:6379
- ORCID_API_ENDPOINT=${ORCID_API_ENDPOINT-https://pub.sandbox.orcid.org/v3.0}
- ORCID_CLIENT_ID=${ORCID_CLIENT_ID-dummy}
- ORCID_CLIENT_SECRET=${ORCID_CLIENT_SECRET-dummy}
- ORCID_CLIENT_ID=${ORCID_CLIENT_ID-APP-DUMMYCREDENTIALS}
- ORCID_CLIENT_SECRET=${ORCID_CLIENT_SECRET-00000000-0000-0000-0000-000000000000}
- ORCID_TOKEN_ENDPOINT=${ORCID_TOKEN_ENDPOINT-https://sandbox.orcid.org/oauth/token}
ports:
- '8080:8080'
Expand All @@ -102,13 +110,13 @@ services:
fake-pinata:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
test: [ "CMD", "curl", "-f", "http://localhost:8080/health" ]
interval: 1s
timeout: 30s
retries: 5

testnet:
image: 'j537/contracts:${CONTRACTS_TAG-sha-0b554e8}-${ARCH}'
image: 'j537/contracts:${CONTRACTS_TAG-igor-orcid}-${ARCH}'
pull_policy: always
ports:
- '8545:8545'
Expand All @@ -117,7 +125,7 @@ services:
image: 'j537/fake-pinata:main'
pull_policy: always
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
test: [ "CMD", "curl", "-f", "http://localhost:3000/health" ]
interval: 1s
timeout: 30s
retries: 5
Expand Down Expand Up @@ -157,7 +165,7 @@ services:
ports:
- 54320:5432
healthcheck:
test: ["CMD-SHELL", "pg_isready", "-d", "dripsdb"]
test: [ "CMD-SHELL", "pg_isready", "-d", "dripsdb" ]
interval: 30s
timeout: 60s
retries: 5
Expand All @@ -174,7 +182,7 @@ services:
ports:
- 54321:5432
healthcheck:
test: ["CMD-SHELL", "pg_isready", "-d", "dripsdb"]
test: [ "CMD-SHELL", "pg_isready", "-d", "dripsdb" ]
interval: 30s
timeout: 60s
retries: 5
Expand All @@ -191,7 +199,7 @@ services:
ports:
- 54322:5432
healthcheck:
test: ["CMD-SHELL", "pg_isready", "-d", "dripsdb"]
test: [ "CMD-SHELL", "pg_isready", "-d", "dripsdb" ]
interval: 30s
timeout: 60s
retries: 5
Expand Down Expand Up @@ -236,7 +244,7 @@ services:
ports:
- 7700:7700
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:7700/health"]
test: [ "CMD", "curl", "-f", "http://localhost:7700/health" ]
interval: 1s
timeout: 60s
retries: 10
Expand Down Expand Up @@ -268,7 +276,7 @@ services:
ports:
- 54323:5432
healthcheck:
test: ["CMD-SHELL", "pg_isready", "-d", "dripsdb"]
test: [ "CMD-SHELL", "pg_isready", "-d", "dripsdb" ]
interval: 30s
timeout: 60s
retries: 5
Expand Down
Loading
Loading