Jehovah son Christopher Columbus pease

JW.ORG

Skip to content
Skip to table of contents
JW.ORG
Change site language
Log In (opens new window)
Search JW.ORG
SHOW MENU
Joe
2
Joel2:1-32
Play
Current time 0:00
Loaded: 0%
Progress: 0%
Duration 0:00
Mute
2  “Blow a horn in Zion!aShout a war cry in my holy mountain.Let all the inhabitants of the land* tremble,For the day of Jehovah is coming!b It is near! 2  It is a day of darkness and gloom,cA day of clouds and thick gloom,dLike light of dawn spreading out on the mountains.There is a people numerous and mighty;eNever before has there been one like it,And never again will there be anotherThrough the years of all generations. 3  Ahead of it a fire devours,And behind it a flame consumes.fThe land ahead of it is like the garden of Eʹden,gBut behind it is a desolate wilderness,And nothing can escape. 4  Its appearance is like the appearance of horses,And they run like warhorses.h 5  The sound is like that of chariots as they leap on the mountaintops,iLike the crackling of a blazing fire that consumes stubble.It is like a mighty people drawn up in battle formation.j 6  Because of them, peoples will be in anguish.Every face will grow flushed. 7  They charge like warriors,They scale a wall like soldiers,Each keeps to his own course,And they do not swerve from their paths. 8  They do not shove one another;Each man advances in his course.If the weapons* cause some to fall,The others do not break ranks. 9  Into the city they rush, on the wall they run.Onto the houses they climb, through the windows they enter like a thief.10  Before them the land trembles and the heavens rock.Sun and moon have become dark,kAnd the stars have lost their brightness.11  Jehovah will raise his voice before his army,l for his camp is very numerous.mFor the one carrying out His word is mighty;For the day of Jehovah is great and very awe-inspiring.nWho can endure it?”o12  “Yet even now,” declares Jehovah, “return to me with all your hearts,pWith fastingq and weeping and wailing.13  Rip apart your hearts,r and not your garments,sAnd return to Jehovah your God,For he is compassionate* and merciful, slow to angert and abundant in loyal love,uAnd he will reconsider* the calamity.14  Who knows whether he will turn back and reconsidervAnd leave behind a blessing,A grain offering and a drink offering for Jehovah your God?15  Blow a horn in Zion!Proclaim a fast; call for a solemn assembly.w16  Gather the people; sanctify the congregation.xCollect the old men;* gather the children and nursing infants.yLet the bridegroom go out from his inner chamber, and the bride from her bridal chamber.17  Between the porch and the altarzLet the priests, the ministers of Jehovah, weep and say:‘Do feel pity, O Jehovah, for your people;Do not make your inheritance an object of scorn,Letting the nations rule over them.Why should the peoples say, “Where is their God?”’a18  Then Jehovah will be zealous for his landAnd show compassion on his people.b19  Jehovah will answer his people:‘Here I am sending to you grain and new wine and oil,And you will be fully satisfied;cI will no longer make you a reproach among the nations.d20  I will drive the northerner far away from you;I will disperse him to a dry and desolate wasteland,With his vanguard* toward the eastern sea*And his rear guard toward the western sea.The foul smell from him will ascend,The stench from him will keep ascending;eFor He will do great things.’21  Do not be afraid, O land.Be joyful and rejoice, for Jehovah will do great things.22  Do not be afraid, you beasts of the field,For the pastures of the wilderness will become green,fAnd the trees will bear fruit;gThe fig tree and the vine must give their full yield.h23  You sons of Zion, be joyful and rejoice in Jehovah your God;iFor he will give you the autumn rain in the right amount,And he will send upon you a downpour,The autumn rain and the spring rain, as before.j24  The threshing floors will be full of pure grain,And the presses will overflow with new wine and oil.k25  And I will make compensation to you for the yearsThat the swarming locust, the unwinged locust, the voracious locust, and the devouring locust have eaten,My great army that I sent among you.l26  You will surely eat to satisfaction,mAnd you will praise the name of Jehovah your God,nWho has done wonders in your behalf;My people will never again be put to shame.o27  And you will have to know that I am in the midst of IsraelpAnd that I am Jehovah your Godq—there is no other!My people will never again be put to shame.28  After that I will pour out my spiritr on every sort of flesh,And your sons and your daughters will prophesy,Your old men will dream dreams,And your young men will see visions.s29  And even on my male slaves and female slavesI will pour out my spirit in those days.30  And I will give wonders in the heavens and on the earth,Blood and fire and columns of smoke.t31  The sun will be turned into darkness and the moon into blooduBefore the coming of the great and awe-inspiring day of Jehovah.v32  And everyone who calls on the name of Jehovah will be saved;wFor on Mount Zion and in Jerusalem there will be those who escape,x just as Jehovah has said,The survivors whom Jehovah calls.”
Previous
Next
Print
ShareJoel 2
Copyrights for this publication
Copyright © 2022 Watch Tower Bible and Tract Society of Pennsylvania.TERMS OF USE  |  PRIVACY POLICY
Study Pane
Joel Outline
Jehovah’s day and his great army (1-11)
A call to return to Jehovah (12-17)
“Rip apart your hearts” (13)
Jehovah’s response to his people (18-32)
“I will pour out my spirit” (28)
Wonders in heaven and on earth (30)
Those calling on Jehovah’s name will be saved (32)
Joel 2:1
Footnotes
Or “earth.”
Marginal References
a Eze 33:2, 3; Am 3:6
b Zep 1:14; Zep 1:16; Mal 4:1
Joel 2:2
Marginal References
c Am 5:18; Am 5:20
d Zep 1:15
e Joe 1:6
Joel 2:3
Marginal References
f Joe 1:19
g Ge 2:8
Joel 2:4
Marginal References
h Re 9:7
Joel 2:5
Marginal References
i Re 9:9
j Pr 30:27
Joel 2:8
Footnotes
Or “missiles.”
Joel 2:10
Marginal References
k Joe 2:31; Mt 24:29; Lu 21:25; Re 9:2
Joel 2:11
Marginal References
l Joe 2:25
m Joe 2:2
n Jer 30:7; Am 5:18; Zep 1:15
o Re 6:16, 17
Joel 2:12
Marginal References
p Jer 4:1; Ho 12:6; Ho 14:1, 2
q 1Sa 7:6; 2Ch 20:3
Joel 2:13
Footnotes
Or “gracious.”
Or “feel regret over.”
Marginal References
r 2Ki 22:18, 19; Ps 51:17; Isa 57:15
s 2Sa 1:11, 12
t Isa 48:9
u Ex 34:6; Nu 14:18; Ne 9:17; Ps 106:44, 45; Mic 7:18, 19
Joel 2:14
Footnotes
Or “feel regret.”
Marginal References
v 2Ch 30:8, 9; Jer 18:7, 8; Zep 2:2, 3
Joel 2:15
Footnotes
Lit., “Sanctify.”
Marginal References
w Joe 1:14
Joel 2:16
Footnotes
Or “the elders.”
Marginal References
x Ex 19:10
y De 31:12; 2Ch 20:3; 2Ch 20:13
Joel 2:17
Marginal References
z 2Ch 8:12
a De 32:26, 27; Ps 79:9, 10; Mic 7:10
Joel 2:18
Marginal References
b De 32:36; Isa 60:10; La 3:22; Ho 11:8
Joel 2:19
Marginal References
c Isa 62:8, 9; Am 9:13; Mal 3:10
d Eze 34:29; Eze 36:15
Joel 2:20
Footnotes
Lit., “face.”
That is, the Dead Sea.
That is, the Mediterranean Sea.
Marginal References
e Isa 34:2, 3
Joel 2:22
Marginal References
f Isa 30:23; Isa 51:3
g Eze 34:27
h Am 9:14; Zec 8:12
Joel 2:23
Marginal References
i Isa 12:6; Zec 10:7
j Le 26:4; De 11:14
Joel 2:24
Marginal References
k Le 26:10; Am 9:13; Mal 3:10
Joel 2:25
Marginal References
l Joe 1:4
Joel 2:26
Marginal References
m Le 26:5
n De 26:10, 11
o Zep 3:11
Joel 2:27
Marginal References
p Ps 46:5
q Le 26:11, 12; Eze 37:26, 27
Joel 2:28
Marginal References
r Isa 32:15; Isa 44:3; Eze 39:29
s Ac 2:16-18
Joel 2:30
Footnotes
Or “portents.”
Marginal References
t Ac 2:19, 20
Joel 2:31
Marginal References
u Mt 24:29; Mr 13:24, 25; Lu 21:25; Re 6:12
v Zep 1:14, 15; Mal 4:5
Joel 2:32
Marginal References
w Ac 2:21; Ro 10:13
x Ob 1:17


Replace Time Series Insights with Azure Data Explorer

Time Series Insights is being retired and we are suggesting ADX as an alternative to our customers now. This diagram should be updated to reflect that.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 88559925-9b9e-d9b3-ddb6-08306692c17b
Version Independent ID: a25055cb-7cfe-28a0-1c66-06172c037128
Content: Data store decision tree - Azure Application Architecture Guide
Content Source: docs/guide/technology-choices/data-store-decision-tree.md
Service: architecture-center
Sub-service: guide
GitHub Login: @dsk-2015
Microsoft Alias: pnp

@andresu13
Thanks for your feedback! We will investigate and update as appropriate.


RNFtools resurrection

Make RNFtools work again !!
Remove SMBL dependencies and move the employed functions directly to RNFtools
Use GNU Make for tests and examples
Several minor updates (e.g., communication with PyPI)


Parse "securitySchemes" section

Parse securitySchemes section of the OpenAPI document in components

In progress.

Work completed.


Fix double-hashing & getDistinctIndices

