Activity

A feed of development activity from across Sia Foundation GitHub repositories.

Apr 24, 2024

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.

Apr 24, 2024
  • 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.
Apr 24, 2024
  • 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
Apr 24, 2024

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.

Apr 24, 2024

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
Apr 24, 2024
Apr 24, 2024
Apr 24, 2024

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
    }
  }
}
Apr 23, 2024
  • Fixed an issue where file health slab keys were showing up as repeated and incorrect.
Apr 23, 2024
Apr 23, 2024

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.

Apr 23, 2024

Add chain index type to easily revert all entities introduced at a certain index by making use of CASCADE deletes

Apr 23, 2024
Apr 23, 2024

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.

Apr 22, 2024
  • Lint passed on windows with both:
    • git config --global core.autocrlf false
    • .gitattributes: *.go text eol=lf
Apr 22, 2024

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.

Apr 22, 2024
  • File is only supported in browsers, widening these upload types to accept other data.
Apr 22, 2024

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.

Apr 22, 2024
Apr 22, 2024

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.

Apr 22, 2024

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".

Apr 22, 2024

Seems like we passed the current period instead of the configured period. This PR fixes that.

Apr 22, 2024

Bumps go.sia.tech/gofakes3 from 0.0.1 to 0.0.2.

Commits
  • a980d38 Merge pull request #15 from SiaFoundation/chris/log-debug
  • 2e9ff48 Merge pull request #14 from SiaFoundation/dependabot/go_modules/github.com/aw...
  • 80282be add debug log level
  • e032eb6 Bump github.com/aws/aws-sdk-go from 1.51.18 to 1.51.21
  • f8521ff 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.0
  • f2482d2 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.18
  • 71c41df Bump go.etcd.io/bbolt from 1.3.5 to 1.3.9
  • Additional commits viewable in compare view

Dependabot compatibility score

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)
Apr 22, 2024
Apr 19, 2024
  • Added support for autopilot config evaluation API to renterd-js and renterd-react.
  • Added a method for each known bus setting (eg: bus.settingGouging), in addition to the generic bus.setting method.
    • The hook variants already existed in renterd and were moved to renterd-react.
Apr 18, 2024
  • Adds proper content type and encoding to file upload and download methods
  • Cleans up redundant content type handling code
Apr 18, 2024

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.

Apr 18, 2024
Apr 18, 2024
Apr 17, 2024

Refactor leftover I'm guessing(?) we weren't using it so I removed it.

Apr 17, 2024

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.

Apr 17, 2024
Apr 17, 2024

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.

Apr 17, 2024

That way we can use the data on a host that we consider to be gouging as long as they are not download gouging.

Closes https://github.com/SiaFoundation/renterd/issues/1075

Apr 17, 2024
  • Sia Central SDK updated to use @siafoundation/request.
  • @siafoundation/renterd-js examples updated to new API.
Apr 17, 2024

because the user can't do anything about it. So instead we just log it.

Apr 16, 2024
  • Updated libraries listed in readme.
Apr 16, 2024

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 🙏

Apr 16, 2024
Apr 16, 2024

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.

Apr 16, 2024

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)
      },
    },
  })
}
Apr 16, 2024

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.

Apr 16, 2024

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.

Apr 16, 2024

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

Apr 16, 2024

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 compatibility score

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)
Apr 16, 2024

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

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

  • Fix incorrect calculation of decimal modulo #258 #317
  • Allocate new(big.Int) in Copy method to deeply clone it #278
  • Fix overflow edge case in QuoRem method #322
Commits

Dependabot compatibility score

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)
Apr 15, 2024

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.

Apr 15, 2024

This PR:

  • splits sia-central-types out from sia-central-react so that types can be shared with sia-central-js, sia-central-mock, and more.
  • updates sia-central to be named sia-central-js.
Apr 15, 2024

This PR splits walletd-types out from walletd-react so that types can be shared with walletd-js, walletd-mock, and more.

Apr 15, 2024

This PR splits hostd-types out from hostd-react so that types can be shared with hostd-js, hostd-mock, and more.

Apr 15, 2024

This PR splits renterd-types out from renterd-react so that types can be shared with renterd-js, renterd-mock, and more.

Apr 15, 2024

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
Apr 15, 2024
Apr 15, 2024

@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.

Apr 15, 2024

Bumps go.sia.tech/core from 0.2.1 to 0.2.2.

Commits
  • f424825 Merge pull request #151 from SiaFoundation/nate/vzeroupper
  • 69d6da0 blake2b: clear upper registers for 2x gain
  • 1ae0547 Merge pull request #149 from SiaFoundation/ifelse
  • 097e517 lint: Use whitelist for gocritic
  • 90599f1 lint: Satisfy unslice
  • 88ba8c8 lint: Disable 'ifElseChain' gocritic check
  • e781eaa Update project-add.yml
  • 89e9456 Merge pull request #147 from SiaFoundation/nate/rhp2-release
  • 008e275 add release to rhp2 settings
  • c9bd79d Merge pull request #146 from SiaFoundation/currency-string
  • Additional commits viewable in compare view

