Skip to content

feat: add upload history enable, disable and status commands#683

Merged
slapec93 merged 26 commits intomasterfrom
feat/implement-opt-out-action-for-the-upload-history-feature
Apr 28, 2026
Merged

feat: add upload history enable, disable and status commands#683
slapec93 merged 26 commits intomasterfrom
feat/implement-opt-out-action-for-the-upload-history-feature

Conversation

@slapec93
Copy link
Copy Markdown
Collaborator

@slapec93 slapec93 commented Apr 22, 2026

Add new commands to history group to be able to opt-out of history tracking. enable, disable and status got added. A new config file field (historyEnabled) is stored which indicates, whether we should save history items or not.

@slapec93 slapec93 linked an issue Apr 22, 2026 that may be closed by this pull request
Gergely Békési and others added 5 commits April 22, 2026 13:42
@slapec93 slapec93 changed the title Feat/implement opt out action for the upload history feature feat: add upload history enable, disable and status commands Apr 23, 2026
@slapec93 slapec93 marked this pull request as ready for review April 23, 2026 08:42
@slapec93 slapec93 requested a review from Cafe137 as a code owner April 23, 2026 08:42
Comment thread src/command/history/status.ts Outdated
if (existsSync(this.commandConfig.getHistoryFilePath())) {
size = statSync(this.commandConfig.getHistoryFilePath()).size
}
this.console.log(`History file size: ${size} bytes`)
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.

My bad with the specs - this should display the number of items/records/entries in the upload history, not size in bytes 🙂

Comment on lines +69 to +71
if (existsSync(this.getHistoryFilePath())) {
unlinkSync(this.getHistoryFilePath())
}
Copy link
Copy Markdown
Collaborator

@Cafe137 Cafe137 Apr 23, 2026

Choose a reason for hiding this comment

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

This shouldn't always delete the history.

As per of the original issue:

command that disables the feature and asks the end user whether they want to delete their existing history

Use case 1 -- I plan to upload some test files, and for that I pause the upload tracking with this command. The command asks me if I want to delete my history, I type n as I don't want to lose my history. I re-enable the tracking after I am done with the test files.

Use case 2 -- I upload confidential data to Swarm and I only realize halfway through the operation that my upload history is enabled and recording these actions. I run history disable and type y to erase my history as I don't want to store data on my computer that links my actions.

Copy link
Copy Markdown
Collaborator

@Cafe137 Cafe137 left a comment

Choose a reason for hiding this comment

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

Code LGTM, only 2 comments left regarding the behavior of the commands.

@slapec93 slapec93 requested a review from Cafe137 April 24, 2026 17:11
Comment thread src/command/history/enable.ts Outdated
return
}
this.commandConfig.setHistoryEnabled(true)
writeFileSync(this.commandConfig.getHistoryFilePath(), JSON.stringify([]))
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.

Looks like it can overwrite an existing history with an empty history when resuming after a pause

Copy link
Copy Markdown
Collaborator

@Cafe137 Cafe137 left a comment

Choose a reason for hiding this comment

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

Please check the aforementioned overwrite problem, otherwise LGTM

@github-actions
Copy link
Copy Markdown
Contributor

File Coverage Now Coverage Before Delta% Rating
Total 2130 / 2834 2069 / 2774 0.57 🟢
application.ts 0 / 2 0 / 2 0.00
config.ts 32 / 33 32 / 33 0.00
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 79 / 79 0.00
command/upload.ts 157 / 223 157 / 223 0.00
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 49 / 49 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 26 / 28 25 / 27 0.26 🟢
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/disable.ts 18 / 18 0 / 0 100.00 🟢
command/history/enable.ts 15 / 15 0 / 0 100.00 🟢
command/history/history-command.ts 2 / 2 2 / 2 0.00
command/history/index.ts 9 / 9 6 / 6 0.00
command/history/list.ts 17 / 17 14 / 14 0.00
command/history/show.ts 26 / 28 23 / 25 0.86 🟢
command/history/status.ts 16 / 16 0 / 0 100.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 33 / 39 30 / 36 1.28 🟢
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 19 / 21 21 / 23 -0.83 🔴
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 17 / 19 16 / 19 5.26 🟢

@slapec93 slapec93 requested a review from Cafe137 April 27, 2026 14:07
@slapec93 slapec93 merged commit dd9a74b into master Apr 28, 2026
@slapec93 slapec93 deleted the feat/implement-opt-out-action-for-the-upload-history-feature branch April 28, 2026 06:31
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 opt-out action for the upload history feature

2 participants