Fixes https://github.com/kblauhut/bloomit/issues/4
Fixes https://github.com/kblauhut/bloomit/issues/3
(This is a breaking change in the sense that the lib will start producing different hashes for a given input)

Thanks a lot for your contribution :)
Glad to have some refactoring as well in here.
I will release this as 2.0.0.

(I've just discovered a bug in this pr, sorry - will raise another with the fix)


Don't seem to match theme, not sure if intentional

Should be darker

What specifically should be darker?

Sorry Accidentally deleted the work. Dropdowns. I think they should be darker.

It could probably be a bit darker, but I usually see design like this for buttons and dropdowns on other dark themes:

Usually high contrast accessibility themes look more like this, and I am not a fan:


Upgrade python version to 3.11

Describe the background

Upgrade python version to 3.11
Describe the feature

Upgrade python version to 3.11

The libtorrent doesn't support Python3.11 right now.
arvidn/libtorrent#7265
https://github.com/Tribler/tribler/issues/7282


eval "$(boot2docker shellinit)" does not work via subprocess in Python 2.7 on Win7-64bit

Env: Win7-64, python2.7 boot2docker-cli v1.6.2
Problem: each time I open a new git bash session, I need to type eval "$(boot2docker shellinit)", otherwise I would get error

Typing the command directly in bash command window could solve this problem.
Reproduce: If this command is executed with subprocess in Python:
cmd = [r'C:\Program Files (x86)\Git\bin\bash.exe',  '-c', 'eval "$(boot2docker shellinit)"']
subprocess.call(cmd)
The command would not produce any errors and have the same output as working ones. But actually it does not have any effect.

BTW. directly typing boot2docker shellinit in git bash also doesn't work.
Did I miss something?

I got this too - you have to convert the path in DOCKER_CERT_PATH to use an msys format path, ie:
export DOCKER_CERT_PATH='/c/Users/zhoucli/.boot2docker/certs/boot2docker-vm'
This does seem like a bug though - shellinit should output the correct format path.

Sorry ignore the above, I misread the OP - my issue turned out to be boot2docker/boot2docker-cli#369.

I guess my problem could be a python issue. I'm wondering does anyone else have met this problem before?


Form blocking loading overlay

Bug, feature request, or proposal:
Feature request
What is the expected behavior?
Modal or div loading overlay similar to the style that firebase dashboard uses:

What is the use-case or motivation for changing an existing behavior?
Quite you need to lock forms after a submit, so that users cannot change values or click links while a long running process is running.

I don't think we need a component for this- you should be able to accomplish it with the md-spinner and some CSS.


chore: CVE-2022-2564 in mongoose, medici packages

Fixes CVE-2022-2564
Related to https://github.com/GaloyMoney/galoy/pull/1514

[x] TODO: Test to make sure the mongodb issues do no persist from the previous yarn.lock changes. (See comment below with make check-code logs).

In a previous PR the multiple versions of mongodb prevent parts of the app from working.  This PR relies on the fix here https://github.com/flash-oss/medici/pull/74
In order to reproduce this PR, run the following commands:
$ yarn upgrade medici
$ yarn upgrade mongoose
$ yarn upgrade migrate-mongo
$ yarn upgrade @types/migrate-mongo

The preliminary make check-code looks good here.
$  npm_config_target_arch=x64 yarn install && make check-code
yarn install v1.22.19
[1/5] 🔍  Validating package.json...
[2/5] 🔍  Resolving packages...
[3/5] 🚚  Fetching packages...
[4/5] 🔗  Linking dependencies...
warning "firebase-admin > @firebase/database-compat > @firebase/database ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^0.13.0 || ^14.0.0 || ^15.0.0".
warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^2.0.0".
warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0".
warning "spectaql ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning "spectaql ><EMAIL_ADDRESS>has unmet peer dependency "motion-ui@latest".
warning "spectaql ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>[5/5] 🔨  Building fresh packages...
✨  Done in 3.34s.
yarn tsc-check-noimplicitany
yarn run v1.22.19
$ tsc --noEmit -p tsconfig.no-implicit-any.json --skipLibCheck
✨  Done in 4.05s.
yarn tsc-check
yarn run v1.22.19
$ tsc --noEmit -p tsconfig.d.json && tsc --noEmit --skipLibCheck
✨  Done in 10.93s.
yarn eslint-check
yarn run v1.22.19
$ eslint "{src,test}/**/*.ts"
✨  Done in 16.71s.
yarn build
yarn run v1.22.19
$ tsc -p tsconfig-build.json --skipLibCheck && cp -R src/services/price/protos lib/services/price/ && cp -R src/services/dealer-price/proto lib/services/dealer-price/ && tscpaths -p tsconfig.json -s ./src -o ./lib
tscpaths --project /Users/adam2k/Documents/galoy/tsconfig.json --src /Users/adam2k/Documents/galoy/src --out /Users/adam2k/Documents/galoy/lib
/Users/adam2k/Documents/galoy/lib/app/errors.js: replaced 18 paths
/Users/adam2k/Documents/galoy/lib/app/index.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/config/schema.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/config/yaml.js: replaced 7 paths
/Users/adam2k/Documents/galoy/lib/graphql/error-map.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/error.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/helpers.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/servers/auth-router.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/servers/cron.js: replaced 7 paths
/Users/adam2k/Documents/galoy/lib/servers/daily-balance-notification.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/servers/exporter.js: replaced 14 paths
/Users/adam2k/Documents/galoy/lib/servers/graphql-admin-server.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/servers/graphql-main-server.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/servers/graphql-server.js: replaced 7 paths
/Users/adam2k/Documents/galoy/lib/servers/trigger.js: replaced 16 paths
/Users/adam2k/Documents/galoy/lib/services/geetest.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/jwt.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/pubsub.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/tracing.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/services/twilio.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/active-accounts.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/add-earn.js: replaced 9 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/add-new-contact.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/add-wallet.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/get-account-transactions-for-contact.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/get-contact-by-username.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/get-csv-for-account.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/get-transactions-for-account.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/index.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/send-default-wallet-balance-to-users.js: replaced 8 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/set-username.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/update-account-level.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/update-account-status.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/update-business-map-info.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/update-contact-alias.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/update-default-walletid.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/app/accounts/username-available.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/app/admin/backup.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/app/admin/index.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/app/cold-storage/get-balances.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/app/cold-storage/rebalance-to-cold-wallet.js: replaced 11 paths
/Users/adam2k/Documents/galoy/lib/app/cold-storage/rebalance-to-hot-wallet.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/app/lightning/delete-ln-payments.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/app/lightning/get-balances.js: replaced 9 paths
/Users/adam2k/Documents/galoy/lib/app/lightning/list-nodes-pubkeys.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/app/lightning/lookup-invoice-by-hash.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/app/lightning/lookup-payment-by-hash.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/app/lightning/payment-status-checker.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/app/lightning/update-ln-payments.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/app/payments/get-protocol-fee.js: replaced 8 paths
/Users/adam2k/Documents/galoy/lib/app/payments/helpers.js: replaced 9 paths
/Users/adam2k/Documents/galoy/lib/app/payments/send-intraledger.js: replaced 17 paths
/Users/adam2k/Documents/galoy/lib/app/payments/send-lightning.js: replaced 19 paths
/Users/adam2k/Documents/galoy/lib/app/payments/translations.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/app/payments/update-pending-payments.js: replaced 11 paths
/Users/adam2k/Documents/galoy/lib/app/prices/get-current-price.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/app/prices/get-price-history.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/app/shared/mid-price.js: replaced 7 paths
/Users/adam2k/Documents/galoy/lib/app/users/create-user.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/app/users/delete-2fa.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/app/users/generate-2fa.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/app/users/get-user.js: replaced 7 paths
/Users/adam2k/Documents/galoy/lib/app/users/index.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/app/users/login.js: replaced 9 paths
/Users/adam2k/Documents/galoy/lib/app/users/request-phone-code.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/app/users/save-2fa.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/app/users/update-language.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/app/wallets/add-invoice-for-wallet.js: replaced 8 paths
/Users/adam2k/Documents/galoy/lib/app/wallets/check-limit-helpers.js: replaced 9 paths
/Users/adam2k/Documents/galoy/lib/app/wallets/create-on-chain-address.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/app/wallets/get-balance-for-wallet.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/app/wallets/get-last-on-chain-address.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/app/wallets/get-on-chain-fee.js: replaced 10 paths
/Users/adam2k/Documents/galoy/lib/app/wallets/get-transaction-by-id.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/app/wallets/get-transactions-by-hash.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/app/wallets/get-transactions-for-wallet.js: replaced 13 paths
/Users/adam2k/Documents/galoy/lib/app/wallets/index.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/app/wallets/reimburse-fee.js: replaced 8 paths
/Users/adam2k/Documents/galoy/lib/app/wallets/send-on-chain.js: replaced 19 paths
/Users/adam2k/Documents/galoy/lib/app/wallets/update-on-chain-receipt.js: replaced 16 paths
/Users/adam2k/Documents/galoy/lib/app/wallets/update-pending-invoices.js: replaced 13 paths
/Users/adam2k/Documents/galoy/lib/domain/accounts/account-validator.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/accounts/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/accounts/index.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/domain/accounts/limits-checker.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/domain/accounts/new-limits-checker.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/domain/bitcoin/index.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/cache/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/captcha/error.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/cold-storage/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/cold-storage/index.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/dealer-price/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/fiat/index.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/ipfetcher/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/ledger/activity-checker.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/domain/ledger/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/ledger/fee-reimbursement.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/ledger/imbalance-calculator.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/domain/ledger/index.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/domain/lock/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/notifications/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/payments/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/payments/index.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/payments/ln-fees.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/domain/payments/payment-flow-builder.js: replaced 7 paths
/Users/adam2k/Documents/galoy/lib/domain/payments/payment-flow.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/domain/payments/price-ratio.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/domain/payments/route-validator.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/phone-provider/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/price/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/pubsub/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/rate-limit/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/rate-limit/index.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/twoFA/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/users/index.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/domain/users/phone-metadata-validator.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/users-ips/ip-metadata-validator.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/wallet-invoices/wallet-invoice-builder.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/domain/wallet-invoices/wallet-invoice-receiver.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/wallets/deposit-fee-calculator.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/wallets/index.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/wallets/payment-input-validator.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/domain/wallets/tx-history.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/domain/wallets/withdrawal-fee-calculator.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/index.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/mutations.js: replaced 9 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/queries.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/main/index.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/main/mutations.js: replaced 34 paths
/Users/adam2k/Documents/galoy/lib/graphql/main/queries.js: replaced 13 paths
/Users/adam2k/Documents/galoy/lib/graphql/main/subscriptions.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/servers/middlewares/healthz.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/servers/middlewares/wallet-id.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/services/bitcoind/index.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/cache/local-cache.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/services/cache/redis-cache.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/services/cold-storage/index.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/services/dealer-price/dealer-price.js: replaced 7 paths
/Users/adam2k/Documents/galoy/lib/services/ipfetcher/index.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/services/ledger/admin-legacy.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/services/ledger/admin.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/services/ledger/csv-wallet-export.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/ledger/facade.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/services/ledger/index.js: replaced 8 paths
/Users/adam2k/Documents/galoy/lib/services/ledger/intraledger.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/services/ledger/receive.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/services/ledger/schema.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/ledger/send.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/services/ledger/tx-metadata.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/services/ledger/volume.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/services/lnd/auth.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/lnd/health.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/services/lnd/index.js: replaced 9 paths
/Users/adam2k/Documents/galoy/lib/services/lnd/onchain-service.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/services/lnd/schema.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/lnd/unauth.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/lnd/utils.js: replaced 10 paths
/Users/adam2k/Documents/galoy/lib/services/lock/index.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/services/mongodb/index.js: replaced 8 paths
/Users/adam2k/Documents/galoy/lib/services/mongoose/accounts.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/services/mongoose/ln-payments.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/services/mongoose/phone-code.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/mongoose/rewards.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/mongoose/schema.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/services/mongoose/users-ips.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/services/mongoose/users.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/services/mongoose/wallet-invoices.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/services/mongoose/wallet-on-chain-addresses.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/services/mongoose/wallets.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/notifications/create-push-notification-content.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/services/notifications/index.js: replaced 7 paths
/Users/adam2k/Documents/galoy/lib/services/notifications/push-notifications.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/services/payment-flow/index.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/services/price/index.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/services/rate-limit/index.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/services/redis/index.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/redis/routes.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/domain/bitcoin/lightning/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/bitcoin/lightning/index.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/bitcoin/lightning/ln-invoice.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/domain/bitcoin/onchain/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/bitcoin/onchain/index.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/domain/bitcoin/onchain/tx-decoder.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/types/index.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/account-update-default-wallet-id.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/captcha-create-challenge.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/captcha-request-auth-code.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/device-notification-token-create.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/index.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/intraledger-payment-send.js: replaced 9 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/intraledger-usd-payment-send.js: replaced 9 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/ln-invoice-create-on-behalf-of-recipient.js: replaced 9 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/ln-invoice-create.js: replaced 8 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/ln-invoice-fee-probe.js: replaced 8 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/ln-invoice-payment-send.js: replaced 8 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/ln-noamount-invoice-create-on-behalf-of-recipient.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/ln-noamount-invoice-create.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/ln-noamount-invoice-fee-probe.js: replaced 9 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/ln-noamount-invoice-payment-send.js: replaced 10 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/ln-noamount-usd-invoice-fee-probe.js: replaced 9 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/ln-noamount-usd-invoice-payment-send.js: replaced 10 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/ln-usd-invoice-create-on-behalf-of-recipient.js: replaced 9 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/ln-usd-invoice-create.js: replaced 8 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/ln-usd-invoice-fee-probe.js: replaced 9 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/on-chain-address-create.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/on-chain-address-current.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/onchain-payment-send-all.js: replaced 9 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/onchain-payment-send.js: replaced 10 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/twofa-delete.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/twofa-generate.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/twofa-save.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/user-contact-update-alias.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/user-login.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/user-quiz-question-update-completed.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/user-request-auth-code.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/user-update-language.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/mutation/user-update-username.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/query/account-default-wallet-id.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/query/account-default-wallet.js: replaced 8 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/query/btc-price-list.js: replaced 7 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/query/btc-price.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/query/business-map-markers.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/query/globals.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/query/me.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/query/mobile-versions.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/query/on-chain-tx-fee-query.js: replaced 9 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/query/quiz-questions.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/query/username-available.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/subscription/ln-invoice-payment-status.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/subscription/my-updates.js: replaced 16 paths
/Users/adam2k/Documents/galoy/lib/graphql/root/subscription/price.js: replaced 8 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/abstract/account.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/abstract/error.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/abstract/initiation-via.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/abstract/public-wallet.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/abstract/settlement-via.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/abstract/wallet.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/account-contact.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/btc-wallet.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/build-information.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/consumer-account.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/coordinates.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/globals.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/graphql-user.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/input-error.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/ln-invoice.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/ln-noamount-invoice.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/map-info.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/map-marker.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/mobile-versions.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/onchain-tx-fee.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/payment-error.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/price-point.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/price.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/quiz-question.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/transaction.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/twofa-secret.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/usd-wallet.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/object/user-quiz-question.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/account-update-default-wallet-id.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/auth-token.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/captcha-create-challenge.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/cent-amount.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/ln-invoice-payment-status.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/ln-invoice.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/ln-noamount-invoice.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/on-chain-address.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/payment-send.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/price.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/sat-amount.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/success-payload.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/twofa-generate.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/user-contact-update-alias.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/user-quiz-question-update-completed.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/user-update-language.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/payload/user-update-username.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/auth-token.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/cent-amount.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/contact-alias.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/exchange-currency-unit.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/hex32bytes.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/input-error-code.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/invoice-payment-status.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/language.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/ln-payment-preimage.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/ln-payment-request.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/ln-payment-secret.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/ln-payment-status.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/ln-pubkey.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/memo.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/on-chain-address.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/onchain-tx-hash.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/one-time-auth-code.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/payment-error-code.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/payment-hash.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/payment-send-result.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/phone.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/price-graph-range.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/safe-int.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/sat-amount.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/signed-amount.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/target-confirmations.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/timestamp.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/tx-direction.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/tx-notification-type.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/tx-status.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/username.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/wallet-currency.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/types/scalar/wallet-id.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/services/ledger/domain/accounts.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/ledger/domain/entry-builder.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/ledger/domain/errors.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/ledger/domain/legacy-entry-builder.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/services/ledger/services/transactions-metadata.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/root/mutation/account-add-usd-wallet.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/root/mutation/account-update-level.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/root/mutation/account-update-status.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/root/mutation/business-update-map-info.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/root/mutation/cold-storage-rebalance-to-hot-wallet.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/root/query/account-details-by-phone.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/root/query/account-details-by-username.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/root/query/all-levels.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/root/query/all-walletids.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/root/query/lightning-invoice.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/root/query/lightning-payment.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/root/query/transaction-by-id.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/root/query/transactions-by-hash.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/root/query/wallet.js: replaced 4 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/types/object/account.js: replaced 6 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/types/object/lightning-invoice.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/types/object/lightning-payment.js: replaced 7 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/types/object/psbt-detail.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/types/object/user.js: replaced 5 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/types/payload/account-detail.js: replaced 2 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/types/payload/psbt-detail.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/types/payload/wallet-details.js: replaced 3 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/types/scalar/account-level.js: replaced 1 paths
/Users/adam2k/Documents/galoy/lib/graphql/admin/types/scalar/account-status.js: replaced 2 paths
Replaced 1286 paths in 338 files
✨  Done in 4.96s.

yarn upgrade does not update package.json (this needs to be updated too)

yarn upgrade does not update package.json (this needs to be updated too)

this is indeed the command that should be used: yarn add medici --latest

thanks @adam2k !


fix: cors when download an image

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR type

[x] Bugfix
[ ] Feature
[ ] Refactoring

What's new?

[x] PR closes #4772

Before submitting Pull Request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[ ] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </rmrk/collection/26902bc2f7c20c546a-1FVG7>
[ ] I've tested PR on mobile and everything seems works
[ ] I found edge cases
[ ] I've written some unit tests 🧪

Had issue bounty label?

[x] Fill up your KSM address: Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot

[ ] My fix has changed something on UI; a screenshot is best to understand changes for others.

pay 50 usd

😍 Perfect, I’ve sent the payout
💵 $50 @ 33.68 USD/KSM ~ 1.485 $KSM
🧗 DY4SQF2iD456tH89aQtz5wv1EV3BbSW8wKKuMcwbmXaj1pM
🔗 0x03bdf6d65a5e0938b1ef847b686873f0ebbcc8b6c2bbfcf5c4fa791ee4eae9e6
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


Use consumerProguard

Use consumer proguard to android build tools to automatically merge your proguard rules.

Fixed. Will be part of 1.1 upgrade


Commas in channel names mess everything up

It looks like if the channel name in the original m3u has a comma, it will break how that channel is recreated in the output file.
For example, it will take this:
#EXTINF:-1 tvg-id="ABC (WKBW) Buffalo, NY HD" tvg-name="ABC East CA SD" tvg-logo="http://xxxxx/xxxx/picons/abceastcasd.png" group-title="US/CA Entertainment",ABC East CA SD
And turn it into this:
#EXTINF:-1 tvg-name="ABC East CA SD" tvg-id="ABC (WKBW) Buffalo, NY HD" tvg-logo="http://xxxxx/xxxx/picons/abceastcasd.png" group-title="US/CA Entertainment", NY HD" tvg-name="ABC East CA SD" tvg-logo="http://xxxxx/xxxx/picons/abceastcasd.png" group-title="US/CA Entertainment"
When it should look like this:
#EXTINF:-1 tvg-name="ABC East CA SD" tvg-id="ABC (WKBW) Buffalo, NY HD" tvg-logo="http://xxxxx/xxxx/picons/abceastcasd.png" group-title="US/CA Entertainment",ABC East CA SD
I changed line 51 from this
self.name = m3u_fields.split(",")[1]
to this
self.name = m3u_fields.split('",')[1]
I'm not sure that's the best way to do it, but it seemed to fix my issue.

Thanks for that, it's a fair point. I'll take a look to see what I can do to cope with it asap

https://github.com/jjssoftware/m3u-epg-editor/commit/b32aa40ac0f8e04ff8b2751681dc93697de9b4a4 should resolve it - pretty much the same as your fix


SAC agent working on Pendulum-v0

A lot of todo items:

adjust the alpha parameter according to the target entropy
pytorch support
support container action spaces
save/restore of the agent
summaries

Thanks so much for the PR!
Seems there is a small merge conflict in the agent:
<<<<<<< master
        #self._q_vars_splitter = ContainerSplitter(*q_names, scope="q_vars_splitter")
=======
        self._q_vars_splitter = ContainerSplitter(*q_names, scope="q_vars_splitter")
>>>>>>> sac_development

Hi Janislav, thanks so much for the PR. We'll take care of it most likely this weekend.

Fixed the conflicts

I will merge this in the SAC branch now and then make sure it goes into master asap.
Thanks again!

Yeah there is some clean up to follow - update to master, go over all of the todos I introduced, etc. This is more of a preview. Thanks for the support!


added security module with checks

Motivation
JIRAS: 1, 2, 3
Description
Add individual device checks as per the JIRAs listed above.
Progress

[x] Jailbreak
[x] Device lock
[x] Debugger check

Verification
This PR can be verified together with this one.

Clone this branch
Use the included scripts to clone the showcase application to within the sdk.
Check out the linked branch of the showcase app above
Run the showcase application and verify that all device trust checks perform as expected

@StephenCoady Totally forgot about this one.
Showcase app should be working now.

@aidenkeating I will ping you as soon as I have the other PR open so verification will be easier. @wtrocki thanks, just writing the code now. thanks guys

ping @wtrocki @aidenkeating @wtrocki @rachael-oregan could you guys take another look if you get a chance please

I really wanted to do some unit testing here but nature of this changes make this really hard.

@StephenCoady ./scripts/development.sh - execute this

@StephenCoady Just as a side note, the clone script seems to have a syntax error
(cd showcase && && LOCAL=true pod install)

@StephenCoady There's an issue with device lock message being red when the device lock is enabled and green when it's disabled. Other than that everything looks good

Should there be more consistent naming across the SDK's, at least with the positive/negative scheme?
Android

NOT_ROOTED
NOT_IN_EMULATOR
SCREEN_LOCK_ENABLED
NO_DEBUGGER

iOS

IsJailbrokenCheck
IsEmulatorCheck
IsDeviceLockCheck
IsDebuggerCheck

@TommyJ1994 you are right. I have pushed with the refactor in place. Could you take a look and let me know if thats ok.

@StephenCoady Looks good!


Custom JWT verifier

Is it possible to use custom JWT verifier (in Thorntail or others)?
Example.: I would like to use Elliptic Curve (EC256 in doc) instead of RS256 with additional content (public key, like self signed cert where public key is the ID)

@readonlynetwork is the JWS token sequence is all you would need or will you also require an access to the mutual TLS client cert (not sure what you meant by the the publlic key is ID)

@sberyozkin I mean the principal name is generated from public key.


willTransitionTo regression in 0.12.2

With the update to 0.12.2 my willTransitionTo hook is never being called. It's nested in a reasonably complex app, so extracting out the precise point of failure would take some work, but I wanted to create an issue to get it on your radar.
Reverting to 0.12.0 solved the problem.

@mshick Thanks for the report. A failing test case would be invaluable here.

After some digging it seems to be because a DefaultRoute with a name property is now ignored. I wonder if this is intentional? I was using route names to coordinate some app actions, so this puts a crimper in that.

Here's a simple test I set up: https://gist.github.com/37d11269063ecfdda22e
If you try running that it will just hit up the App route. If you remove name="Dashboard" from the default route it will work as expected.

@mshick Ah, I see what you mean. Yes, this is indeed a regression. We don't have a test for it :/
Working one up now.

@mshick The fix for this regression is released in 0.12.3. Sorry about that!

Thanks for the quick attention, and the project.


can I use your binance interface with original backtrader?

Hello, You say "Please use backtrader from my repository (as your can push your commits in it)." I donn't know the exact meaning of this sentence.
I wonder if I can use your binance interface with original backtrader?

Here is the link: https://github.com/mementum/backtrader/pull/472


EXPERIMENT: refactor graph traversal to replace leavesM

Relates to #3119
Scope:
A more integrated version of leavesM along its use in proveClaim, describing different return values as data instead of using exceptions.
We could further monomorphise it to use the simplifier monad (including logging) at the bottom of the monad stack.
Estimate:

Review checklist
The author performs the actions on the checklist. The reviewer evaluates the work and checks the boxes as they are completed.

[ ] Summary. Write a summary of the changes. Explain what you did to fix the issue, and why you did it. Present the changes in a logical order. Instead of writing a summary in the pull request, you may push a clean Git history.
[ ] Documentation. Write documentation for new functions. Update documentation for functions that changed, or complete documentation where it is missing.
[ ] Tests. Write unit tests for every change. Write the unit tests that were missing before the changes. Include any examples from the reported issue as integration tests.
[ ] Clean up. The changes are already clean. Clean up anything near the changes that you noticed while working. This does not mean only spatially near the changes, but logically near: any code that interacts with the changes!

Performance gain is currently around 1% across the kevm proofs.


Test PoolSwapTx execution failed: tx must have at least one input from account owner

Actual behavior:
I can't swap DFI on the DEX to another coin.
Expected behavior:
I can swap from DFI to any coin :-)
How to reproduce it (as minimally and precisely as possible):
Want to swap 10 DFI to DUSD or USDC