Dependabot compatibility score

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)
Apr 15, 2024

Bumps golang.org/x/sys from 0.18.0 to 0.19.0.

Commits
  • cabba82 windows: use uint32 for serial comm flags for consistency
  • 1a50d97 windows: add serial comm functions
  • 95f07ec 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 compatibility score

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)
Apr 15, 2024

Bumps golang.org/x/crypto from 0.21.0 to 0.22.0.

Commits
  • d042a39 go.mod: update golang.org/x dependencies
  • b92bf94 ssh: respect MaxAuthTries also for "none" auth attempts
  • 6f79b5a ssh: add server side multi-step authentication
  • 8d0d405 x/crypto/chacha20: cleanup chacha_ppc64le.s
  • b91329d all: remove redundant words in comments and fix some typos
  • See full diff in compare view

Dependabot compatibility score

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)
Apr 10, 2024

Bumps go.sia.tech/core from 0.2.2-0.20240404003127-f4248250d041 to 0.2.2.

Commits

Dependabot compatibility score

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)
Apr 10, 2024

Bumps golang.org/x/term from 0.18.0 to 0.19.0.

Commits

Dependabot compatibility score

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)
Apr 10, 2024

Bumps golang.org/x/term from 0.18.0 to 0.19.0.

Commits

Dependabot compatibility score

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)
Apr 10, 2024

Bumps golang.org/x/sys from 0.18.0 to 0.19.0.

Commits
  • cabba82 windows: use uint32 for serial comm flags for consistency
  • 1a50d97 windows: add serial comm functions
  • 95f07ec 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 compatibility score

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)
Apr 10, 2024

Bumps go.sia.tech/core from 0.2.2-0.20240404003127-f4248250d041 to 0.2.2.

Commits

Dependabot compatibility score

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)
Apr 10, 2024

Bumps golang.org/x/sys from 0.18.0 to 0.19.0.

Commits
  • cabba82 windows: use uint32 for serial comm flags for consistency
  • 1a50d97 windows: add serial comm functions
  • 95f07ec 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 compatibility score

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)
Apr 10, 2024

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

Dependabot compatibility score

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)
Apr 5, 2024
Apr 5, 2024

Closes #98

Apr 4, 2024
Apr 4, 2024

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
Apr 3, 2024
Apr 3, 2024
Apr 3, 2024
  • Adds an endpoint for build info to match hostd and renterd
  • Renames POST /resubscribe to POST /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.
Apr 2, 2024
Apr 2, 2024

Fixes an underflow panic when calling resubscribe

