Skip to content

feat: implement upload history#679

Merged
slapec93 merged 15 commits intomasterfrom
feat/implement-upload-history
Apr 22, 2026
Merged

feat: implement upload history#679
slapec93 merged 15 commits intomasterfrom
feat/implement-upload-history

Conversation

@slapec93
Copy link
Copy Markdown
Collaborator

@slapec93 slapec93 commented Apr 20, 2026

Introducing history tracking for uploads, it gets saved in JSON format in a file called upload-history.json in the .swarm-cli folder. Also to show the history a new command group is added with two commands, list and show:

> swarm-cli history list
image
> swarm-cli history show 3
image

@slapec93 slapec93 linked an issue Apr 20, 2026 that may be closed by this pull request
import { ellipsis } from '../../utils/text'

export class List extends HistoryCommand implements LeafCommand {
public readonly name = 'list'
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add alias ls

Comment thread src/command/history/show.ts Outdated
key: 'index',
description: 'Index of the history item',
required: true,
autocompletePath: true,
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove, this is not a path.

Comment thread src/command/history/show.ts Outdated
required: true,
autocompletePath: true,
})
public index!: string
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can add type: 'number' in @Argument, and type it as public index!: number instead.

You can remove the parseInt on L23 too.

@slapec93 slapec93 marked this pull request as ready for review April 21, 2026 13:54
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

File name should be history-item.ts, e.g. withdraw-all.ts and cheque-command.ts; source files in this repository follow this convention.

Comment thread src/command/upload.ts Outdated
reference: swarmHash,
stamp: this.stamp,
path: this.path,
uploadType: this.path ? 'file' : 'stdin',
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this.path does not necessarily mean it is a file upload, it can still be a folder.

Please see and use uploadingFolder variable in src/command/upload.ts

(const uploadingFolder = !this.stdin && FS.statSync(this.path).isDirectory())

@Cafe137 Cafe137 linked an issue Apr 21, 2026 that may be closed by this pull request
@github-actions
Copy link
Copy Markdown
Contributor