clicked on swap
error message apears:

--> Test PoolSwapTx execution failed: tx must have at least one input from account owner
What are your environment parameters?

DeFiCh/app Version: 2.8.1
Operating System (OS): Elementary OS 5.1 (Ubuntu Base)
– RAM (GB): 16
– CPU (Intel Core i5): 4 Core

Debug Logfile entry:
2021-12-10T10:58:59Z [wallet.dat] Fee Calculation: Fee:262 Bytes:227 Needed:262 Tgt:6 (requested 6) Reason:"Half Target 60% Threshold" Decay 0.96200: Estimation: (1102.5 - 1157.62) 100.00% 352.4/(352.4 0 mem 0.0 out) Fail: (0 - 1102.5) 100.00% 0.4/(0.4 0 mem 0.0 out)
The other side, from DUSD to DFI worked!

Hi @cyrus1683 , may I check that you've more than 1 DFI (UTXO)? Do you have multiple addresses?
Difference between DFI (UTXO) & DFI (Token) can be found here: https://github.com/DeFiCh/app/discussions/846

@izzycsy
Thanks, that was the problem. It's solved now!


NP in the last section

Hi! I have an idea to add import numpy as np
at the beginning of the code, because without it the final piece of code
for i in torch.topk(results, k=3).indices.tolist()[0]:     print(f"{model.id2label[i]}: {np.round(results.flatten()[i].item(), 3)}")
does not work and it may not be obvious to all users.

