A feed of development activity from across Sia Foundation GitHub repositories.
This PR removes the chain_indices
table. I'm not entirely sure that's what we want but since we were discussing getting rid of the CASCADE
deletes I don't see a good reason to keep the table. Creating it and linking it is more of a nuisance than anything else imo, if you don't get the upside of the cascaded deletes.
I hit an interesting test failure in the process, an underflow is triggered in TestEphemeralBalance
which is interesting because on master
there are no orphaned indices, but now there are orphaned siacoin_elements
... so I'm a little bit puzzled still on why that is.
I think there might also be a bug in RevertOrphans
because we loop over the orphaned indices and it seems we only deal with the balances of the last orphan. (consensus.go:751) Since I'm not sure whether we want to get rid of the chain_indices
entirely I'm going to keep it in DRAFT
until tomorrow when Nate is back from being OOO.
- Fixed an issue where volume resize and delete dialogs were not loading the volumes data.
- Updated volume resize dialog to used shared helpers for consistency.
Explanation
- Recently fixed an issue where dialogs were not triggering onOpenChange(true) when initially opening, this combined with an incorrect handler that previously never was called caused the
id
passed to volume dialogs to get wiped out.
- 8 min - Moves JS linting, testing, e2e testing out to a parallel job
- 3 min - Moves docker container build and publish out to a parallel job
Our jobs are kind of slow so I was looking at ways to speed them up. I couldn't really find any low hanging fruit but ended up extracting two steps (lint & analyze) I think should be run separately because they do not depend on the os
or go-version
. It saves us roughly a minute so nothing ground breaking.
I ended up removing the dev
trigger for the CodeQL job. I'm fine reverting that change but I feel we run that a lot without any real upside (so far). I can't remember the time it failed and made me change my PR for the better, since it takes more than two minutes on every single run maybe it's fine to only run it when we merge dev.
Caught these errors on renterd
shutdown, fixed by adding a context.DeadlineExceeded
case in abortRetry
.
2024-04-23T10:49:08Z INFO bus successfully saved 392 accounts
2024-04-23T10:49:42Z ERROR SQL trace {"error": "context deadline exceeded", "elapsed": "34.701151966s", "rows": 0, "sql": "\nDELETE\nFROM slabs\nWHERE NOT EXISTS (SELECT 1 FROM slices WHERE slices.db_slab_id = slabs.id)\nAND slabs.db_buffered_slab_id IS NULL\n"}
2024-04-23T10:49:42Z WARN sql transaction attempt 1/7 failed, retry in 200ms, err: context deadline exceeded
2024-04-23T10:49:42Z WARN sql transaction attempt 2/7 failed, retry in 500ms, err: context deadline exceeded
2024-04-23T10:49:43Z WARN sql transaction attempt 3/7 failed, retry in 1s, err: context deadline exceeded
2024-04-23T10:49:44Z WARN sql transaction attempt 4/7 failed, retry in 3s, err: context deadline exceeded
2024-04-23T10:49:47Z WARN sql transaction attempt 5/7 failed, retry in 10s, err: context deadline exceeded
2024-04-23T10:49:57Z WARN sql transaction attempt 6/7 failed, retry in 10s, err: context deadline exceeded
Not doing so caused slight differences in the returned value. e.g. it seemed like the number of usable hosts can improve by manually tweaking settings but no recommendation was returned.
Deployed this to Arequipa for testing @alexfreska
If you set the target to 300
it should give you a recommendation now.
--- Current contracts --- Contracts: 266 --- Target contracts --- Contracts.Amount: 300 --- Before --- MaxDownloadPrice: 1 KS { "hosts": 722, "usable": 273, "unusable": { "blocked": 0, "gouging": { "contract": 12, "download": 109, "gouging": 131, "pruning": 7, "upload": 24 }, "notAcceptingContracts": 83, "notScanned": 86 }, "recommendation": { "gougingSettings": { "maxRPCPrice": "10000000000000000000", "maxContractPrice": "5000000000000000000000000", "maxDownloadPrice": "1155000000000000000000000000", "maxUploadPrice": "333333333000000000000000000", "maxStoragePrice": "154166666667", "hostBlockHeightLeeway": 12, "minPriceTableValidity": 600000000000, "minAccountExpiry": 86400000000000, "minMaxEphemeralAccountBalance": "1000000000000000000000000", "migrationSurchargeMultiplier": 10 } } } --- After --- MaxDownloadPrice: 1.03 KS { "hosts": 722, "usable": 274, "unusable": { "blocked": 0, "gouging": { "contract": 12, "download": 107, "gouging": 131, "pruning": 7, "upload": 24 }, "notAcceptingContracts": 83, "notScanned": 86 }, "recommendation": { "gougingSettings": { "maxRPCPrice": "10000000000000000000", "maxContractPrice": "5000000000000000000000000", "maxDownloadPrice": "1135575000000000000000000000", "maxUploadPrice": "333333333000000000000000000", "maxStoragePrice": "154166666667", "hostBlockHeightLeeway": 12, "minPriceTableValidity": 600000000000, "minAccountExpiry": 86400000000000, "minMaxEphemeralAccountBalance": "1000000000000000000000000", "migrationSurchargeMultiplier": 10 } } }
- Fixed an issue where file health slab keys were showing up as repeated and incorrect.
This removes the random data fill of volumes, enabling Linux and macOS to use sparse files again. However, this does have the side effect of "breaking" size detection when initializing and growing volumes, with no easy solution.I think that's acceptable to reduce hardware wear and tear and increase volume initialization performance.
Another option is to throw this behind an opt-in config flag for advanced users. That would prevent beginners from over-initializing their volumes while allowing advanced users to take advantage of filesystem optimizations.
Add chain index type to easily revert all entities introduced at a certain index by making use of CASCADE deletes
I noticed a handful of "Host has lost sectors" alerts on my node and arequipa
. Since we hint at blocking these hosts and since these alerts aren't really all that actionable I introduced a threshold, as Nate suggested in the last engineering sync. This is hardcoded to be 1% of the host's stored data.
- Lint passed on windows with both:
git config --global core.autocrlf false
.gitattributes
:*.go text eol=lf
Switches the nextjs Go router to use path
instead of filepath
to prevent issues on Windows. Also adds a few sanity tests to make sure the routers initialize correctly.
File
is only supported in browsers, widening these upload types to accept other data.
Making slab pruning asynchronous introduced some NDFs where we run into various database is locked
related errors, this PR wraps three methods that trigger these NDFs and blocks on the bg loop pruning the necessary slabs. While testing I found we're not properly closing connections in some tests.
This PR suggests we add an option called DisableAsyncSlabPruning
to our SQLStore config. I want to disable it only in unit testing and only in certain unit tests and only for SQLite databases... The reason being that since we started pruning slabs in a background loop, we are running into various database is locked
type of NDF errors in our unit tests.
This PR updates a few spots where we return ctx.Err()
instead of context.Cause(ctx)
to make sure we return the proper shutdown error instead of the standard "context was cancelled".
Seems like we passed the current period instead of the configured period. This PR fixes that.
Bumps go.sia.tech/gofakes3 from 0.0.1 to 0.0.2.
Commits
a980d38
Merge pull request #15 from SiaFoundation/chris/log-debug2e9ff48
Merge pull request #14 from SiaFoundation/dependabot/go_modules/github.com/aw...80282be
add debug log levele032eb6
Bump github.com/aws/aws-sdk-go from 1.51.18 to 1.51.21f8521ff
Merge pull request #11 from SiaFoundation/dependabot/go_modules/golang.org/x/...5785eb8
Merge pull request #13 from SiaFoundation/dependabot/go_modules/github.com/aw...79e9329
Bump golang.org/x/tools from 0.8.0 to 0.20.0f2482d2
Merge pull request #8 from SiaFoundation/dependabot/go_modules/go.etcd.io/bbo...efb21ad
Bump github.com/aws/aws-sdk-go from 1.44.256 to 1.51.1871c41df
Bump go.etcd.io/bbolt from 1.3.5 to 1.3.9- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- Added support for autopilot config evaluation API to
renterd-js
andrenterd-react
. - Added a method for each known bus setting (eg:
bus.settingGouging
), in addition to the genericbus.setting
method.- The hook variants already existed in
renterd
and were moved torenterd-react
.
- The hook variants already existed in
- Adds proper content type and encoding to file upload and download methods
- Cleans up redundant content type handling code
When a scan is interrupted, orphaned blocks will never be reverted from the wallet store. This adds a check for orphans when scanning and reverts their state from the store.
Refactor leftover I'm guessing(?) we weren't using it so I removed it.
I find myself committing a custom test logger that logs on DEBUG
level quite often when I run into an NDF on the CI. Figured it's fine to have DEBUG
level logging by default in all e2e tests.
Closes https://github.com/SiaFoundation/renterd/issues/1113
This makes it easier to figure out how much data we store with a host and cleans up the contractor
a bit.
That way we can use the data on a host that we consider to be gouging as long as they are not download gouging.
- Sia Central SDK updated to use
@siafoundation/request
. @siafoundation/renterd-js
examples updated to new API.
because the user can't do anything about it. So instead we just log it.
- Updated libraries listed in readme.
I started writing this code during the last hackathon for fun, practicing writing test cases. But I didn't finish it because I had to switch to the main task regarding consensus coverage. I felt bad for wipe out a work that had been done, so I ended up finishing the code and also making some changes to it. Initially, I was only aiming to cover the SatisfiedPolicy
but got carried away and started covering the PolicyTypeAbove
and PolicyTypePublicKey
, completely overlooking the fact that you had already done this 😅 Anyway, here it is. I hope that this alternative approach and the additional scenarios will prove valuable to you 🙏
Moves everything besides react
and next
out of peer dependencies. This makes consuming the libraries a bit easier when using other package managers like yarn
that require manually installing peers.
This PR adds a renterd-js
library.
npm install @siafoundation/renterd-js
import { Bus } from './bus' import { Autopilot } from './autopilot' import { Worker } from './worker' export async function example() { const bus = Bus({ api: 'http://localhost:9980', password: 'password1337', }) const autopilot = Autopilot({ api: 'http://localhost:9980', password: 'password1337', }) const worker = Worker({ api: 'http://worker:4444', password: 'password1337', }) const buckets = await bus.buckets() buckets.data.forEach((bucket) => { console.log(bucket.name, bucket.createdAt, bucket.policy) }) bus.bucketCreate({ data: { name: 'my-bucket' }, }) bus.bucketPolicyUpdate({ params: { name: 'my-bucket', }, data: { policy: { publicReadAccess: true, }, }, }) const hosts = await autopilot.hostsSearch({ data: { filterMode: 'allowed', usabilityMode: 'usable', addressContains: 'example.com', keyIn: ['key1', 'key2'], offset: 0, limit: 50, }, }) hosts.data.forEach((host) => { console.log(host.host.publicKey, host.host.priceTable) }) worker.objectUpload({ params: { key: 'path/to/file.txt', bucket: 'my-bucket', }, data: new File(['file contents'], 'file.txt'), config: { onUploadProgress: (progress) => { console.log(progress.loaded / progress.total) }, }, }) worker.objectDownload({ params: { key: 'path/to/file.txt', bucket: 'my-bucket', }, config: { onDownloadProgress: (progress) => { console.log(progress.loaded / progress.total) }, }, }) }
This PR moves all renterd API route strings to shared constants that can be used across libraries. This makes updating all libraries at once easier and also avoids small string typos.
These strings are used for API routes and also data revalidation in react mutations and hooks.
Running tests locally now spam "record not found" warnings.
2024/04/16 12:20:49 /Users/peterjan/code/siafoundation/renterd/stores/peers.go:192 record not found
[0.154ms] [rows:0] SELECT * FROM `syncer_bans` WHERE net_cidr IN ("127.0.0.1/32","127.0.0.0/31","127.0.0.0/30","127.0.0.0/29","127.0.0.0/28","127.0.0.0/27","127.0.0.0/26","127.0.0.0/25","127.0.0.0/24","127.0.0.0/23","127.0.0.0/22","127.0.0.0/21","127.0.0.0/20","127.0.0.0/19","127.0.0.0/18","127.0.0.0/17","127.0.0.0/16","127.0.0.0/15","127.0.0.0/14","127.0.0.0/13","127.0.0.0/12","127.0.0.0/11","127.0.0.0/10","127.0.0.0/9","127.0.0.0/8","126.0.0.0/7","124.0.0.0/6","120.0.0.0/5","112.0.0.0/4","96.0.0.0/3","64.0.0.0/2","0.0.0.0/1") ORDER BY expiration DESC,`syncer_bans`.`id` LIMIT 1
2024/04/16 12:20:49 /Users/peterjan/code/siafoundation/renterd/stores/peers.go:192 record not found
[0.138ms] [rows:0] SELECT * FROM `syncer_bans` WHERE net_cidr IN ("127.0.0.1/32","127.0.0.0/31","127.0.0.0/30","127.0.0.0/29","127.0.0.0/28","127.0.0.0/27","127.0.0.0/26","127.0.0.0/25","127.0.0.0/24","127.0.0.0/23","127.0.0.0/22","127.0.0.0/21","127.0.0.0/20","127.0.0.0/19","127.0.0.0/18","127.0.0.0/17","127.0.0.0/16","127.0.0.0/15","127.0.0.0/14","127.0.0.0/13","127.0.0.0/12","127.0.0.0/11","127.0.0.0/10","127.0.0.0/9","127.0.0.0/8","126.0.0.0/7","124.0.0.0/6","120.0.0.0/5","112.0.0.0/4","96.0.0.0/3","64.0.0.0/2","0.0.0.0/1") ORDER BY expiration DESC,`syncer_bans`.`id` LIMIT 1
I figured we probably want to default to our production defaults in our integration tests too.
fetchUsedContracts
would sometimes be missing a entry for contracts that were renewed mid upload, in those cases it was possible for the output to contain an entry for the renewedFrom
file contract id and not the current id
Bumps github.com/cloudflare/cloudflare-go from 0.92.0 to 0.93.0.
Release notes
Sourced from github.com/cloudflare/cloudflare-go's releases.
v0.93.0
BREAKING CHANGES:
- dns: Remove "locked" flag which is always false (#1618)
ENHANCEMENTS:
- magic_transit_ipsec_tunnel: Adds support for replay_protection boolean flag (#1710)
DEPENDENCIES:
- deps: bumps golang.org/x/net from 0.22.0 to 0.24.0 (#1688)
Changelog
Sourced from github.com/cloudflare/cloudflare-go's changelog.
0.93.0 (April 10th, 2024)
BREAKING CHANGES:
- dns: Remove "locked" flag which is always false (#1618)
ENHANCEMENTS:
- magic_transit_ipsec_tunnel: Adds support for replay_protection boolean flag (#1710)
DEPENDENCIES:
- deps: bumps golang.org/x/net from 0.22.0 to 0.24.0 (#1688)
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps github.com/shopspring/decimal from 1.3.1 to 1.4.0.
Release notes
Sourced from github.com/shopspring/decimal's releases.
v1.4.0
Full Changelog can be found in CHANGELOG.md
New Contributors
@VadimKulagin
made their first contribution in shopspring/decimal#278@CAEL0
made their first contribution in shopspring/decimal#341@zlasd
made their first contribution in shopspring/decimal#301@falsaffa
made their first contribution in shopspring/decimal#342@frankli0324
made their first contribution in shopspring/decimal#322@cbelsole
made their first contribution in shopspring/decimal#265@acln0
made their first contribution in shopspring/decimal#346@davseby
made their first contribution in shopspring/decimal#288@serprex
made their first contribution in shopspring/decimal#355@agmt
made their first contribution in shopspring/decimal#352@richardJiang
made their first contribution in shopspring/decimal#285@axopadyani
made their first contribution in shopspring/decimal#328@Bububuger
made their first contribution in shopspring/decimal#131
Changelog
Sourced from github.com/shopspring/decimal's changelog.
Decimal v1.4.0
BREAKING
- Drop support for Go version older than 1.10 #361
FEATURES
- Add implementation of natural logarithm #339 #357
- Add improved implementation of power operation #358
- Add Compare method which forwards calls to Cmp #346
- Add NewFromBigRat constructor #288
- Add NewFromUint64 constructor #352
ENHANCEMENTS
- Migrate to Github Actions #245 #340
- Fix examples for RoundDown, RoundFloor, RoundUp, and RoundCeil #285 #328 #341
- Use Godoc standard to mark deprecated Equals and StringScaled methods #342
- Removed unnecessary min function for RescalePair method #265
- Avoid reallocation of initial slice in MarshalBinary (GobEncode) #355
- Optimize NumDigits method #301 #356
- Optimize BigInt method #359
- Support scanning uint64 #131 #364
- Add docs section with alternative libraries #363
BUGFIXES
Commits
a1bdfc3
Release version 1.4.0 (#365)275e48e
Add docs section with alternative libraries (#363)dd603cb
Support scanning uint64 (#364)80ec940
Add NewFromUint64 constructor (#352)2fa107d
Remove production usage from docs (#362)645a76e
Optimize BigInt (#359)ed8f76e
Drop support for Go versions older than 1.10 (#361)0e69d5c
Run CI on both push to origin branches and pull requests (#360)bf7794e
Optimize NumDigits method (#356)547861c
Avoid reallocation of initial slice in MarshalBinary (GobEncode) (#355)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
This PR creates a request
library and extracts shared request/network code from react-core
that is not react-specific. This code is for use in renterd-js
and others for API methods.
This PR:
- splits
sia-central-types
out fromsia-central-react
so that types can be shared withsia-central-js
,sia-central-mock
, and more. - updates
sia-central
to be namedsia-central-js
.
This PR splits walletd-types out from walletd-react so that types can be shared with walletd-js, walletd-mock, and more.
This PR splits hostd-types out from hostd-react so that types can be shared with hostd-js, hostd-mock, and more.
This PR splits renterd-types out from renterd-react so that types can be shared with renterd-js, renterd-mock, and more.
We are adding generic JS libraries for daemon APIs. Before doing so we need to clean up the existing library naming scheme. This PR renames our react libraries to daemon-first.
react-renterd => renterd-react
react-hostd => hostd-react
react-walletd => walletd-react
react-sia-central => sia-central-react
mock-walletd => walletd-mock
mock-sia-central => sia-central-mock
This is to match the following naming pattern:
renterd-types - daemon-specifc shared types and constants
renterd-react - daemon React bindings
renterd-js - daemon generic JS API methods
renterd-mock - daemon-specific mocks for e2e testing
@freopen noticed that partial slabs weren't uploading before the limit was reached anymore and debugged it
That's a very good catch thanks for reporting! This PR should take care of the issue.
Bumps go.sia.tech/core from 0.2.1 to 0.2.2.
Commits
f424825
Merge pull request #151 from SiaFoundation/nate/vzeroupper69d6da0
blake2b: clear upper registers for 2x gain1ae0547
Merge pull request #149 from SiaFoundation/ifelse097e517
lint: Use whitelist for gocritic90599f1
lint: Satisfy unslice88ba8c8
lint: Disable 'ifElseChain' gocritic checke781eaa
Update project-add.yml89e9456
Merge pull request #147 from SiaFoundation/nate/rhp2-release008e275
add release to rhp2 settingsc9bd79d
Merge pull request #146 from SiaFoundation/currency-string- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps golang.org/x/sys from 0.18.0 to 0.19.0.
Commits
cabba82
windows: use uint32 for serial comm flags for consistency1a50d97
windows: add serial comm functions95f07ec
x/sys/windows: add func windows.DisconnectNamedPipe(handle Handle) (err error)4be02d3
unix: expose mmap calls on z/OS- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps golang.org/x/crypto from 0.21.0 to 0.22.0.
Commits
d042a39
go.mod: update golang.org/x dependenciesb92bf94
ssh: respect MaxAuthTries also for "none" auth attempts6f79b5a
ssh: add server side multi-step authentication8d0d405
x/crypto/chacha20: cleanup chacha_ppc64le.sb91329d
all: remove redundant words in comments and fix some typos- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps go.sia.tech/core from 0.2.2-0.20240404003127-f4248250d041 to 0.2.2.
Commits
- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps golang.org/x/term from 0.18.0 to 0.19.0.
Commits
5b15d26
go.mod: update golang.org/x dependencies- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps golang.org/x/term from 0.18.0 to 0.19.0.
Commits
5b15d26
go.mod: update golang.org/x dependencies- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps golang.org/x/sys from 0.18.0 to 0.19.0.
Commits
cabba82
windows: use uint32 for serial comm flags for consistency1a50d97
windows: add serial comm functions95f07ec
x/sys/windows: add func windows.DisconnectNamedPipe(handle Handle) (err error)4be02d3
unix: expose mmap calls on z/OS- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps go.sia.tech/core from 0.2.2-0.20240404003127-f4248250d041 to 0.2.2.
Commits
- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps golang.org/x/sys from 0.18.0 to 0.19.0.
Commits
cabba82
windows: use uint32 for serial comm flags for consistency1a50d97
windows: add serial comm functions95f07ec
x/sys/windows: add func windows.DisconnectNamedPipe(handle Handle) (err error)4be02d3
unix: expose mmap calls on z/OS- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps go.sia.tech/hostd from 1.0.4-0.20240327150808-8c407121ad92 to 1.0.4.
Release notes
Sourced from go.sia.tech/hostd's releases.
v1.0.4
Fixed
- Fixed an edge case in volume removal where a volume file would be deleted from disk even if some sectors failed to migrate (SiaFoundation/hostd#340)
Commits
- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Before
goos: linux
goarch: amd64
pkg: go.sia.tech/core/internal/blake2b
cpu: AMD EPYC 7B13 64-Core Processor
BenchmarkBLAKE2b/SumLeaves-128 4167430 290.8 ns/op 880.38 MB/s 0 B/op 0 allocs/op
BenchmarkBLAKE2b/SumNodes-128 3793945 285.3 ns/op 897.44 MB/s 0 B/op 0 allocs/op
PASS
ok go.sia.tech/core/internal/blake2b 4.610s
After
goos: linux
goarch: amd64
pkg: go.sia.tech/core/internal/blake2b
cpu: AMD EPYC 7B13 64-Core Processor
BenchmarkBLAKE2b/SumLeaves-128 6697410 176.7 ns/op 1448.80 MB/s 0 B/op 0 allocs/op
BenchmarkBLAKE2b/SumNodes-128 5853004 181.6 ns/op 1409.40 MB/s 0 B/op 0 allocs/op
PASS
ok go.sia.tech/core/internal/blake2b 4.376s
- Adds an endpoint for build info to match
hostd
andrenterd
- Renames
POST /resubscribe
toPOST /rescan
. This endpoint will now return immediately. - Adds
GET /rescan
to track rescan progress - Moves some of the the peer store fields into memory. I noticed that the peer store was causing a lot of write lock contention when syncing. We could solve this by syncing the data less frequently, but the fields didn't seem overly important to keep after the session ends.
Fixes an underflow panic when calling resubscribe
Bumps github.com/cloudflare/cloudflare-go from 0.91.0 to 0.92.0.
Release notes
Sourced from github.com/cloudflare/cloudflare-go's releases.
v0.92.0
ENHANCEMENTS:
- dlp: Adds support for ocr_enabled boolean flag (#1600)
BUG FIXES:
- teams_rules: add "resolve" to allowable actions (#1615)
DEPENDENCIES:
Changelog
Sourced from github.com/cloudflare/cloudflare-go's changelog.
0.92.0 (March 27th, 2024)
ENHANCEMENTS:
- dlp: Adds support for ocr_enabled boolean flag (#1600)
BUG FIXES:
- teams_rules: add "resolve" to allowable actions (#1615)
DEPENDENCIES:
Commits
228b052
Update CHANGELOG.md08bfdca
update CHANGELOG.md7a6dcfe
update CHANGELOG.md9ff8452
fix: Add resolve action to allowed gateway rules (#1615)18282f1
DLP-1723: add ocr_enabled flag to DLP profiles (#1600)694d672
build(deps): bump dependabot/fetch-metadata from 1.7.0 to 2.0.0 (#1607)57167cb
delete feature request issue template1abdab8
build(deps): bump dependabot/fetch-metadata from 1.6.0 to 1.7.0 (#1593)- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
This will close issue #335. However, we should follow this up with a fix for the data inconsistency between the calls to Migrate and Remove.
I modified https://github.com/siafoundation/linux to publish three different apt
releases main
, beta
and nightly
. This will enable users to select a more frequent release type when installing via apt
.
This modifies the linux dispatch payload to set the new required component
field.
The logic should be as follows:
- If
v0.0.0
component ismain
- If
v0.0.0-beta
component isbeta
- Otherwise, component is
nightly
Nightly releases will have their apt
version set to YYYYMMDD-{commit}
.
Bumps github.com/cloudflare/cloudflare-go from 0.90.0 to 0.91.0.
Release notes
Sourced from github.com/cloudflare/cloudflare-go's releases.
v0.91.0
ENHANCEMENTS:
- access_application: add support for
saml_attribute_transform_jsonata
in saas apps (#1562)DEPENDENCIES:
Changelog
Sourced from github.com/cloudflare/cloudflare-go's changelog.
0.91.0 (March 22nd, 2024)
ENHANCEMENTS:
- access_application: add support for
saml_attribute_transform_jsonata
in saas apps (#1562)DEPENDENCIES:
Commits
fdcac68
Update CHANGELOG.md4c5aa81
update CHANGELOG.md6f98ca9
Merge pull request #1573 from cloudflare/dependabot/github_actions/actions/ch...d70a50f
add CHANGELOG for #15739db0464
build(deps): bump actions/checkout from 2 to 4241c688
remove 'question' label5a710e9
add generation-issue label755992e
Merge pull request #1568 from cloudflare/github-labels-syncer19c6f88
ci: add automation for GitHub issues syncing3081d28
Merge pull request #1562 from russellkerns/rkerns/AUTH-5974- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
This is mostly in a good place, but there is one major sticking point: wallet.NewManager
.
With the old API, when a call to cm.AddBlocks
returns, all of the subscribers will have finished processing the new update(s). With the new API, this is not true; the processing happens asynchronously. This broke some tests which expected that, after calling AddBlocks
, they could immediately observe the effects of those blocks in wallet state. Now, they can't, so we need a way for the test to wait until processing has finished. In most of the tests, I worked around this; see the syncDB
helper I added. But that approach doesn't work when you have a real wallet manager running. For now, I faked the waiting with time.Sleep
, just to see if that makes the tests pass (it does), but clearly we need a better solution.
The whole asynchronous processing thing really bugs me, so much so that I tweaked the new API to release the chain manager's lock before calling the onReorg
listener functions. This means it's now legal for your listener function to call chain manager methods -- meaning, you can implement subscription "the old fashioned way" and have your onReorg
function directly call UpdatesSince
in a loop until it's caught up. Effectively this brings us back to the same situation as before, except that the manager is no longer locked, so you have a bit more freedom. (And of course, you can still do async processing if you want.)
But the other big wrinkle here is the wallet manager's Subscribe
method. Previously, it unsubscribed from the chain manager, then resubscribed at a lower height. Firstly, it's not clear to me why this would work; won't you end up with duplicate state? But more importantly, we need to nail down how this action ought to interact with the wallet manager's ongoing subscription in the new API. In my PR code, we hold the wallet manager's lock while syncing, so Subscribe
effectively pauses the background subscription until it's finished. Not exactly pretty, but it gets the job done. Is there a better way? That's what I'm not sure about.
This should get rid of the node16 deprecation warnings
Bumps github.com/cloudflare/cloudflare-go from 0.89.0 to 0.90.0.
Release notes
Sourced from github.com/cloudflare/cloudflare-go's releases.
v0.90.0
ENHANCEMENTS:
- access_mutual_tls_certificates: add support for mutual tls hostname settings (#1516)
- device_posture_rule: support last_seen and state for crowdstrike_s2s posture rule (#1509)
- dlp: add support for Context Awareness in DLP profiles (#1497)
- workers: Add Workers for Platforms support for getting a Worker, content and bindings (#1508)
- workers_for_platforms: Add ability to list Workers for Platforms namespaces, get a namespace, create a new namespace or delete a namespace. (#1508)
BUG FIXES:
- dlp: added optional ContextAwareness support (#1510)
DEPENDENCIES:
Changelog
Sourced from github.com/cloudflare/cloudflare-go's changelog.
0.90.0 (March 13th, 2024)
ENHANCEMENTS:
- access_mutual_tls_certificates: add support for mutual tls hostname settings (#1516)
- device_posture_rule: support last_seen and state for crowdstrike_s2s posture rule (#1509)
- dlp: add support for Context Awareness in DLP profiles (#1497)
- workers: Add Workers for Platforms support for getting a Worker, content and bindings (#1508)
- workers_for_platforms: Add ability to list Workers for Platforms namespaces, get a namespace, create a new namespace or delete a namespace. (#1508)
BUG FIXES:
- dlp: added optional ContextAwareness support (#1510)
DEPENDENCIES:
Commits
6a9e07e
Update CHANGELOG.mdb618fae
Merge pull request #1548 from dackerman/patch-1fb6e04d
Add contact links for v2 beta and API support6430c3b
Update CHANGELOG.md for #1516596928b
Merge pull request #1516 from ajholland/aholland/AUTH-595984e7bd4
s/List/Getadb2f04
AUTH-5959 add support for access mutual tls hostname settings639f10a
Update CHANGELOG.md for #1508522be0e
Merge pull request #1508 from WalshyDev/walshy/more-wfp-apis0f8bb37
Update CHANGELOG.md for #1513- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Old: "~2.529 mS"
New: "2.529378333356156158367 mS"
We discussed removing the SI units as well, and using SC exclusively (i.e. the example above would be 2.529378333356156158367 mS
), but there was less consensus on that.
Since String
is now exact, ExactString
has been removed; if you want raw Hastings values, you can use Big
or fmt.Sprintf("%d", c)
. If you want a rounded value, you can use standard approaches to round the float64
returned by Siacoins
.
Adds endpoints for interacting with single addresses. These are primarily useful for index mode, where the consumer fully manages the state, like Sia Central's lite wallet.
Bumps golang.org/x/sys from 0.5.0 to 0.18.0.
Commits
360f961
unix: add API for fsconfig system call7ff74af
unix: drop go version tags for unsupported versions6b4eab5
unix: suppress ENOMEM errors from sysctl's implementing Uname(uname *Utsname)...2f2cc5d
unix: update IFLA and NETKIT constants with Linux kernel 6.7914b96c
windows: support ill-formed UTF-16 in UTF16PtrToString511ec84
Revert "windows: support nil done parameter in ReadFile and WriteFile"628365d
windows: support nil done parameter in ReadFile and WriteFilebef1bd8
unix: move mksyscall regexp to package level variables5710a32
unix/linux: update Linux kernel to 6.7b3ce6a3
windows: build env_windows_test.go only go Go 1.21 and above- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps golang.org/x/crypto from 0.0.0-20220507011949-2cf3adece122 to 0.21.0.
Commits
- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps go.sia.tech/coreutils from 0.0.0-20240130201319-8303550528d7 to 0.0.3.
Commits
- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps go.uber.org/zap from 1.26.0 to 1.27.0.
Release notes
Sourced from go.uber.org/zap's releases.
v1.27.0
Enhancements:
- #1378[]: Add
WithLazy
method forSugaredLogger
.- #1399[]: zaptest: Add
NewTestingWriter
for customizing TestingWriter with more flexibility thanNewLogger
.- #1406[]: Add
Log
,Logw
,Logln
methods forSugaredLogger
.- #1416[]: Add
WithPanicHook
option for testing panic logs.Thanks to
@defval
,@dimmo
,@arxeiss
, and@MKrupauskas
for their contributions to this release.#1378: uber-go/zap#1378 #1399: uber-go/zap#1399 #1406: uber-go/zap#1406 #1416: uber-go/zap#1416
Changelog
Sourced from go.uber.org/zap's changelog.
1.27.0 (20 Feb 2024)
Enhancements:
- #1378[]: Add
WithLazy
method forSugaredLogger
.- #1399[]: zaptest: Add
NewTestingWriter
for customizing TestingWriter with more flexibility thanNewLogger
.- #1406[]: Add
Log
,Logw
,Logln
methods forSugaredLogger
.- #1416[]: Add
WithPanicHook
option for testing panic logs.Thanks to
@defval
,@dimmo
,@arxeiss
, and@MKrupauskas
for their contributions to this release.#1378: uber-go/zap#1378 #1399: uber-go/zap#1399 #1406: uber-go/zap#1406 #1416: uber-go/zap#1416
Commits
fcf8ee5
Release v1.27.0 (#1419)e5a56ee
Add WithPanicHook logger option for panic log tests (#1416)0e2aa4e
assets: Fix logo color profile (#1418)956a21c
Add methods for logging with level as argument (#1406)2a893f6
build(deps): bump golangci/golangci-lint-action from 3 to 4 (#1417)e5745d6
ci: Test with Go 1.22 (#1409)7db06bc
zapslog: rename Option to HandlerOption (#1411)35ded09
zapslog: fix all with slogtest, support inline group, ignore empty group. (#1...27b96e3
Make zaptest.NewTestingWriter public (#1399)70f61bb
zapslog: Bump zap from v1.24.0 to v1.26.0 (#1404)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps golang.org/x/term from 0.6.0 to 0.18.0.
Commits
c5eaf76
go.mod: update golang.org/x dependencies353276a
go.mod: update golang.org/x dependenciesae94145
go.mod: update golang.org/x dependenciesee66497
go.mod: update golang.org/x dependencies70d3a0b
go.mod: update golang.org/x dependencies6a610bc
all: update go directive to 1.18ea6303a
go.mod: update golang.org/x dependenciesf413282
go.mod: update golang.org/x dependencies19e73c2
go.mod: update golang.org/x dependenciesedd9fb7
go.mod: update golang.org/x dependencies- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps github.com/mattn/go-sqlite3 from 1.14.21 to 1.14.22.
Commits
6ee3e67
close channel- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
When watching a host address, there are a lot of extra revision events that don't affect the wallet because the renter broadcasts the latest revision every few days. This removes contracts and revisions from the relevancy check to get rid of the extra Transaction
events.
- Fixes duplicate elements when resubscribing
- Moves balance tracking back into the store for future optimizations
- Removes the need to store intermittent update state in memory
When mining a block with transactions:
- contract formation
- contract revision (broadcast)
- contract revision (broadcast)
- contract revision (broadcast)
I noticed my subscriber receives only 3 file contract elements in the ApplyUpdate, more importantly though one of those did not have a revision. I think there's a bug in reviseFileContractElement that doesn't properly update the rev
map when encountering an fce
we find in ephemeral
, which I assume is a sort of cache.
Fixes the return type of client.Wallets()
and fixes the [POST] /wallets
request
- 4506593d: All app data will now refresh more frequently.
- Adds a bit more structure to wallets and wallet addresses with the goal of making usage between implementations more consistent.
- Wallets now have a unique ID, friendly name, and description for easier updating.
- Addresses (optionally) support storing their spend policy
- Splits the SC and SF utxo endpoints
- Adds pagination to the SC and SF utxo endpoints
- Returns 404 errors on all the wallet endpoints if the wallet does not exist
A mysterious force of nature inspired me to write this code today, thereby increasing the code coverage to 75.7%
The current encoding of Currency
uses an 8-byte length prefix followed by a variable-length big-endian encoding of the integer. This is inherently wasteful, as currency values never require more than a 1-byte prefix. Variable-length encodings can also hurt performance in certain use cases, and make it harder to predict the real-world size of various encoded payloads.
This PR adds an alternative fixed-width (16-byte) little-endian encoding for Currency
. This matches the actual struct definition of Currency
in core
: two uint64
s. Surprisingly, this is not quite as efficient as simply reducing the 8-byte prefix to a 1-byte prefix; the currency values currently present in the blockchain would encode to between 11-15 bytes on average. Still, the advantages of fixed width outweigh the slightly larger size imo.
As a side effect, I also ended up changing the encoding of SiafundOutput
to be more compact in v2.
We ran into bugs related to determining the right amount of collateral when renewing contracts. Most notably exceeding the max collateral setting of hosts.
There were multiple reasons for that. I was able to get rid of most errors by postponing computing the collateral until after we have acquired a contract.
The other issue, which is the reason for this PR, is the fact that we used ContractRenewalCollateral
to compute the newCollateral
and then CalculateHostPayouts
to create the payouts and both of these functions perform the same math but slightly different. (one uses fc.EndHeight() and the other one fc.WindowEnd` for determining the extension of the renewal).
Since we don't use rhpv2 renewals I'm not going to bother refactoring that but I'm updating rhpv3 to make sure there is no duplicate code anymore and that everything, including the capping of the collateral
according to the host's MaxCollateral
happens in one place.
Right now this is deployed on Arequipa and there are no more collateral errors.
I have been adding this to our repos so we can do things like check struct tags automatically. I know core is still changing so if this is unwanted right now please feel free to close this PR.
Edit: Need to do some Ledger review fixes today. Will fix remaining warnings tomorrow.
I noticed renewal failures in our logs that indicate we're not properly respecting the host's MaxCollateral
setting.
{"level":"error","date":"2023-12-07T16:56:27Z","component":"autopilot.contractor","msg":"renewal failed, err: couldn't renew contract: RPCRenew: failed to read RPCRenewContractHostAdditions: ReadResponse: failed to validate renewal: collateral exceeds maximum: expected at most 10000000000000000000000000000 got 10000047475326975980269993984\n","hk":"ed25519:c4b451fa7ab7085763119aeb1aa34db524c5dc6416dc77c5ba82100eb9687790","fcid":"fcid:5a32d8bbfb7e6a29f874ad2ded500d46e3e9aa4675db624b7f782b7fd7f45e05"}
I finished working on these tests last weekend, but due to unforeseen circumstances, I couldn't submit the pull request. Today I can finally do it, but I noticed that just yesterday another contributor, who coincidentally worked on some of the same test features as I did, submitted his PR #132
I wasn't sure how to proceed in this situation, so I decided to run test coverage. In my case, the overall coverage percentage was 77.3%, while @chris124567's was 79.8%, which I congratulate him on. However, if we combine our PRs, the rate reaches 80.1%
Chris and I approached the task and code-writing differently, and to be honest, I'm not sure how you'll handle our PRs after comparing and analyzing them; nonetheless, I decided to offer alternative tests for the Marshaler and Unmarshaler functions and submit this PR.
This is a slightly bigger change, so I figured I'd PR it to allow for some discussion instead of just pushing it.
Sia computes a lot of hashes. When I started implementing v2, I took care to make hashing as fast as possible. In particular, I wanted hashing operations to be zero-alloc. That meant accepting some ugliness like hasherPool
and eschewing helper functions that might not be inlined.
This PR essentially reverses that decision. Instead of every ID
function grabbing a hasher and directly calling EncodeTo
on all the stuff we want to encode, we now pass those things to a magic hashAll
helper function. The resulting code is definitely more readable; you can see at a glance exactly what's being hashed. The downside is that all of our hashes now allocate, making them a bit slower. How much slower? Anywhere from 1% to 15%, depending on how little data is being hashed. Is that acceptable? Well, when I run our test suite 100x, it takes basically the same amount of time -- definitely nowhere near 15% slower. Regardless -- preventable allocations make me sad. At least ~all of our hashing will be performed inside hashAll
now, which means CPU profiles will show us how much time we spend hashing in general...?
Another consequence is that the exact data we're hashing has changed slightly. Basically, instead of omitting signatures, we now hash empty signatures. Why? Because it means instead of writing this:
func (s State) ContractSigHash(fc types.V2FileContract) types.Hash256 { return hashAll( "sig/filecontract", s.v2ReplayPrefix(), fc.Filesize, fc.FileMerkleRoot, fc.ProofHeight, fc.ExpirationHeight, fc.RenterOutput, fc.HostOutput, fc.MissedHostValue, fc.RenterPublicKey, fc.HostPublicKey, fc.RevisionNumber, ) }
we can write this:
func (s State) ContractSigHash(fc types.V2FileContract) types.Hash256 { fc.RenterSignature, fc.HostSignature = types.Signature{}, types.Signature{} return hashAll("sig/filecontract", s.v2ReplayPrefix(), fc) }
Having a helper like hashAll
doesn't force us to make this change, but it sure makes it a lot more compelling, doesn't it?
Lemme know if you have strong feelings about this either way. Frankly, I'm pretty confident that this is the right choice; writing a big post about it is probably just my way of coping with the loss of my precious zero-alloc code 😭
Add a test similar to TestP2P in walletd and add some extra cases mostly relating to file contracts to the validation test.
I was working around this in both renterd
and hostd
but it's easier to update it here instead.
This PR adds the rpcCost
type from hostd
. We can move it over to core
and get rid of some of the very rough estimates for proof sizes and replace them by exact values we get from DiffProofSize
.
Fixes the node12 deprecation warning
Increases the go versions used in CI from 1.17 and 1.18 to 1.20 and 1.21
Adds validation tests for V2Blocks/V2Transactions.
467,784 block height
85,229 online hosts
521 active hosts
6.88 PB total storage
1.83 PB used storage
7,822 M total registry
54 M used registry
20,995 commits
71 contributors
470 forks
43 releases