Skip to content

Commit 7a66fa8

Browse files
committed
feat: per-chunk stamped putter for WebSocket chunk uploads
- Support per-chunk postage stamps in WebSocket chunk stream endpoint - When BatchID header is omitted, each chunk message must include a 113-byte stamp prefix - Add chunkDecoder abstraction (decodeChunkWithStamp / decodeChunkWithoutStamp) - Extract newStampedPutterWithBatch to avoid repeated batch DB lookups - Cache batch metadata per WebSocket connection for performance - Add swarm-tag query parameter fallback for browser WebSocket compatibility
1 parent fec3ecd commit 7a66fa8

144 files changed

Lines changed: 3400 additions & 8443 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/ISSUE_TEMPLATE/bug-report.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,3 @@ If you can't remember the exact actions you took, please try to give an accurate
3232
account of what happened and disclose any pieces of information possibly related to the problem. -->
3333

3434
### Possible solution
35-
36-
### AI Disclosure
37-
- [ ] This issue contains suggestions and text generated by an LLM.
38-
- [ ] I have reviewed the AI generated content thoroughly.
39-
- [ ] I possess the technical expertise to responsibly review the AI generated content mentioned in this issue.

.github/ISSUE_TEMPLATE/documentation-issue.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,3 @@ assignees: ''
1212

1313
### Description
1414
<!--Please describe the issue.-->
15-
16-
### AI Disclosure
17-
- [ ] This issue contains suggestions and text generated by an LLM.
18-
- [ ] I have reviewed the AI generated content thoroughly.
19-
- [ ] I possess the technical expertise to responsibly review the AI generated content mentioned in this issue.

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,3 @@ Are you willing to implement this feature?-->
2020

2121
#### Drawbacks
2222
<!-- Why should we not do this? -->
23-
24-
### AI Disclosure
25-
- [ ] This issue contains suggestions and text generated by an LLM.
26-
- [ ] I have reviewed the AI generated content thoroughly.
27-
- [ ] I possess the technical expertise to responsibly review the AI generated content mentioned in this issue.

.github/ISSUE_TEMPLATE/task.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,3 @@ assignees: ''
1616

1717
## Acceptance criteria
1818
<!-- how to verify when this task is completed? -->
19-
20-
### AI Disclosure
21-
- [ ] This issue contains suggestions and text generated by an LLM.
22-
- [ ] I have reviewed the AI generated content thoroughly.
23-
- [ ] I possess the technical expertise to responsibly review the AI generated content mentioned in this issue.

.github/pull_request_template.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,3 @@
1818
<!-- List any dependencies that are required for this change.-->
1919

2020
### Screenshots (if appropriate):
21-
22-
### AI Disclosure
23-
- [ ] This PR contains code that has been generated by an LLM.
24-
- [ ] I have reviewed the AI generated code thoroughly.
25-
- [ ] I possess the technical expertise to responsibly review the code generated in this PR.

.github/workflows/beekeeper.yml

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,6 @@ jobs:
158158
- name: Test manifest
159159
id: manifest
160160
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks=ci-manifest
161-
- name: Test manifest v1
162-
id: manifest-v1
163-
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks=ci-manifest-v1
164161
- name: Test postage stamps
165162
id: postage-stamps
166163
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks ci-postage
@@ -176,9 +173,6 @@ jobs:
176173
- name: Test act
177174
id: act
178175
run: timeout ${TIMEOUT} bash -c 'until beekeeper check --cluster-name local-dns --checks ci-act; do echo "waiting for act..."; sleep .3; done'
179-
- name: Test feeds v1
180-
id: feeds-v1
181-
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks=ci-feed-v1
182176
- name: Test feeds
183177
id: feeds
184178
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks=ci-feed
@@ -192,18 +186,10 @@ jobs:
192186
if ${{ steps.settlements.outcome=='failure' }}; then FAILED=settlements; fi
193187
if ${{ steps.pss.outcome=='failure' }}; then FAILED=pss; fi
194188
if ${{ steps.soc.outcome=='failure' }}; then FAILED=soc; fi
195-
if ${{ steps.gsoc.outcome=='failure' }}; then FAILED=gsoc; fi
196189
if ${{ steps.pushsync-chunks-1.outcome=='failure' }}; then FAILED=pushsync-chunks-1; fi
197190
if ${{ steps.pushsync-chunks-2.outcome=='failure' }}; then FAILED=pushsync-chunks-2; fi
198191
if ${{ steps.retrieval.outcome=='failure' }}; then FAILED=retrieval; fi
199192
if ${{ steps.manifest.outcome=='failure' }}; then FAILED=manifest; fi
200-
if ${{ steps.manifest-v1.outcome=='failure' }}; then FAILED=manifest-v1; fi
201-
if ${{ steps.postage-stamps.outcome=='failure' }}; then FAILED=postage-stamps; fi
202-
if ${{ steps.stake.outcome=='failure' }}; then FAILED=stake; fi
203-
if ${{ steps.withdraw.outcome=='failure' }}; then FAILED=withdraw; fi
204-
if ${{ steps.redundancy.outcome=='failure' }}; then FAILED=redundancy; fi
205-
if ${{ steps.feeds.outcome=='failure' }}; then FAILED=feeds; fi
206-
if ${{ steps.feeds-v1.outcome=='failure' }}; then FAILED=feeds-v1; fi
207193
if ${{ steps.act.outcome=='failure' }}; then FAILED=act; fi
208194
curl -sSf -X POST -H "Content-Type: application/json" -d "{\"text\": \"**${RUN_TYPE}** Beekeeper Error\nBranch: \`${{ github.head_ref }}\`\nUser: @${{ github.event.pull_request.user.login }}\nDebugging artifacts: [click](https://$BUCKET_NAME.$AWS_ENDPOINT/artifacts_$VERTAG.tar.gz)\nStep failed: \`${FAILED}\`\"}" https://beehive.ethswarm.org/hooks/${{ secrets.TUNSHELL_KEY }}
209195
echo "Failed test: ${FAILED}"