@starnekit  Thank you


ES6: "JSDoc does not currently handle ExportDeclaration nodes."

I am getting the following error msg when using jsdoc on a very simple es6 file:
JSDoc does not currently handle ExportDeclaration nodes.

Any ideas? Tried it with several templates, always the same error.

@stefanwalther Are you using the dev version in your project? npm install git+https://github.com/jsdoc3/jsdoc.git a lot of the ES6 stuff doesn't work with the current version in NPM.

Ok, Thx, will try

ES6 errors don't pop up anymore when installed from GIT

Yeah, this is definitely because you're not using the dev version of JSDoc. The current release (JSDoc 3.3.2) does not support ES 2015 code.


Searxng and Perplexica are not working properly

All config are default, nothing changed after git clone and habor installation steps.
I am using ollama instance running outside of docker (not the harbor ollama), which can be accessed by webui when used for chat.
(base) harbor$ harbor doctor
19:48:52 [INFO] Running Harbor Doctor...
19:48:52 [INFO] ✔ Docker is installed and running
19:48:52 [INFO] ✔ Docker Compose (v2) is installed
19:48:52 [INFO] ✔ .env file exists and is readable
19:48:52 [INFO] ✔ default profile exists and is readable
19:48:52 [INFO] ✔ Harbor workspace directory exists
19:48:52 [INFO] ✔ CLI is linked
19:48:52 [WARN] ✘ NVIDIA Container Toolkit is not installed. NVIDIA GPU support may not work.
19:48:52 [INFO] Harbor Doctor checks completed successfully.

harbor info
Harbor CLI version: 0.2.11
==========================
19:48:47 [INFO] Harbor active services:
boost
ollama
perplexica
perplexica-be
searxng
stt
tts
webui
==========================
Client: Docker Engine - Community
 Version:    27.3.1
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.17.1
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.29.7
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 13
  Running: 8
  Paused: 0
  Stopped: 5
 Images: 56
 Server Version: 27.3.1
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7f7fdf5fed64eb6a7caf99b3e12efcf9d60e311c
 runc version: v1.1.14-0-g2c9f560
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.8.0-41-generic
 Operating System: Ubuntu 24.04.1 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 56
 Total Memory: 251.8GiB
 Name:
 ID:
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