Apr 1, 2024

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:

  • deps: bumps dependabot/fetch-metadata from 1.6.0 to 1.7.0 (#1593)
  • deps: bumps dependabot/fetch-metadata from 1.7.0 to 2.0.0 (#1607)
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:

  • deps: bumps dependabot/fetch-metadata from 1.6.0 to 1.7.0 (#1593)
  • deps: bumps dependabot/fetch-metadata from 1.7.0 to 2.0.0 (#1607)
Commits
  • 228b052 Update CHANGELOG.md
  • 08bfdca update CHANGELOG.md
  • 7a6dcfe update CHANGELOG.md
  • 9ff8452 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 template
  • 1abdab8 build(deps): bump dependabot/fetch-metadata from 1.6.0 to 1.7.0 (#1593)
  • See full diff in compare view

Dependabot compatibility score

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)
Mar 30, 2024
Mar 28, 2024
Mar 27, 2024

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.

Mar 27, 2024
Mar 26, 2024
Mar 26, 2024

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 is main
  • If v0.0.0-beta component is beta
  • Otherwise, component is nightly

Nightly releases will have their apt version set to YYYYMMDD-{commit}.

Mar 26, 2024

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:

  • deps: bumps actions/checkout from 2 to 4 (#1573)
  • deps: bumps google.golang.org/protobuf from 1.28.0 to 1.33.0 (#1558)
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:

  • deps: bumps actions/checkout from 2 to 4 (#1573)
  • deps: bumps google.golang.org/protobuf from 1.28.0 to 1.33.0 (#1558)
Commits
  • fdcac68 Update CHANGELOG.md
  • 4c5aa81 update CHANGELOG.md
  • 6f98ca9 Merge pull request #1573 from cloudflare/dependabot/github_actions/actions/ch...
  • d70a50f add CHANGELOG for #1573
  • 9db0464 build(deps): bump actions/checkout from 2 to 4
  • 241c688 remove 'question' label
  • 5a710e9 add generation-issue label
  • 755992e Merge pull request #1568 from cloudflare/github-labels-syncer
  • 19c6f88 ci: add automation for GitHub issues syncing
  • 3081d28 Merge pull request #1562 from russellkerns/rkerns/AUTH-5974
  • Additional commits viewable in compare view

Dependabot compatibility score

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)
Mar 26, 2024
Mar 25, 2024

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.

Mar 25, 2024
Mar 19, 2024
Mar 19, 2024

Cherry-picked from #142

Mar 19, 2024

This should get rid of the node16 deprecation warnings

Mar 18, 2024

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:

  • deps: bumps github.com/stretchr/testify from 1.8.4 to 1.9.0 (#1511)
  • deps: bumps golang.org/x/net from 0.21.0 to 0.22.0 (#1513)
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:

  • deps: bumps github.com/stretchr/testify from 1.8.4 to 1.9.0 (#1511)
  • deps: bumps golang.org/x/net from 0.21.0 to 0.22.0 (#1513)
Commits

Dependabot compatibility score

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)
Mar 18, 2024
Mar 15, 2024
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.

Mar 11, 2024
Mar 7, 2024

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.

Mar 7, 2024

Bumps golang.org/x/sys from 0.5.0 to 0.18.0.

Commits
  • 360f961 unix: add API for fsconfig system call
  • 7ff74af unix: drop go version tags for unsupported versions
  • 6b4eab5 unix: suppress ENOMEM errors from sysctl's implementing Uname(uname *Utsname)...
  • 2f2cc5d unix: update IFLA and NETKIT constants with Linux kernel 6.7
  • 914b96c windows: support ill-formed UTF-16 in UTF16PtrToString
  • 511ec84 Revert "windows: support nil done parameter in ReadFile and WriteFile"
  • 628365d windows: support nil done parameter in ReadFile and WriteFile
  • bef1bd8 unix: move mksyscall regexp to package level variables
  • 5710a32 unix/linux: update Linux kernel to 6.7
  • b3ce6a3 windows: build env_windows_test.go only go Go 1.21 and above
  • Additional commits viewable in compare view

Dependabot compatibility score

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)
Mar 7, 2024

Bumps golang.org/x/crypto from 0.0.0-20220507011949-2cf3adece122 to 0.21.0.

Commits

Dependabot compatibility score

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)
Mar 7, 2024
Mar 7, 2024

Bumps go.sia.tech/coreutils from 0.0.0-20240130201319-8303550528d7 to 0.0.3.

Commits

Dependabot compatibility score

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)
Mar 7, 2024

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 for SugaredLogger.
  • #1399[]: zaptest: Add NewTestingWriter for customizing TestingWriter with more flexibility than NewLogger.
  • #1406[]: Add Log, Logw, Logln methods for SugaredLogger.
  • #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 for SugaredLogger.
  • #1399[]: zaptest: Add NewTestingWriter for customizing TestingWriter with more flexibility than NewLogger.
  • #1406[]: Add Log, Logw, Logln methods for SugaredLogger.
  • #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

Dependabot compatibility score

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)
Mar 7, 2024

Bumps golang.org/x/term from 0.6.0 to 0.18.0.

Commits
  • c5eaf76 go.mod: update golang.org/x dependencies
  • 353276a go.mod: update golang.org/x dependencies
  • ae94145 go.mod: update golang.org/x dependencies
  • ee66497 go.mod: update golang.org/x dependencies
  • 70d3a0b go.mod: update golang.org/x dependencies
  • 6a610bc all: update go directive to 1.18
  • ea6303a go.mod: update golang.org/x dependencies
  • f413282 go.mod: update golang.org/x dependencies
  • 19e73c2 go.mod: update golang.org/x dependencies
  • edd9fb7 go.mod: update golang.org/x dependencies
  • Additional commits viewable in compare view

Dependabot compatibility score

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)
Mar 7, 2024

Bumps github.com/mattn/go-sqlite3 from 1.14.21 to 1.14.22.

Commits

Dependabot compatibility score

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)
Mar 7, 2024

Adding dependabot to match renterd.

Mar 1, 2024
Feb 28, 2024

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.

Feb 28, 2024
  • 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
Feb 27, 2024

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.

Feb 27, 2024

Fixes the return type of client.Wallets() and fixes the [POST] /wallets request

Feb 26, 2024
Feb 26, 2024
  • 4506593d: All app data will now refresh more frequently.
Feb 24, 2024
  • 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
Feb 23, 2024

A mysterious force of nature inspired me to write this code today, thereby increasing the code coverage to 75.7%

Feb 8, 2024
Jan 30, 2024

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 uint64s. 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.

Jan 16, 2024
Dec 11, 2023

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.

Dec 9, 2023

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.

Dec 8, 2023

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"}
Nov 3, 2023

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.

Nov 3, 2023

Refers #130

Nov 3, 2023

Get consensus coverage up to 79.8%

Oct 16, 2023

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 😭

Oct 13, 2023

Add a test similar to TestP2P in walletd and add some extra cases mostly relating to file contracts to the validation test.

Oct 11, 2023

I was working around this in both renterd and hostd but it's easier to update it here instead.

Oct 4, 2023

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.

Oct 2, 2023

Fixes the node12 deprecation warning

Oct 2, 2023

Increases the go versions used in CI from 1.17 and 1.18 to 1.20 and 1.21

Aug 29, 2023

Adds validation tests for V2Blocks/V2Transactions.