Home Reports Feb 18, 2022

Friday, February 18, 2022

Commits
287
pushed this day
Repositories
34
with activity
Contributors
56
distinct authors
Lines changed
+151,081 −38,155
additions / deletions

Commit Log

287 commits · 34 repositories

00:03:59 algoteal-interpreter ashleydavis Removed unecessary import. +0 −1
00:06:47 indexer onetechnical Update go-algorand submodule to 3.4.1-beta (#887) +1 −1
00:07:37 algoteal-interpreter ashleydavis Now reporting line numbers with tokenizer/parser error messages. +9 −9
00:13:52 FractureDAO whalelephant e2e +333 −149
00:14:39 algoteal-interpreter ashleydavis Changed CI/CD pipeline to Node.js 16. +2 −2
00:18:32 indexer onetechnical Bump version to 2.9.0-rc2 +1 −1
00:46:37 algoteal-interpreter ashleydavis Replaced IExecutionResult with IExecutionContext, seeing as the context was being returned from the interpreter anyway. +6 −26
00:54:17 genadrop EECvision improved file download functionality +616 −301
00:55:26 genadrop EECvision Merge branch 'main' into optimized-genadrop-create-page +0 −0
01:00:07 go-algorand - FI from master +356 −43
01:00:08 go-algorand - Build 1159 Data +1 −1
01:10:27 pyteal - comments +17 −0
01:14:31 pyteal - better comment +1 −1
01:14:40 Practical-HW2 fabrice102 start making some improvements +179 −206
01:14:42 pyteal jasonpaulos Begin tuple and array tests, improve dynamic tuple encoding, and remove Array.forEach +269 −31
01:14:42 pyteal jasonpaulos Bool tests and bugfixes +332 −10
01:14:42 pyteal jasonpaulos Finish testing abi types and fix tuple encoding bug +429 −38
01:14:42 pyteal jasonpaulos Proof of concept map implementation +90 −7
01:14:42 pyteal jasonpaulos Add ComputedType and fix bug in map +106 −85
01:14:42 pyteal jasonpaulos Finish tuple tests and type tests +448 −44
01:14:42 pyteal barnjamin Fix mypy issues +57 −41
01:14:42 pyteal jasonpaulos Implement decoding +224 −53
01:14:42 pyteal barnjamin make dynamic array work +7 −5
01:14:42 pyteal jasonpaulos Uint bounds checking and tests +265 −25
01:14:42 pyteal jasonpaulos Update Uint16 limit check +1 −1
01:14:42 pyteal jasonpaulos Remove old comment +0 −10
01:14:42 pyteal jasonpaulos Remove Array.map :cry: +0 −83
01:14:42 pyteal jasonpaulos Test indexTuple and fix bugs +242 −18
01:14:42 pyteal barnjamin Fmt +5 −1
01:14:42 pyteal jasonpaulos Fix uint64 decoding test +11 −9
01:14:42 pyteal jasonpaulos Implement static and dynamic array tests +423 −30
01:14:42 pyteal jasonpaulos Add generic param to new instances of arrays +2 −2
01:14:42 pyteal barnjamin rm param spec +0 −3
01:14:42 pyteal ahangsu provide a method to know the type name (#176) +17 −0
01:14:42 pyteal barnjamin make imports nice +41 −6
01:14:42 pyteal jasonpaulos Address feedback +8 −8
01:14:42 pyteal jasonpaulos Respond to feedback +31 −14
01:14:42 pyteal barnjamin remove Literal +1 −1
01:14:42 pyteal jasonpaulos Fix tuple decoding issue +16 −6
01:14:42 pyteal jasonpaulos Remove files for features that won't make it into this PR +0 −388
01:14:42 pyteal barnjamin make imports nice +18 −9
01:14:42 pyteal jasonpaulos Fix field shadowing +26 −26
01:14:42 pyteal jasonpaulos Add docstrings to abi.Type +39 −0
01:14:42 pyteal jasonpaulos Make decode more powerful +130 −61
01:14:42 pyteal jasonpaulos Add more int types and bool support +243 −31
01:14:42 pyteal jasonpaulos Refactor array implementation +76 −105
01:14:42 pyteal barnjamin add str method for abi type names +14 −8
01:14:42 pyteal barnjamin make tuple return the deocded Tuple +7 −5
01:14:42 pyteal jasonpaulos Add string method +4 −3
01:14:42 pyteal jasonpaulos Remove random line +0 −1
01:14:42 pyteal barnjamin initial commit to be used for reference and comparison +835 −0
01:14:42 pyteal ahangsu minor improvement to distinguish abi.Byte and abi.Uint8 (#194) +55 −4
01:14:42 pyteal jasonpaulos Make types mutable +488 −485
01:14:42 pyteal jasonpaulos Make arrays encode to a single value +88 −106
01:14:42 pyteal barnjamin move abi to ast +32 −160
01:14:42 pyteal barnjamin fix names +3 −8
01:14:42 pyteal jasonpaulos ABI refactor +799 −800
01:14:42 pyteal jasonpaulos [WIP] Make Add and Mul NaryExprs +66 −64
01:14:42 pyteal barnjamin make collections generic +75 −58
01:14:42 pyteal jasonpaulos Allow uint and bool set to copy another type +70 −12
01:14:42 pyteal barnjamin rename collections, fixed some of the mypy issues +57 −49
01:14:42 pyteal barnjamin lie to mypy +2 −1
01:14:59 teal-interpreter dependabot[bot] Bump url-parse from 1.5.3 to 1.5.7 +6 −7
01:15:25 FractureDAO whalelephant Docs +20 −10
01:17:45 pyteal gconnect Fixed typo (#202) +1 −1
01:20:43 pyteal aldur Add Github action to generate docset (#201) +24 −0
01:21:37 pyteal - better wording +2 −2
01:23:04 pyteal - grammar +1677 −0
01:24:14 pyteal - remove mistakenly included file +1 −1678
01:27:23 pyteal - better workding +4 −4
01:33:27 pyteal - wording +8 −7
01:37:47 pyteal - wording +2 −2
01:40:57 pyteal - remove empty line +0 −1
01:46:01 php-algorand-sdk ffsolutions Solved Atomic Transfer issues +24 −16
01:53:20 php-algorand-sdk ffsolutions Solved Atomic Transfer issues +64 −44
02:02:49 pyteal - dedupe bad merge in init's +11 −93
02:04:42 AlgoVote AdrianJendo Move non-sensitive constants from .env to constants.js files +9 −9
02:52:21 php-algorand-sdk ffsolutions Delete algorand.php +0 −1137
02:53:06 php-algorand-sdk ffsolutions Solved Atomic Transfer issues +36 −36
03:14:53 AlgoMart eremzeit Merge branch 'main' into aj/extract-shared-code-into-libs +3972 −1080
03:14:53 AlgoMart eremzeit Merge branch 'main' into aj/extract-shared-code-into-libs +3972 −1080
03:17:53 asa-list Wageroo Create roo-575353596 +2 −0
03:27:31 go-algorand egieseke Regen net.json for scenario2 test to include api endpoints for nodes. +255 −0
03:35:10 AlgoMart eremzeit minor housekeeping +4 −292
03:35:10 AlgoMart eremzeit minor housekeeping +4 −292
03:40:32 pyteal - per CR comments +20 −10
04:23:17 AlgoVote AdrianJendo Rename startVoteSecs to secsToTxn on backend +4 −4
04:25:23 AlgoVote AdrianJendo Update how smart contract increments candidate by using asset balance +12 −18
04:26:44 AlgoVote AdrianJendo Update updatePerson function for incrementing/decrementing person on table +24 −23
04:29:31 AlgoVote AdrianJendo Update case 0 to case 1 for progress bar and change 'value!==null ?' to 'value ?' +3 −3
04:30:00 AlgoVote AdrianJendo Update check when determining possible candidates to vote for +6 −2
04:35:51 pyteal - pass the compiler options thru so can be backwards compatible with new type checking +19 −11
04:37:55 pyteal - mypy +1 −1
04:39:10 algo-builder ratik21 update +1 −1
04:44:24 algo-builder ratik21 update crowdfunding example +13 −10
04:50:22 algo-builder ratik21 update permissiontoken example +11 −14
04:50:34 pyteal - unit test_scratch_index() +14 −0
04:53:52 AlgoVote AdrianJendo Rename submitVote to submitRegister +2 −2
04:54:50 AlgoVote AdrianJendo Remove token amount from smart contract app args for NoOpTxn +0 −1
04:55:35 AlgoVote AdrianJendo Merge pull request #6 from AdrianJendo/register-for-vote +861 −542
04:58:36 algo-builder ratik21 update DAO example +35 −52
05:00:22 algo-builder ratik21 update permissioned voting example +3 −3
05:07:51 pyteal - dynamicScratchvar unit tests with closer adherance to ScratchVar's API +67 −0
05:09:08 algo-builder ratik21 update guide +19 −16
05:16:43 pyteal - mypy +1 −1
05:29:24 algo-builder ratik21 update sample project +16 −8
06:08:22 AlgoVote AdrianJendo Allow mixing of new and existing accounts using 'New Accounts' workflow +37 −20
06:17:14 algo-builder ratik21 update getLsig, getApp to throw error if app/lsig not found +61 −38
06:20:07 algo-builder ratik21 rename sscinfo to appinfo +67 −67
06:22:01 algo-builder ratik21 changelog update +2 −0
06:27:53 algo-builder ratik21 Merge branch 'develop' of github.com:scale-it/algo-builder into deployer-byfile +742 −459
06:28:30 algo-builder ratik21 Merge branch 'deployer-byfile' of github.com:scale-it/algo-builder into deployer-byfile +2 −2
06:31:25 algo-builder ratik21 Merge branch 'develop' of github.com:scale-it/algo-builder into fix-return-type +87 −16
06:39:47 algo-builder ratik21 fix +9 −1
07:14:17 tatum-js vlnevyhosteny refactor(auction): input interfaces +95 −226
07:15:50 tatum-js vlnevyhosteny Merge remote-tracking branch 'origin/master' into feature/auctions +27 −27
07:51:00 tatum-js jakcinmarina Bsc test coverage, fill missing functions +200 −1
07:51:23 tatum-js jakcinmarina Merge branch 'master' of https://github.com/tatumio/tatum-js into feature/bsc-test-coverage-PLT-189 +2210 −60
07:51:41 tatum-js jakcinmarina Format +1 −4
08:48:20 AlgoMart tj-boyle defaults to main, queries can get read knex instance passed in +395 −246
08:48:20 AlgoMart tj-boyle defaults to main, queries can get read knex instance passed in +395 −246
09:51:13 tatum-js - Finish up offchain xrp +118 −28
09:51:23 tatum-js - Yarn lint +75 −73
09:51:52 algo-builder vuvoth feat: add keyreg transaction to inner tx (#589) +130 −42
09:56:02 tatum-js - Merge branch 'master' into feature/PLT-404_xrp-coverage +2213 −61
10:10:44 Practical-HW2 elijahj19 Merge pull request #2 from PennCIS233/fabrice +179 −206
10:14:49 genadrop Prometheo repair celo minting +52 −17
10:20:49 tatum-js - Fix build errors +3 −3
10:21:05 tatum-js - Yarn lint +3 −1
10:28:06 Practical-HW2 elijahj19 restructure files and secret template +266 −0
10:28:22 FLRChain-web Cholineusz Correct look of tabs. +55 −14
10:32:27 Practical-HW2 elijahj19 change mainAlgoHandler import +4 −265
10:35:48 Practical-HW2 elijahj19 fix gitignore json files +39081 −27
10:40:16 Practical-HW2 elijahj19 export secrets +2 −4
10:42:51 Practical-HW2 elijahj19 remove isCreator section +4 −7
10:46:53 Practical-HW2 elijahj19 update readme +7 −5
10:47:51 Practical-HW2 elijahj19 Merge pull request #3 from PennCIS233/frontend-cleanup-1 +39359 −303
10:55:40 algo-builder vuvoth add signer field to parseEncodedTxnToExecParams +17 −10
11:00:29 tatum-js - #NOISSUE - add KLAY to address generation +2 −1
11:04:13 tatum-js samuelsramko Deploying to gh-pages from @ tatumio/tatum-js@0ac91374ced1480ad6884412c626ffe90357cdf1 🚀 +4967 −4967
11:12:49 AlgoSwapper Pfed-prog added interaction with client +62 −1
11:28:40 tatum-js - #NOISSUE - add KLAY to address generation +17 −15
11:33:03 tatum-js samuelsramko Deploying to gh-pages from @ tatumio/tatum-js@9369ea2c180407003eb0b6a4860aa5f107831150 🚀 +4967 −4967
11:36:01 algorig kadirpekel minor +5 −8
11:54:54 tatum-js - #NOISSUE - add KLAY to create record +2 −3
12:00:16 tatum-js Hathoriel v2.0.0-alpha.102 +31 −31
12:09:11 token jumpsiegel main: more stuff @ gusc1a-ossdev-jsl1 +1 −1
12:14:53 pharma-supply-chain dependabot[bot] Bump url-parse from 1.4.7 to 1.5.7 +6 −6
12:30:13 asa-list cryptowhim JOY-561127431 +10 −0
12:32:07 asa-list cryptowhim Delete icon.png +0 −0
12:32:23 asa-list cryptowhim Delete icon.svg +0 −10
12:33:43 FLRChain-web Cholineusz Investors tab. +106 −23
12:35:53 asa-list cryptowhim Create JOY-561127431 +1 −0
12:36:20 asa-list cryptowhim Delete JOY-561127431 +0 −1
12:36:50 token jumpsiegel main: port to teal6 @ gusc1a-ossdev-jsl1 +25 −14
12:37:39 token jumpsiegel main: update the requirements @ gusc1a-ossdev-jsl1 +21 −3
12:39:30 token jumpsiegel main: update the requirements @ gusc1a-ossdev-jsl1 +1 −1
12:40:29 token jumpsiegel main: actually do the save @ gusc1a-ossdev-jsl1 +1 −1
12:47:21 asa-list cryptowhim Create .gitkeep +1 −0
12:48:29 asa-list cryptowhim Adding icons +10 −0
12:50:49 tatum-js jdckl XRP Offchain cleanup + coverage (#397) +122 −28
12:56:21 Algotrading lrnz-vtl refactor and fix bugs +256 −134
13:03:40 go-algorand ailisp add bn256 add, scalar multiply and pairing opcode +50 −2
13:05:04 token jumpsiegel main: improve governance security @ gusc1a-ossdev-jsl1 +17 −1
13:22:38 FLRChain-web Cholineusz Stewards tab - WIP. +97 −31
13:51:28 go-algorand tsachiherman stage +32 −23
13:55:09 Y_Swap Pfed-prog added set-up; readme; improved imports +43 −18
13:56:07 go-algorand tsachiherman apply auto-linter review fixes. +4 −3
14:04:58 go-algorand algochoi Revert accidental change in local state +1 −0
14:07:01 awesome-algorand aorumbayev Update Algorand Wallet to `Pera` wallet +1 −1
14:09:17 awesome-algorand aorumbayev Update Algorand Wallet to `Pera` wallet (#42) +1 −1
14:44:47 pyteal - maybe pylance has a bug. Remove Bytes anyway +0 −2
14:48:11 pyteal - bump up mypy to 0.931 +1 −1
14:56:20 strapi-nft-factory jaredgoldman add user caching +109 −56
14:56:26 pyteal - ahh Bytes missing from .pyi +1 −2
15:00:27 indexer michaeldiamant Default to including Python go-algorand E2E tests in buildtestdata.sh +7 −2
15:11:09 go-algorand - Cleanup StateDelta +14 −219
15:26:44 go-algorand tsachiherman Merge pull request #3656 from tsachiherman/tsachi/fixlintwarns +4 −3
15:28:21 go-algorand winder Add partitiontest to tests. +108 −0
15:38:41 indexer cce make TestAccountMaxResultsLimit use real HTTP routing and query parsing +105 −102
15:41:49 pyteal - unit tests for storing/loading via an index_expression +35 −0
15:46:54 indexer cce use ioutil.ReadAll in test for Go <1.16 compatibility +2 −2
15:57:06 docs onetechnical Update betanet to 3.4.1-beta +2 −2
16:03:47 token jumpsiegel main: inner transaction @ gusc1a-ossdev-jsl1 +72 −22
16:05:46 genadrop codingshot Merge pull request #46 from codingshot/optimized-genadrop-create-page +616 −301
16:12:51 indexer cce check HTTP server started before TestAccountMaxResultsLimit checks +18 −0
16:25:13 pyteal - unit tests for dynamic scratchvar load/store +40 −0
16:25:37 indexer cce remove cmd from coverpkg list +1 −1
16:26:47 algorand-onboard algochoi Use new dryrun function in Python SDK +45 −16
16:32:32 go-algorand egieseke Remove net address for nodes and NPNs. +0 −217
16:39:12 go-algorand tsachiherman Merge pull request #3657 from algorandskiy/pavel/ledger-modified +14 −219
16:46:33 indexer shiqizng review changes +48 −31
16:52:19 indexer michaeldiamant Trigger CircleCI +0 −0
16:58:15 indexer shiqizng updated monitoring readme +3 −1
17:24:33 ARCs barnjamin adding first pass at royalties +170 −0
17:27:57 AlgoMart eremzeit Setup basic scribe http handling +170 −43
17:27:57 AlgoMart eremzeit Setup basic scribe http handling +170 −43
17:28:16 pyteal - typo +1 −1
17:35:15 AlgoMart eremzeit Adding health check to API service +2 −3
17:35:15 AlgoMart eremzeit Adding health check to API service +2 −3
17:36:57 indexer michaeldiamant Default to including Python go-algorand E2E tests in buildtestdata.sh (#888) +7 −2
17:39:44 go-algorand winder Add partitiontest to tests. (#3658) +108 −0
17:40:22 go-algorand algorandskiy Fix a typo in agreement test (#3651) +2 −2
17:41:45 indexer tolikzinovyev Ledger refactoring changes. +1955 −881
18:03:16 algoNFTs algokittens Merge pull request #10 from StupidFaces/master +642 −511
18:07:45 docs rfustino asa.md and examples updated for waitforconfirmation +1267 −866
18:10:49 go-algorand bricerisingalgorand Increase rounds to 1mil +1 −1
18:15:39 pyteal - Test the current compiler against the future compilations +394 −0
18:25:17 go-algorand bricerisingalgorand Raise to 3mil +1 −1
18:28:06 indexer tolikzinovyev Move some of the preloading logic to accounting/. +208 −182
18:31:41 waollet dilannery implement support to claim yield +82 −14
18:32:01 indexer tolikzinovyev Use setResourcesReq(). +18 −20
18:32:10 indexer michaeldiamant Temporarily revert to inline glob search +1 −4
18:33:43 AlgoMart eremzeit Merge pull request #32 from deptagency/aj/extract-shared-code-into-libs +2207 −704
18:33:43 AlgoMart eremzeit Merge pull request #32 from deptagency/aj/extract-shared-code-into-libs +2207 −704
18:37:55 indexer tolikzinovyev Some renaming. +13 −13
18:55:29 indexer tolikzinovyev Add comments to ledger_for_evaluator.LookupResources(). +10 −0
18:59:20 pyteal - allow skipping new version in tests +98 −102
19:30:54 docs rfustino Assets zip updated +0 −0
19:34:32 go-algorand tsachiherman stage +502 −14
19:37:55 pact-js-sdk krotkiewicz use testbed +10 −24
19:44:21 indexer tolikzinovyev Encode state proof id. +17 −4
19:49:57 pyteal - mid-refactor, lets run against Circle +32 −25
20:02:48 pyteal michaeldiamant Update docs to group transaction field tables like go-algorand +75 −26
20:13:27 waollet brianofrokk3r README.md edited online with Bitbucket +7 −6
20:14:05 pyteal - per cr catch: better assumption about argument types with a new e2e case to validate correctness +42 −2
20:14:06 waollet brianofrokk3r README.md edited online with Bitbucket +3 −3
20:17:10 AlgoMart eremzeit Merge pull request #40 from deptagency/aj/setup-scribe-http-server +169 −43
20:17:10 AlgoMart eremzeit Merge pull request #40 from deptagency/aj/setup-scribe-http-server +169 −43
20:22:05 algodex-react IYTEC Update modal to use MUI +15 −17
20:24:14 algodex-react PhearZero ✅ Enable Cypress Tests +7 −7
20:24:55 algodex-react PhearZero 🔥 Remove old Tabs +110 −251
20:25:19 algodex-react PhearZero 🎨 Remove price from cache +6 −30
20:26:09 algodex-react IYTEC Pulled changes +1559 −40
20:28:42 algodex-react IYTEC Merge branch 'next' of https://github.com/algodex/algodex-react into issue-348-🐛_Fix_Model_renders_off_screen +123 −288
20:28:46 pyteal - more leniency on annotations +8 −6
20:29:02 algodex-react IYTEC Pulled update from next +0 −42
20:29:35 specs - Spec update for unlimited assets +11 −19
20:31:28 docs rfustino Atomic_transfers and examples updated waitforconfirmation +289 −273
20:37:35 algodex-react IYTEC Fix build +0 −1
20:43:59 algodex-react IYTEC Update header in doc +1 −2
20:51:36 AlgoMart eremzeit Fixing collections service silly config bug +5 −5
20:51:36 AlgoMart eremzeit Fixing collections service silly config bug +5 −5
20:59:31 indexer michaeldiamant Temporarily revert to inline glob search (#889) +1 −4
21:02:50 docs rfustino apps.md waitforconfirmation updates +21 −8
21:05:08 mango dependabot[bot] Bump url-parse from 1.4.7 to 1.5.7 in /web +3 −3
21:07:01 go-algorand cce remove dead code, add missing RestClient.Applications method +0 −66
21:22:36 go-algorand tsachiherman replace channel with queue +154 −105
21:24:26 go-algorand tsachiherman benchmarks +194 −85
21:30:18 pyteal - mypy +1 −1
21:39:17 AlgoMart - Add env vars to Scribe, bake in IAP settings so Github actions doesn't overwrite. +173 −13
21:39:17 AlgoMart - Add env vars to Scribe, bake in IAP settings so Github actions doesn't overwrite. +173 −13
21:40:49 FractureDAO whalelephant update sandbox +697 −38
21:59:57 AlgoMart jakerainis Homepage styling. +223 −162
21:59:57 AlgoMart jakerainis Homepage styling. +223 −162
22:01:53 AlgoMart jakerainis Merge branch 'main' into jrainis/homepage +2348 −718
22:01:53 AlgoMart jakerainis Merge branch 'main' into jrainis/homepage +2348 −718
22:05:53 go-algorand cce Merge pull request #3660 from cce/unlimited-assets-deadcode +0 −66
22:07:14 algodex-sdk atrefonas Add more tests +557 −343
22:16:59 algodex-sdk atrefonas Merge branch 'next' into atrefonas/add-more-teal-tests +6747 −3155
22:28:22 FractureDAO whalelephant feat: deploy with sandbox +63 −36
22:30:47 FractureDAO whalelephant add compiled contracts +138 −1
22:38:20 algodex-react IYTEC Update modal backdrop +13 −12
22:39:09 docs rfustino smartcontract example code updated waitforconfirmation/ teal 5 +502 −559
22:40:59 algodex-react IYTEC Fix build +1 −2
22:41:14 docs rfustino updated zip for smart contracts +0 −0
22:52:22 offline-wallet-generator ashelkovnykov Update changelog +33 −9
22:53:28 offline-wallet-generator ashelkovnykov Merge pull request #14 from ashelkovnykov/chlog +33 −9
22:58:16 pyteal - try on circle +104 −12
23:02:24 pyteal - mypy +1 −1
23:03:37 AlgoVote AdrianJendo Merge pull request #7 from AdrianJendo/mix-new-accounts-with-prefunded +37 −20
23:07:15 FractureDAO whalelephant write keys to dir +42 −22
23:08:31 pyteal - get rid of options that I had added +7 −7
23:11:10 pyteal - remove comments +0 −26
23:14:33 AlgoMart tj-boyle adding in knexRead param where necessary +2680 −872
23:14:33 AlgoMart tj-boyle adding in knexRead param where necessary +2680 −872
23:14:37 pyteal - remove comments +3 −11
23:14:53 FractureDAO whalelephant combine +14 −11
23:16:27 pyteal - remove comments +1 −5
23:18:21 pyteal - remove comments +1 −1
23:20:56 AlgoMart - remove port setting and host +2 −7
23:20:56 AlgoMart - remove port setting and host +2 −7
23:28:53 docs rfustino smart contract examples updated for waitforconfirmation +1007 −540
23:36:04 pyteal - Make DynamicScratchVar a subclass of ScratchVar and ensure with a test that still cannot pass to a subroutine manually +24 −22
23:46:02 FractureDAO whalelephant combine +8 −3
23:49:53 pyteal - make the invalid subroutine definition tests pass in python 3.6 also +2 −3
23:54:15 strapi-nft-factory jaredgoldman add user cache in attempt to debounce +12 −7