Searxng seem to return some results but they don't get passed to any LLM I try.

searxng log
(base) nulled@mail:~/Downloads/LLM_Applications/harbor$ harbor logs searxng
harbor.searxng  |   File "/usr/lib/python3.12/site-packages/httpx/_client.py", line 1617, in send
harbor.searxng  |     response = await self._send_handling_auth(
harbor.searxng  |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
harbor.searxng  |   File "/usr/lib/python3.12/site-packages/httpx/_client.py", line 1645, in _send_handling_auth
harbor.searxng  |     response = await self._send_handling_redirects(
harbor.searxng  |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
harbor.searxng  |   File "/usr/lib/python3.12/site-packages/httpx/_client.py", line 1682, in _send_handling_redirects
harbor.searxng  |     response = await self._send_single_request(request)
harbor.searxng  |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
harbor.searxng  |   File "/usr/lib/python3.12/site-packages/httpx/_client.py", line 1719, in _send_single_request
harbor.searxng  |     response = await transport.handle_async_request(request)
harbor.searxng  |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
harbor.searxng  |   File "/usr/lib/python3.12/site-packages/httpx/_transports/default.py", line 352, in handle_async_request
harbor.searxng  |     with map_httpcore_exceptions():
harbor.searxng  |          ^^^^^^^^^^^^^^^^^^^^^^^^^
harbor.searxng  |   File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__
harbor.searxng  |     self.gen.throw(value)
harbor.searxng  |   File "/usr/lib/python3.12/site-packages/httpx/_transports/default.py", line 77, in map_httpcore_exceptions
harbor.searxng  |     raise mapped_exc(message) from exc
harbor.searxng  | httpx.ConnectTimeout

Perplexica keeps looking for an answer, never ends.

harbor.perplexica  | yarn run v1.22.22
harbor.perplexica  | $ next start
harbor.perplexica  |    ▲ Next.js 14.1.4
harbor.perplexica  |    - Local:        http://localhost:3000
harbor.perplexica  |
harbor.perplexica  |  ✓ Ready in 1223ms

Hi, thanks for the detailed report!
There are a few items, I'll try to cover them one-by-one:

I am using ollama instance running outside of docker

That's perfectly fine, but I'd recommend removing ollama from the default services in Harbor in such case:
harbor defaults # see current
harbor defaults rm ollama # remove built-in ollama

Otherwise - all Harbor services will try using internal Ollama instance. It shares model cache with the host instance, which is why you might be seeing the same models available.
Note that removing it from defaults means that all the services talking to built-in Ollama won't be doing so configured to do so anymore (and you'll have to configure them manually). An alternative to avoid manual reconfiguration is to replace Harbor's internal Ollama URL with yours, as described in this issue
# <IP_ADDRESS> is the IP of your host within the container
# 11434 is the port for Ollama on the host
harbor config set ollama.internal_url  http://<IP_ADDRESS>:11434

Searxng seem to return some results but they don't get passed to any LLM I try.

This looks like one of two possible things:
Web search is enabled after the initial generation on the message
To solve, ensure that you're turning on "web search" before the first generation in the conversation, otherwise the RAG template might not be applied to the message upon first generation (and model won't see anything). Certain models are also very overfit to reply that they don't have access to the "current" information on such requests, even despite they do via RAG (Qwen 2.5 shouldn't be one of them, though, but I only tested with up to 14B)
Embedding model missing
By default, Open WebUI is configured with mxbai-embed-large:latest as embedder, it needs to be pulled via Ollama, otherwise the searches will fail to be embedded:
harbor ollama pull mxbai-embed-large:latest

If these doesn't help, I'd take a look at verbose logs of Open WebUI itself to understand specific prompts and content sent to the Ollama API.

Perplexica keeps looking for an answer, never ends.

Unfortunately, some of the settings (Embeddings config) can't be pre-configured so have to be done via the Perplexica UI. This is mentioned in the Service Wiki, I should make it more prominent there.
When working with Perplexica + Ollama combo there are a few things to keep in mind:

Check if the embedding and LLM models are what you want to use, they'll have a significant impact on overall quality of the output
Perplexica wants to make A LOT of embeddings
Ollama runs without concurrency by default - only one model (includes embedding models) can be loaded at any given moment in time, same applies for requests. So "normal" pipeline for Perplexica - query SearXNG, load embedding model in Ollama, run 15-20 embedding requests, load LLM in Ollama, run generate requests - it takes some time to process

In your instance specifically, it'll be very slow, due to a combination of factors:

Harbor's ollama runs by default - Perplexica will connect to it
Nvidia Container Toolkit not installed - Perplexica embeddings and LLM generation will be very slow since running on a CPU

Closing, feel free to follow up or open a new one if needed


Fix broken Birds Eye Plot tooltip with a unified new one

Requires https://github.com/VEuPathDB/web-components/pull/267
Issue is in web-components: https://github.com/VEuPathDB/web-components/issues/263

Reviewer(s) - please self-assign and approve trivial components PR when you review. Thanks!

It was impossible to fix the built-in mouseover of the Plotly-based Birds Eye Plot, so I implemented it on the EDA side, but putting the numbers into the WDK tooltip, and making the whole birds eye plot trigger it (quicker than the default time too).
I hope Outreach like the solution!

I also fixed the top-alignment that irked Steve.
Note that the new layout requires a minimum of around 1430 horizontal pixels to keep everything in one row.
When the legend was inside the main plot, we managed to fit in into 1280px (target minimum width)

Thanks Jamie. I'll merge tomorrow.
If anyone needs to merge before then, be my guest.

Could possibly remove the word 'that' from the first three definitions.
Please :+1: if you agree.


Error in query after building server clone

I am currently trying to run a a container on a QNAP NAS (I have successfully done this in the past on this same device)  with a x86 processor and 40Gb of RAM.
The building of the server using the clone option went pretty smoothly, but I get this runtime error: open64: /db/db/nodes.bin.idx File_Blocks_Index: Unsupported index file format version error that also shows up when I try any query.
I scavenged GH and StackOverflow, but could not even find a reference to somebody having the same problem.
runtime error: open64: /db/db/nodes.bin.idx File_Blocks_Index: Unsupported index file format version
It took 0 to run the loop. Desired load is: 1%. Sleeping: 3
runtime error: open64: /db/db/nodes.bin.idx File_Blocks_Index: Unsupported index file format version
It took 0 to run the loop. Desired load is: 1%. Sleeping: 3
runtime error: open64: /db/db/nodes.bin.idx File_Blocks_Index: Unsupported index file format version
It took 0 to run the loop. Desired load is: 1%. Sleeping: 3
runtime error: open64: /db/db/nodes.bin.idx File_Blocks_Index: Unsupported index file format version
It took 0 to run the loop. Desired load is: 1%. Sleeping: 3
<IP_ADDRESS> - - [01/Jun/2022:06:13:47 +0000] "GET / HTTP/1.1" 200 396 "-" "python-requests/2.25.0"
runtime error: open64: /db/db/nodes.bin.idx File_Blocks_Index: Unsupported index file format version
It took 0 to run the loop. Desired load is: 1%. Sleeping: 3
runtime error: open64: /db/db/nodes.bin.idx File_Blocks_Index: Unsupported index file format version
It took 0 to run the loop. Desired load is: 1%. Sleeping: 3
runtime error: open64: /db/db/nodes.bin.idx File_Blocks_Index: Unsupported index file format version
It took 1 to run the loop. Desired load is: 1%. Sleeping: 99
<IP_ADDRESS> - - [01/Jun/2022:06:14:23 +0000] "GET / HTTP/1.1" 200 396 "-" "python-requests/2.25.0"
<IP_ADDRESS> - - [01/Jun/2022:06:15:05 +0000] "GET / HTTP/1.1" 200 396 "-" "python-requests/2.25.0"
runtime error: open64: /db/db/nodes.bin.idx File_Blocks_Index: Unsupported index file format version
It took 0 to run the loop. Desired load is: 1%. Sleeping: 3
runtime error: open64: /db/db/nodes.bin.idx File_Blocks_Index: Unsupported index file format version
It took 0 to run the loop. Desired load is: 1%. Sleeping: 3
runtime error: open64: /db/db/nodes.bin.idx File_Blocks_Index: Unsupported index file format version
It took 0 to run the loop. Desired load is: 1%. Sleeping: 3

@pedrocamargo I just run in the exactly same problem. I run the container on a Ubuntu x86 server, started also with the clone option. I have initialised with cloning exactly the same setup & config successfully +5 times in the past 2 years.

Looks like this is documented in the release notes for v 0.7.57: https://wiki.openstreetmap.org/wiki/Overpass_API/versions
It doesn't look like this version is available from Docker Hub, which seems to be the cause of the error (specifically when using replication).

I must have missed recent release announcements from Overpass team. New versions are available at Docker hub. Though I'm pretty confident that <IP_ADDRESS> was already available.
Please reopen if the issue persists.

You're totally right, it was under the latest tag. I assumed that latest was one of the older versions.
In any case, the latest version resolved all of my issues. Thanks so much for your work on this!

It is working perfectly, and I think @richiemorrisroe-oh hit the nail on the head when raised the issue of the latest version being tagged to an older one.  It was probably the case!

i have the same problem actually, using the latest tag.
V0.57.9 has been released the 2022-10-14


Investigate xdelta3

https://github.com/jmacd/xdelta
What are its pros/cons vs. zsync?

@probonopd we haven't looked into this any further for a few months. Is it still of any relevance?