.github/workflows/go.yml

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,6 @@ jobs:
2727
with:
2828
cache: true
2929
go-version-file: go.mod
30-
- name: Increase UDP buffer sizes (Ubuntu)
31-
if: matrix.os == 'ubuntu-latest'
32-
run: |
33-
sudo sysctl -w net.core.rmem_max=7500000
34-
sudo sysctl -w net.core.wmem_max=7500000
35-
- name: Increase UDP buffer sizes (macOS)
36-
if: matrix.os == 'macos-latest'
37-
run: |
38-
sudo sysctl -w kern.ipc.maxsockbuf=6291456
3930
- name: Build
4031
run: make build
4132
- name: Test with race detector (Ubuntu and MacOS)
@@ -75,10 +66,8 @@ jobs:
7566
- name: Commit linting
7667
if: github.ref != 'refs/heads/master'
7768
uses: wagoid/commitlint-github-action@v5
78-
with:
79-
configFile: commitlint.config.js
8069
- name: GolangCI-Lint
81-
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8
70+
uses: golangci/golangci-lint-action@v8
8271
with:
8372
skip-cache: false
8473
version: v2.5.0
@@ -108,7 +97,7 @@ jobs:
10897
- name: Test with code coverage
10998
run: make cover=1 test-ci
11099
- name: Upload coverage to Codecov
111-
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5
100+
uses: codecov/codecov-action@v5
112101
with:
113102
token: ${{ secrets.CODECOV_TOKEN }}
114103
fail_ci_if_error: true

.github/workflows/pr-title.yml

Lines changed: 0 additions & 23 deletions
This file was deleted.

.github/workflows/release.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ jobs:
2424
printf ${{ secrets.DOCKERHUB_PASSWORD }} | docker login --username ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin
2525
printf ${{ secrets.QUAY_PASSWORD }} | docker login --username ${{ secrets.QUAY_USERNAME }} quay.io --password-stdin
2626
- name: Set up QEMU
27-
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3
27+
uses: docker/setup-qemu-action@v3
2828
- name: Set up Docker Buildx
29-
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
29+
uses: docker/setup-buildx-action@v3
3030
- name: Import GPG key
3131
run: |
3232
echo "$GPG_PRIVATE_KEY" | gpg --import --passphrase "$GPG_PASSPHRASE" --batch --allow-secret-key-import
@@ -37,7 +37,7 @@ jobs:
3737
run: |
3838
echo "BEE_API_VERSION=$(grep '^ version:' openapi/Swarm.yaml | awk '{print $2}')" >> $GITHUB_ENV
3939
- name: Run GoReleaser
40-
uses: goreleaser/goreleaser-action@e435ccd777264be153ace6237001ef4d979d3a7a # v6
40+
uses: goreleaser/goreleaser-action@v6
4141
with:
4242
version: '~> v2'
4343
args: release --clean --timeout 1h

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
/.idea
33
/.vscode
44
/tmp
5-
/vendor
65

76
# Compiled Object files, Static and Dynamic libs (Shared Objects)
87
*.o

0 commit comments

Comments
 (0)