File Coverage Now Coverage Before Delta% Rating
Total 2069 / 2774 1963 / 2685 1.48 🟢
application.ts 0 / 2 0 / 2 0.00
config.ts 32 / 33 31 / 32 0.09 🟢
curl.ts 24 / 24 24 / 24 0.00
index.ts 0 / 16 0 / 16 0.00
printer.ts 3 / 7 3 / 7 0.00
command/addresses.ts 32 / 37 32 / 37 0.00
command/download.ts 28 / 35 28 / 35 0.00
command/hash.ts 8 / 10 8 / 10 0.00
command/quickstart.ts 10 / 37 10 / 37 0.00
command/status.ts 79 / 79 57 / 79 27.85 🟢
command/upload.ts 157 / 223 147 / 212 1.06 🟢
command/cheque/cashout.ts 30 / 32 30 / 32 0.00
command/cheque/cheque-command.ts 21 / 25 21 / 25 0.00
command/cheque/deposit.ts 8 / 12 8 / 12 0.00
command/cheque/index.ts 9 / 9 9 / 9 0.00
command/cheque/list.ts 13 / 13 13 / 13 0.00
command/cheque/withdraw-all.ts 6 / 15 6 / 15 0.00
command/cheque/withdraw.ts 8 / 12 8 / 12 0.00
command/feed/feed-command.ts 49 / 49 47 / 47 0.00
command/feed/index.ts 7 / 7 7 / 7 0.00
command/feed/print.ts 26 / 80 26 / 80 0.00
command/feed/update.ts 14 / 15 14 / 15 0.00
command/feed/upload.ts 25 / 27 22 / 24 0.93 🟢
command/grantee/create.ts 20 / 20 20 / 20 0.00
command/grantee/get.ts 11 / 11 11 / 11 0.00
command/grantee/grantee-command.ts 2 / 2 2 / 2 0.00
command/grantee/index.ts 7 / 7 7 / 7 0.00
command/grantee/patch.ts 21 / 21 21 / 21 0.00
command/history/history-command.ts 2 / 2 0 / 0 100.00 🟢
command/history/index.ts 6 / 6 0 / 0 100.00 🟢
command/history/list.ts 14 / 14 0 / 0 100.00 🟢
command/history/show.ts 23 / 25 0 / 0 92.00 🟢
command/identity/create.ts 36 / 41 36 / 41 0.00
command/identity/export.ts 20 / 22 20 / 22 0.00
command/identity/identity-command.ts 21 / 27 21 / 27 0.00
command/identity/import.ts 50 / 63 50 / 63 0.00
command/identity/index.ts 11 / 11 11 / 11 0.00
command/identity/list.ts 21 / 21 21 / 21 0.00
command/identity/remove.ts 15 / 21 15 / 21 0.00
command/identity/rename.ts 16 / 16 16 / 16 0.00
command/identity/show.ts 27 / 33 27 / 33 0.00
command/manifest/add.ts 38 / 39 38 / 39 0.00
command/manifest/create.ts 16 / 17 16 / 17 0.00
command/manifest/download.ts 49 / 50 49 / 50 0.00
command/manifest/index.ts 11 / 11 11 / 11 0.00
command/manifest/list.ts 40 / 42 40 / 42 0.00
command/manifest/merge.ts 24 / 25 24 / 25 0.00
command/manifest/remove.ts 26 / 29 26 / 29 0.00
command/manifest/sync.ts 46 / 50 46 / 50 0.00
command/pinning/index.ts 9 / 9 9 / 9 0.00
command/pinning/list.ts 14 / 14 14 / 14 0.00
command/pinning/pin.ts 10 / 11 10 / 11 0.00
command/pinning/pinning-command.ts 5 / 8 5 / 8 0.00
command/pinning/reupload-all.ts 21 / 23 21 / 23 0.00
command/pinning/reupload.ts 9 / 17 9 / 17 0.00
command/pinning/unpin.ts 11 / 11 11 / 11 0.00
command/pss/index.ts 7 / 7 7 / 7 0.00
command/pss/pss-command.ts 8 / 8 8 / 8 0.00
command/pss/receive.ts 18 / 24 18 / 24 0.00
command/pss/send.ts 29 / 34 29 / 34 0.00
command/pss/subscribe.ts 8 / 18 8 / 18 0.00
command/root-command/command-config.ts 30 / 36 30 / 36 0.00
command/root-command/command-log.ts 60 / 78 60 / 78 0.00
command/root-command/index.ts 40 / 44 40 / 44 0.00
command/root-command/printer.ts 9 / 9 9 / 9 0.00
command/stake/deposit.ts 31 / 40 31 / 40 0.00
command/stake/index.ts 8 / 8 8 / 8 0.00
command/stake/recover.ts 10 / 22 10 / 22 0.00
command/stake/status.ts 11 / 11 11 / 11 0.00
command/stake/withdraw.ts 7 / 25 7 / 25 0.00
command/stamp/buy.ts 51 / 65 51 / 65 0.00
command/stamp/create.ts 18 / 72 18 / 72 0.00
command/stamp/dilute.ts 12 / 27 12 / 27 0.00
command/stamp/extend.ts 10 / 51 10 / 51 0.00
command/stamp/index.ts 11 / 11 11 / 11 0.00
command/stamp/list.ts 28 / 31 28 / 31 0.00
command/stamp/show.ts 13 / 14 13 / 14 0.00
command/stamp/stamp-command.ts 3 / 7 3 / 7 0.00
command/stamp/topup.ts 11 / 23 11 / 23 0.00
command/utility/cid.ts 8 / 13 8 / 13 0.00
command/utility/create-batch.ts 14 / 34 14 / 34 0.00
command/utility/index.ts 14 / 22 14 / 22 0.00
command/utility/lock.ts 7 / 11 7 / 11 0.00
command/utility/rchash.ts 7 / 23 7 / 23 0.00
command/utility/redeem.ts 12 / 51 12 / 51 0.00
command/utility/unlock.ts 7 / 12 7 / 12 0.00
command/wallet/index.ts 7 / 7 7 / 7 0.00
command/wallet/status.ts 11 / 11 11 / 11 0.00
command/wallet/withdraw-bzz.ts 19 / 21 19 / 21 0.00
command/wallet/withdraw-dai.ts 19 / 21 19 / 21 0.00
service/history/index.ts 21 / 23 0 / 0 91.30 🟢
service/identity/index.ts 32 / 36 32 / 36 0.00
service/identity/types/identity.ts 4 / 4 4 / 4 0.00
service/identity/types/index.ts 1 / 1 1 / 1 0.00
service/stamp/index.ts 30 / 32 30 / 32 0.00
utils/bzz-address.ts 24 / 30 24 / 30 0.00
utils/chainsync.ts 4 / 4 4 / 4 0.00
utils/contracts.ts 3 / 3 3 / 3 0.00
utils/error.ts 39 / 44 39 / 44 0.00
utils/hex.ts 10 / 14 10 / 14 0.00
utils/index.ts 51 / 83 51 / 83 0.00
utils/message.ts 3 / 12 3 / 12 0.00
utils/mime.ts 5 / 5 5 / 5 0.00
utils/option.ts 3 / 3 3 / 3 0.00
utils/rpc.ts 9 / 37 9 / 37 0.00
utils/spinner.ts 15 / 15 15 / 15 0.00
utils/text.ts 16 / 19 14 / 17 1.86 🟢

@slapec93 slapec93 requested a review from Cafe137 April 22, 2026 08:11
@Cafe137 Cafe137 changed the title [feat] Implement upload history feat: implement upload history Apr 22, 2026
@slapec93 slapec93 merged commit d72a1de into master Apr 22, 2026
@slapec93 slapec93 deleted the feat/implement-upload-history branch April 22, 2026 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement upload history Save hash with postage stamp in json file

2 participants