As I have not yet looked into it, I don't know what are its pros/cons vs. zsync would possibly be, but since we are now going with zsync and it is working well for us there is no immediate need to investigate this. Hence closing for now. Anyone is free to reopen this issue if they think we should look into it.


Pass Content-Type along to request

Was having some problems using this gem b/c of issues with a content-type: application/json. This one line solved my problem.

I merged another request that also fixed this, but thanks.


Clarify usage of custom timestamp format

Related to a recent discussion.

What versions can we backport to? I'm assuming all the way back to 1.0?


profile page

Create  :

[x] profile photo
[x] cover photo
[ ] the buttons and make them functional

/friends/followers/
/friends/following/
/friends/all/

The posts and interests endpoints will be provided later on

am currently working on this right-away

@iamgabrielsoft ive updated the issue, kindly check on it

@iamgabrielsoft ive updated the issue, kindly check on it


StickyView only works with headers that are as tall or shorter than the tab bar

The current approach in sticky view is to set the content to the height of the screen, which makes it flow under the tab bar, and then translate it up as the user scrolls until the user has scrolled to heightAboveView pixels, which means the header has been translated off screen.
However, since this approach translates the entire contents, including the ScrollView, this creates a gap at the bottom of the view that's heightAboveView pixels tall when fully scrolled. This sort of works at present if heightAboveView is shorter than the tab bar, because the gap is hidden by the tab bar, but it creates problems in Explore where the header being hidden is a bit taller, and on the map view, where there is no scrolling and the map is flowing under the tab bar anyway, making it hard to layout buttons.
My requirements here are

[ ] StickyView should work without flowing under the tab bar
[ ] Should support heightAboveView value that's greater than the height of the footer
[ ] Should never show a white gap at the bottom

Actually, is it possible we could just replace this with https://reactnative.dev/docs/scrollview#stickyheaderindices?

Explore screen addressed in https://github.com/inaturalist/iNaturalistReactNative/pull/1030. MyObservations still uses StickyView.


Parsing config to IOptions fails in production only

I'm using the IOptions pattern to parse my config file into a strongly typed class.
I'm doing this in ConfigureServices:
services.AddOptions();
services.Configure<StorageSettings>(Configuration.GetSection("StorageSettings"));

The StorageSettings class looks like this:
public class StorageSettings
{
	public ConnectionStrings ConnectionStrings { get; set; }
}

public class ConnectionStrings
{
	public TableStorageConnectionStrings TableStorage { get; set; }

	public EventHubConnectionStrings EventHubs { get; set; }

	public ServiceBusConnectionStrings ServiceBus { get; set; }
}

public class TableStorageConnectionStrings
{
	public string LogEntriesByAccount { get; set; }
}

public class EventHubConnectionStrings
{
	public string EventHubName { get; set; }

	public string IngestionQueue { get; set; }

	public string AccessKeyName { get; set; }

	public string AccessKeyToken { get; set; }

	public string ServiceNameSpace { get; set; }
}

public class ServiceBusConnectionStrings
{
	public string GlobalQueue { get; set; }
}

And my JSON configuration file looks like this:
{
	"SecuritySettings": {
		"SystemToken": "123"
	},
	"StorageSettings": {
		"ConnectionStrings": {
			"TableStorage": {
				"LogEntriesByAccount": "DefaultEndpointsProtocol=https;AccountName=account;AccountKey=key=="
			},
			"EventHubs": {
				"EventHubName": "myhub",
				"AccessKeyName": "key",
				"AccessKeyToken": "token",
				"ServiceNameSpace": "ns",
				"IngestionQueue": ""
			},
			"ServiceBus": {
				"GlobalQueue": "DISABLED"
			}
		}
	},
	"Logging": {
		"IncludeScopes": false,
		"LogLevel": {
			"Default": "Debug",
			"System": "Warning",
			"Microsoft": "Warning"
		}
	}
}

It works when running locally, and the config sections and properties are parsed just fine. But when running i Azure I get this error:
[13:54:40 INF] Starting up API in Production
Application startup exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: Failed to convert '@{LogEntriesByAccount=DefaultEndpointsProtocol=https;AccountName=mystore001;AccountKey=KEY====000}' to type 'MyApp.Storage.Configuration.TableStorageConnectionStrings'. ---> System.NotSupportedException: TypeConverter cannot convert from System.String.
   at System.ComponentModel.TypeConverter.GetConvertFromException(Object value)
   at System.ComponentModel.TypeConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value)
   at System.ComponentModel.TypeConverter.ConvertFromInvariantString(String text)
   at Microsoft.Extensions.Configuration.ConfigurationBinder.ConvertValue(Type type, String value)
   --- End of inner exception stack trace ---
   at Microsoft.Extensions.Configuration.ConfigurationBinder.ConvertValue(Type type, String value)
   at Microsoft.Extensions.Configuration.ConfigurationBinder.BindInstance(Type type, Object instance, IConfiguration config)
   at Microsoft.Extensions.Configuration.ConfigurationBinder.BindProperty(PropertyInfo property, Object instance, IConfiguration config)
   at Microsoft.Extensions.Configuration.ConfigurationBinder.BindNonScalar(IConfiguration configuration, Object instance)
   at Microsoft.Extensions.Configuration.ConfigurationBinder.BindInstance(Type type, Object instance, IConfiguration config)
   at Microsoft.Extensions.Configuration.ConfigurationBinder.BindProperty(PropertyInfo property, Object instance, IConfiguration config)
   at Microsoft.Extensions.Configuration.ConfigurationBinder.BindNonScalar(IConfiguration configuration, Object instance)
   at Microsoft.Extensions.Configuration.ConfigurationBinder.BindInstance(Type type, Object instance, IConfiguration config)
   at Microsoft.Extensions.Configuration.ConfigurationBinder.Bind(IConfiguration configuration, Object instance)
   at Microsoft.Extensions.Options.ConfigureFromConfigurationOptions`1.<>c__DisplayClass0_0.<.ctor>b__0(TOptions options)
   at Microsoft.Extensions.Options.ConfigureOptions`1.Configure(TOptions options)
   at Microsoft.Extensions.Options.OptionsCache`1.CreateOptions()
   at System.Threading.LazyInitializer.EnsureInitializedCore[T](T& target, Boolean& initialized, Object& syncLock, Func`1 valueFactory)
   at System.Threading.LazyInitializer.EnsureInitialized[T](T& target, Boolean& initialized, Object& syncLock, Func`1 valueFactory)
   at Microsoft.Extensions.Options.OptionsCache`1.get_Value()
   at Microsoft.Extensions.Options.OptionsManager`1.get_Value()
   at MyApp.Storage.Azure.EventHubAMQPIngestionQueue..ctor(IOptions`1 options, ILoggerFactory loggerFactory) in C:\Workspace\Dev\MyApp\src\MyApp.Storage\Azure\EventHubAMQPIngestionQueue.cs:line 29
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite.Invoke(ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.ScopedCallSite.Invoke(ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.SingletonCallSite.Invoke(ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.<>c__DisplayClass12_0.<RealizeService>b__0(ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider)
   at MyApp.API.Startup.ConfigureServices(IServiceCollection services) in C:\Workspace\Dev\MyApp\src\MyApp.API\Startup.cs:line 124
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at Microsoft.AspNetCore.Hosting.Internal.ConfigureServicesBuilder.Invoke(Object instance, IServiceCollection exportServices)
   at Microsoft.AspNetCore.Hosting.Internal.ConfigureServicesBuilder.<>c__DisplayClass4_0.<Build>b__0(IServiceCollection services)
   at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureServices(IServiceCollection services)
   at Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices()
   at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
Hosting environment: Production
Content root path: D:\home\site\wwwroot
Now listening on: http://localhost:23758
Application started. Press Ctrl+C to shut down.

I decided to create a test project to see if I could re-produce the issue in a small and more isolated project. I could not.
It turns out that my Azure App Service (Web App) instance that I'd used for a long time were the culprit - in desperation I deployed the project that failed in Azure to a new App Service instance and it started working.
I tried to delete a lot of folders using Kudu but it didn't work.
I also compared all Application Settings and verified they were the same.
I ended up deleting the App Service instance I was using in favor of a newly created one.
The test project I used is this one: https://github.com/martinnormark/ConfigOptionsTest


[update] finish select

Since there is a V1 that needs to be merge into this feature.
I will close this PR.


Bugfix/fix wildcard queries

Make sure that combined traversals work, split traversals for single and multi-series

Queries need to work for several cases:

1. When we combine series, sum
2. When we map series, absolute
3. When we reduce series, derivative
4. Combination of any

Since (1) is different from all the others, in the way it combines
series and has to do (apply mapv ...), we have to make a separate
function for it. FWIW, reducer and mapper _might_ be safely removed
from there.

To handle (2) and (3) in simpler way, `traverse-each!` was added,
that handles operations on singlular series.

I hope that one already works sufficiently well for all the cases, many tests, including integration ones are added. Contracts are established.

Hey @pyr could you take a look so I could continue further development? :)

Just letting you know, we are currently building from master but the graphite-api can not query past the first metric (i.e. can query * but not foo.*).  That is what I'm guessing this PR is supposed to fix.
So I built the jar using this branch and it failed to even validate a single query using graphite-api.  Meaning I couldn't even verify the source in grafana because a simple search (curl 'localhost:8000/metrics/find?query=*' fails on this branch.

You can use my docker-compose file located here to recreate.  The current jar being used is from master. But if you build from the one in this branch, place it there do a docker-compose build --no-cache && docker-compose up -d it should replace the cyanite instance with the new one.

Thanks for the hint @zbintliff I'll look right into it tonight!

No problem.  The current setup of the compose is grafana -> graphite-api (cyanite plugin) -> cyanite service.
Not sure if the change in this PR is supposed to require a change to the cyanite api plugin.

TBH I'd recommend using grafana directly without cyanite plugin. At least I don't see any advantage in using graphite-api there. Or if you can explain, I could learn something new :)

Didn't know that was possible! We are following the old documentation on cyanite.io.
Are you saying no intermediary api is needed for grafana to communicate with cyanite?

Yes, there's no api needed to communicate between grafana/cyanite as long as you're using grafana in "proxy" mode (which is a matter of picking the right item from the dropbox)...

Thanks for the tip! I am still unable to connect grafana to the cyanite http service 8080 the JAR built from this branch though (master can validate at least though!)

It seems that cyanite http service doesn't support as much functions as graphite-api does

Could you be a bit more elaborate @chaosong? As it might be that cyanite doesn't support them either :)

@zbintliff I've tried your query on the latest branch, it returns results just fine...
http://localhost:8080/metrics/find?query=*
[{"text":"STRESS","id":"STRESS","allowChildren":true,"expandable":true,"leaf":false},{"text":"internal","id":"internal","allowChildren":true,"expandable":true,"leaf":false}]

Could you please post the stacktrace here? Also, I'd advise to rebuild the jar (lein clean && lein uberjar) just in case.
I'm currently testing with make dev most of the time, since this is less prone to cached classfiles and stuff.

From branch master:
$ md5 target/cyanite-0.5.1-standalone.jar
MD5 (target/cyanite-0.5.1-standalone.jar) = 8c938249daad838ebdde916d592c416f
$ curl http://localhost:8080/metrics/find?query=*
[{"text":"docker","id":"docker","path":"docker","allowChildren":true,"expandable":true,"leaf":false}]
$ curl http://localhost:8080/metrics/find?query=docker.*
{"message":"Query execution failed"}

Stack Trace is quite large, here is the gist
Build off of branch bugfix/fix-wildcard-queries:
$ md5 target/cyanite-0.5.1-standalone.jar
MD5 (target/cyanite-0.5.1-standalone.jar) = 7ea605dc4e6ba58dd30260e1164f3b14
$ curl http://localhost:8080/metrics/find?query=*
[{"text":"docker","id":"docker","allowChildren":true,"expandable":true,"leaf":false}]np
$ curl http://localhost:8080/metrics/find?query=docker.*
{"message":"Query execution failed"}

Stack trace (looks the same)
Grafana can register the one off of master as a data source but not off of this branch.

All right.
Thing is that we use SASI indexes that first shipped with Cassandra 3.4 iirc. So Cyanite can't really work without them. At least that's what I can see from the stack trace (LIKE syntax unrecognised). Also, I'd say there's no reason not to be on 3.4 if you're already in 3.x world.

That was the issue.  I was use 3.0 which introduced the SASI indexes but I guess 3.4 introduced the syntax you were using.  Sorry to drag you through all of this in a PR

Unfortunately no, we don't have IRC or the mailing list so far. But I can set up one. I'm completely fine to handle it here though.
Ah, that's true, SASI was introduced earlier. Meant LIKE syntax, you're completely right there.

Ok, so now I can query and not get error but it seems like it is only ever returning one result instead of all paths.
To show you what I mean here is a print of my prefix table in Cassandra:
cqlsh> use metric;
cqlsh:metric> select * from path;

 prefix                             | path                                       | length
------------------------------------+--------------------------------------------+--------
         first.collectd.write_queue |    first.collectd.write_queue.queue_length |      4
        second.collectd.write_queue |   second.collectd.write_queue.queue_length |      4
  first.collectd.write_queue.derive |  first.collectd.write_queue.derive.dropped |      5
                    first.cpu.1.cpu |                       first.cpu.1.cpu.idle |      5
                    first.cpu.1.cpu |                  first.cpu.1.cpu.interrupt |      5
                    first.cpu.1.cpu |                       first.cpu.1.cpu.nice |      5
                    first.cpu.1.cpu |                    first.cpu.1.cpu.softirq |      5
                    first.cpu.1.cpu |                      first.cpu.1.cpu.steal |      5
                    first.cpu.1.cpu |                     first.cpu.1.cpu.system |      5
                    first.cpu.1.cpu |                       first.cpu.1.cpu.user |      5
                    first.cpu.1.cpu |                       first.cpu.1.cpu.wait |      5
                    first.cpu.0.cpu |                       first.cpu.0.cpu.idle |      5
                    first.cpu.0.cpu |                  first.cpu.0.cpu.interrupt |      5
                    first.cpu.0.cpu |                       first.cpu.0.cpu.nice |      5
                    first.cpu.0.cpu |                    first.cpu.0.cpu.softirq |      5
                    first.cpu.0.cpu |                      first.cpu.0.cpu.steal |      5
                    first.cpu.0.cpu |                     first.cpu.0.cpu.system |      5
                    first.cpu.0.cpu |                       first.cpu.0.cpu.user |      5
                    first.cpu.0.cpu |                       first.cpu.0.cpu.wait |      5
              second.collectd.cache |           second.collectd.cache.cache_size |      4
 second.collectd.write_queue.derive | second.collectd.write_queue.derive.dropped |      5
               first.collectd.cache |            first.collectd.cache.cache_size |      4
                   second.cpu.0.cpu |                 second.cpu.0.cpu.interrupt |      5
                   second.cpu.0.cpu |                      second.cpu.0.cpu.nice |      5
                   second.cpu.0.cpu |                   second.cpu.0.cpu.softirq |      5
                   second.cpu.0.cpu |                    second.cpu.0.cpu.system |      5
                   second.cpu.0.cpu |                      second.cpu.0.cpu.user |      5
                   second.cpu.0.cpu |                      second.cpu.0.cpu.wait |      5
                   second.cpu.1.cpu |                      second.cpu.1.cpu.nice |      5
                   second.cpu.1.cpu |                    second.cpu.1.cpu.system |      5
                   second.cpu.1.cpu |                      second.cpu.1.cpu.user |      5
                   second.cpu.1.cpu |                      second.cpu.1.cpu.wait |      5

Query just *
[cyanite/ (master *)]$ curl http://localhost:8080/metrics/find?query=*
[{"text":"first","id":"first","allowChildren":true,"expandable":true,"leaf":false},{"text":"second","id":"second","allowChildren":true,"expandable":true,"leaf":false}]

returns both children.
However if I search first.* it should return cpu and collectd but only returns collectd.
$ curl http://localhost:8080/metrics/find?query=first.*
[{"text":"collectd","id":"first.collectd","allowChildren":true,"expandable":true,"leaf":false}]

🎆 thank you @zbintliff, also thanks a lot for the docs patch and for giving cyanite a shot!

Still having issues actually querying metric (grafana shows blank and I get null messages). But I want to be absolutely sure its not a user error before posting here again.

Hm. The first and foremost is that we support not that many commands that graphite supports.
Hit me up on IRC (same nickname as here), feel free to post stacktraces in any quantity there.

Do you guys have a list of implemented/non-implemented graphite commands?
On Tue, Jul 19, 2016 at 10:53 PM αλεx π<EMAIL_ADDRESS>wrote:

Hm. The first and foremost is that we support not that many commands that
graphite supports.
Hit me up on IRC (same nickname as here), feel free to post stacktraces in
any quantity there.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pyr/cyanite/pull/216#issuecomment-233746089, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA8Y8TOJihhmIS6JGftRe169yTNtp3-6ks5qXSsggaJpZM4I5N9y
.

@asafm since we didn't yet have a release, no, not really. This branch is "in review" and so far this is the "most complete" implementation, so best list would be here: https://github.com/pyr/cyanite/blob/f503ee11275866f4295267d750bbb7cb48a24571/test/io/cyanite/query/ast_test.clj
So it's just sum, derivative, absolute and scale: we picked sample commands of each "type": ones that'd perform aggregations across metrics, within metric (stateful), and stateless.
Although adding new ones is trivial.

After talking to @leoleovich i've noticed that indexes will have hard times when working with extremely large data sets. While it is impossible to optimise for every use-case, I was able to significantly improve the situation with metrics that:
a) can be retrieved by fetching parent (anything that can be globbed like a.b.*
b) root queries are now super-fast (*)
c) a.*.c - like queries are the only ones that require filtering, but one has to pay for such queries, so I think it's fair: we allow them, but there's no way we can optimise them further
Schema is updated.

You did indeed get the queries running super fast for * however queries directly to a metric are still broken
time curl localhost:8080/paths?query=collectd_metrics.cyanite-cassandra.ip-*.aggregation-cpu-average.percent-user
[{"text":"percent-user","id":"collectd_metrics.cyanite-cassandra.ip-10-2-92-19.aggregation-cpu-average.percent-user","path":"collectd_metrics.cyanite-cassandra.ip-10-2-92-19.aggregation-cpu-average.percent-user","allowChildren":false,"expandable":false,"leaf":true}]
real	0m0.209s
user	0m0.000s
sys	0m0.000s

time curl localhost:8080/paths?query=collectd_metrics.cyanite-cassandra.ip-10-2-92-19.aggregation-cpu-average.percent-user
[{"text":"percent-user","id":"collectd_metrics.cyanite-cassandra.ip-10-2-92-19.aggregation-cpu-average.percent-user","path":"collectd_metrics.cyanite-cassandra.ip-10-2-92-19.aggregation-cpu-average.percent-user","allowChildren":false,"expandable":false,"leaf":true}]
real	0m13.618s
user	0m0.000s
sys	0m0.000s

@tehlers320  Did you migrate the schema?

@ifesdjeen
i'm using this one, or was there another update i missed?
https://github.com/pyr/cyanite/blob/bugfix/fix-wildcard-queries/doc/schema.cql
I went ahead and dropped the entire keyspace and re-setup with https://github.com/pyr/cyanite/blob/bugfix/fix-wildcard-queries/doc/schema.cql
The first few queries were very fast but as the segment table populates it takes longer and longer
time curl localhost:8080/paths?query=collectd_metrics.cyanite-cassandra.ip-10-*.aggregation-cpu-average.percent-user
[{"text":"percent-user","id":"collectd_metrics.cyanite-cassandra.ip-10-2-92-19.aggregation-cpu-average.percent-user","path":"collectd_metrics.cyanite-cassandra.ip-10-2-92-19.aggregation-cpu-average.percent-user","allowChildren":false,"expandable":false,"leaf":true}]
real	0m0.039s

time curl localhost:8080/paths?query=collectd_metrics.cyanite-cassandra.ip-10-2-92-19.aggregation-cpu-average.percent-user
[{"text":"percent-user","id":"collectd_metrics.cyanite-cassandra.ip-10-2-92-19.aggregation-cpu-average.percent-user","path":"collectd_metrics.cyanite-cassandra.ip-10-2-92-19.aggregation-cpu-average.percent-user","allowChildren":false,"expandable":false,"leaf":true}]
real	0m1.682s

time curl localhost:8080/paths?query=collectd_metrics.cyanite-cassandra.ip-10-2-92-19.aggregation-cpu-average.percent-user
[{"text":"percent-user","id":"collectd_metrics.cyanite-cassandra.ip-10-2-92-19.aggregation-cpu-average.percent-user","path":"collectd_metrics.cyanite-cassandra.ip-10-2-92-19.aggregation-cpu-average.percent-user","allowChildren":false,"expandable":false,"leaf":true}]
real	0m3.975s

The cassandra query itself is taking .8 seconds but its sending all 333k metrics
e2103343-5f25-11e6-90b7-c39077eaae1b |  <IP_ADDRESS> |   QUERY |  <IP_ADDRESS> |   796915 |                                                                  {'consistency_level': 'LOCAL_ONE', 'page_size': '5000', 'query': 'SELECT * from segment where segment LIKE ''collectd_metrics%'' AND pos = 5', 'serial_consistency_level': 'SERIAL'} |          Execute CQL3 query | 2016-08-10 18:11:39.252000+0000

@tehlers320 could you please tell me, whats the cardinality of collectd_metrics.cyanite-cassandra keyspace?
Just a count with this as a partition key would do. I guess that partition sizes are still much too large. I have one more possible optimisation for direct queries though, if my guess about cardinalities is true, I can try it.

SELECT count(*) from metric.segment where segment LIKE 'collectd_metrics.cyanite-cassandra%' AND pos = 5;

 count
-------
    55

(1 rows)
cqlsh> SELECT count(*) from metric.segment where segment LIKE 'collectd_metrics.cyanite-cassandra%' ;

 count
-------
    97

(1 rows)

Warnings :
Aggregation query used without partition key

This is not querying collectd_metrics.cyanite-cassandra
I cleared my system_trace.sessions table and put a curl in a while loop for:
while true; do time curl localhost:8080/paths?query=collectd_metrics.cyanite-cassandra.ip-10-2-92-19.aggregation-cpu-average.percent-user && sleep 30;done
cqlsh <IP_ADDRESS> -e 'select * from system_traces.sessions where duration > 10 allow filtering' |grep collectd| cut -d \| -f6 |sort |uniq -c
    150   {'consistency_level': 'LOCAL_ONE', 'page_size': '5000', 'query': 'SELECT * from segment where segment LIKE ''collectd_metrics%'' AND pos = 5', 'serial_consistency_level': 'SERIAL'}

Now clearing the entire sessions table i re-run this test with
while true; do time curl localhost:8080/paths?query=collectd_metrics.cyanite-cassandra.ip-10-2-*.aggregation-cpu-average.percent-user && sleep 30;done
cqlsh <IP_ADDRESS> -e 'select * from system_traces.sessions where duration > 1 allow filtering' |grep collectd| cut -d \| -f6 |sort |uniq -c

      1  {'consistency_level': 'LOCAL_ONE', 'page_size': '5000', 'query': 'SELECT * from segment where segment LIKE ''collectd_metrics.cyanite-cassandra.ip-10-2-%'' AND pos = 5', 'serial_consistency_level': 'SERIAL'}

I think this is a bug.

This bug was fixed by now, thank you for reporting!

Thanks @ifesdjeen !

<3 @pyr

I'm sorry looks like I had 4 unpushed commits. I rebased and merged them all to Master.
Thank you again!


ST_Split

PostGIS implements a function called ST_Split, which can split a polygon by a line (as well as line by line, or line by point): http://postgis.net/docs/ST_Split.html
Is this something we'd like to be able to do with Shapely?
I think there is an issue with the fact PostGIS is licence under GPL. Given that PostGIS also uses GEOS it might be difficult to write anything that wasn't too close to a straight copy, even though the algorithm isn't especially complicated.

@snorfalorpagus sure, I welcome functions like this in Shapely. Don't copy the PostGIS code and all is fine. Testing that the process is reversible using Shapely's union would be good to do.

We don't currently wrap GEOSRelatePatternMatch. Any suggestions on where this should go?
g1.relate_match(g2, '1********') == True ?

Relate was implemented 36b0e8b24541de916f48791734eacb27ddb71d4e, but I've not found the time to finish ST_Split yet.

I could implement the function, if you have not the time @snorfalorpagus

@georgeouzou Sure, give it a go!
https://gist.github.com/snorfalorpagus/46ef62d515e28f0a9e9f
That's as far as I got.

Closed by #371.


UHF-6195: Json schema validation

Codecov Report

Merging #66 (0556e9f) into main (b2823f7) will increase coverage by 1.07%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main      #66      +/-   ##
============================================
+ Coverage     46.05%   47.13%   +1.07%
- Complexity      320      328       +8
============================================
  Files            40       42       +2
  Lines           901      925      +24
============================================
+ Hits            415      436      +21
- Misses          486      489       +3

Impacted Files
Coverage Δ

...ation/Constraint/JsonSchemaConstraintValidator.php
86.36% <0.00%> (ø)

...gin/Validation/Constraint/JsonSchemaConstraint.php
100.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us.


Can't connect Docker-based Portainer to Kubernetes-based Portainer Agent

I have Portainer running in Docker, and it successfully connects to the local Docker as an environment.
But, I'd like to connect it to a Kubernetes cluster, so I'm trying to add that environment. Our local cluster uses Ambassador for the Ingress layer.  Following the directions, I deployed the agent running on the cluster, and then an Ambassador Mapping. The Ambassador layer should be providing https routing, such that i can get to the agent service (9001) by going to https://myk8s_cluster.com/kubeportainer.
The problem is that I can't seem to connect to it. If I connect with a web browser, that URL returns "Client sent an HTTP request to an HTTPS server." So, I know I can route to the server, but it doesn't behave right. If I try to add the URL as an environment in Portainer, it gives the error, "Failure: Failed request with status 200"
If I look at the Portainer log files, it has a new entry that says, "http error: Unable to get environment type (err=Failed request with status 200) (code=500)".
Any ideas on what I might be doing wrong? We have a number of other applications that run in this same configuration and work just fine.

Client sent an HTTP request to an HTTPS server.

This message makes me think that Ambassador is terminating SSL and trying to connect to Portainer via HTTP instead of HTTPS. I'm not familiar with Ambassador's configuration, but I would check to make sure it doesn't fall back to HTTP at any point during the process.

Well I was using the YAML file that Portainer says to use in their UI (https://downloads.portainer.io/ce2-13/portainer-agent-k8s-lb.yaml), which contains:
apiVersion: v1
kind: Service
metadata:
  name: portainer-agent
  namespace: portainer
spec:
  type: LoadBalancer
  selector:
    app: portainer-agent
  ports:
    - name: http
      protocol: TCP
      port: 9001
      targetPort: 9001

So, that means that the portainer agent is listening to http on 9001, not https, right?

@vrmerlin
agent is using https on port 9001. In the service description where it says http is just the name and we will change it to https so it is clear going forward.

ok, i switched the Ambassador Mapping to https, and the problem seems to have changed.
Now, when I try to connect with a browser, i get the error, "upstream connect error or disconnect/reset before headers. reset reason: connection failure", no Portainer UI log message, and a Portainer agent log message of "http: TLS handshake error from <IP_ADDRESS>:42748: tls: client offered only unsupported versions: [303 302 301]".
If I try to add the URL as an environment in Portainer, it gives the error, "Failure: Failed request with status 200" in the UI, and a Portainer log message of "http error: Unable to get environment type (err=Failed request with status 200) (code=500)". The Portainer agent itself generates no log at all.
Anything else I need to change?

I realized that I have the rewrite wrong, because i'm assuming there is no app context for the portainer agent. So I changed it to:
apiVersion: getambassador.io/v2
kind: Mapping
metadata:
  name: portainer
  namespace: nif
  labels:
    app: portainer
spec:
  prefix: /kubeportainer
  rewrite: /
  service: https://portainer-agent:9001
  tls: ambassador-termination-context

and now when i connect with a web browser, i'm getting "upstream connect error or disconnect/reset before headers. reset reason: connection failure". Is that meaningful?
John

What url are you using in Portainer when creating the Environment?
Seems like mapping is created in nif namespace, should the service name have the namespace portainer in it?
I'm not familiar with Ambassador, could you use an Ingress object perhaps instead of a mapping?


d3 is not defined

I'm trying to use boilerplate system from called mean.io from linnovate. For some reason when I follow the installation instructions and try to create a standard multibar graph I get javascript errors saying d3 is not defined.
I've ruled out the script to being linked to correctly, the presence of the meta tag for charset and tried multiple different orders of linking to all the scripts, none work. I'm using d3 version 3.4.8

: )