Skip to content

Commit

Permalink
Allows the ignored files for send folder types.
Browse files Browse the repository at this point in the history
  • Loading branch information
p0l0us committed Sep 27, 2023
1 parent a87d85c commit b7e7217
Show file tree
Hide file tree
Showing 9 changed files with 43 additions and 39 deletions.
4 changes: 2 additions & 2 deletions gui/default/index.html
Expand Up @@ -474,10 +474,10 @@ <h4 class="panel-title">
<a href="" ng-click="showLocalChanged(folder.id, folder.type)">{{model[folder.id].receiveOnlyTotalItems | alwaysNumber | localeNumber}} <span translate>items</span>, ~{{model[folder.id].receiveOnlyChangedBytes | binary}}B</a>
</td>
</tr>
<tr ng-if="hasReceiveOnlyIgnored(folder)">
<tr ng-if="hasLocalIgnored(folder)">
<th><span class="fas fa-fw fa-exclamation-circle"></span>&nbsp;<span translate>Ignored items</span></th>
<td class="text-right">
<a href="" ng-click="showLocalIgnored(folder.id, folder.type)">{{model[folder.id].receiveOnlyIgnoredTotalItems | alwaysNumber | localeNumber}} <span translate>items</span>, ~{{model[folder.id].receiveOnlyIgnoredBytes | binary}}B</a>
<a href="" ng-click="showLocalIgnored(folder.id, folder.type)">{{model[folder.id].localIgnoredTotalItems | alwaysNumber | localeNumber}} <span translate>items</span>, ~{{model[folder.id].localIgnoredBytes | binary}}B</a>
</td>
</tr>
<tr>
Expand Down
8 changes: 3 additions & 5 deletions gui/default/syncthing/core/syncthingController.js
Expand Up @@ -2918,14 +2918,12 @@ angular.module('syncthing.core')
});
};

$scope.hasReceiveOnlyIgnored = function (folderCfg) {

if (!folderCfg || ["receiveonly", "receiveencrypted"].indexOf(folderCfg.type) === -1) {
$scope.hasLocalIgnored = function (folderCfg) {
if (!folderCfg || ["sendreceive", "sendonly", "receiveonly"].indexOf(folderCfg.type) === -1) {
return false;
}
var counts = $scope.model[folderCfg.id];
console.log("hasReceiveOnlyIgnored", counts)
return counts && counts.receiveOnlyIgnoredFiles > 0;
return counts && counts.localIgnoredFiles > 0;
};

$scope.revertOverride = function () {
Expand Down
10 changes: 3 additions & 7 deletions gui/default/syncthing/transfer/localIgnoredFilesModalView.html
@@ -1,20 +1,16 @@
<modal id="localIgnored" status="{{localIgnoredType === 'receiveencrypted' ? 'warning' : 'info'}}" icon="fas fa-exclamation-circle" heading="{{localIgnoredHeading(localIgnoredType)}}" large="yes" closeable="yes">
<modal id="localIgnored" status="info" icon="fas fa-exclamation-circle" heading="{{localIgnoredHeading(localIgnoredType)}}" large="yes" closeable="yes">
<div class="modal-body" ng-switch="localIgnoredType">
<p ng-switch-when="receiveonly" translate>
<p translate>
The following items were ignored locally.
</p>
<p ng-switch-when="receiveencrypted">
<span translate>The following unexpected items were found.</span>
<span translate translate-value-receive-encrypted="{{'Receive Encrypted' | translate}}">You should never add or change anything locally in a "{%receiveEncrypted%}" folder.</span>
</p>
<table class="table table-striped">
<thead>
<tr>
<th translate>Path</th>
<th translate>Size</th>
</tr>
</thead>
<tr dir-paginate="file in localIgnored.files | itemsPerPage: localIgnored.perpage" current-page="localIgnored.page" total-items="model[localIgnoredFolder].receiveOnlyIgnoredTotalItems" pagination-id="localIgnored">
<tr dir-paginate="file in localIgnored.files | itemsPerPage: localIgnored.perpage" current-page="localIgnored.page" total-items="model[localIgnoredFolder].localIgnoredTotalItems" pagination-id="localIgnored">
<td class="word-break-all">{{file.name}}</td>
<td><span ng-hide="file.type == 'DIRECTORY'">{{file.size | binary}}B</span></td>
</tr>
Expand Down
2 changes: 1 addition & 1 deletion lib/model/folder_sendonly.go
Expand Up @@ -54,7 +54,7 @@ func (f *sendOnlyFolder) pull() (bool, error) {
file := intf.(protocol.FileInfo)

if f.ignores.ShouldIgnore(intf.FileName()) {
file.SetIgnored(false)
file.SetIgnored(intf.IsIgnoredExisting())
batch.Append(file)
l.Debugln(f, "Handling ignored file", file)
return true
Expand Down
2 changes: 1 addition & 1 deletion lib/model/folder_sendrecv.go
Expand Up @@ -344,7 +344,7 @@ func (f *sendReceiveFolder) processNeeded(snap *db.Snapshot, dbUpdateChan chan<-

switch {
case f.ignores.ShouldIgnore(file.Name):
file.SetIgnored(false)
file.SetIgnored(intf.IsIgnoredExisting())
l.Debugln(f, "Handling ignored file", file)
dbUpdateChan <- dbUpdateJob{file, dbUpdateInvalidate}

Expand Down
26 changes: 14 additions & 12 deletions lib/model/folder_summary.go
Expand Up @@ -112,12 +112,12 @@ type FolderSummary struct {
ReceiveOnlyChangedBytes int64 `json:"receiveOnlyChangedBytes"`
ReceiveOnlyTotalItems int `json:"receiveOnlyTotalItems"`

ReceiveOnlyIgnoredFiles int `json:"receiveOnlyIgnoredFiles"`
ReceiveOnlyIgnoredDirectories int `json:"receiveOnlyIgnoredDirectories"`
ReceiveOnlyIgnoredSymlinks int `json:"receiveOnlyIgnoredSymlinks"`
ReceiveOnlyIgnoredDeletes int `json:"receiveOnlyIgnoredDeletes"`
ReceiveOnlyIgnoredBytes int64 `json:"receiveOnlyIgnoredBytes"`
ReceiveOnlyIgnoredTotalItems int `json:"receiveOnlyIgnoredTotalItems"`
LocalIgnoredFiles int `json:"localIgnoredFiles"`
LocalIgnoredDirectories int `json:"localIgnoredDirectories"`
LocalIgnoredSymlinks int `json:"localIgnoredSymlinks"`
LocalIgnoredDeletes int `json:"localIgnoredDeletes"`
LocalIgnoredBytes int64 `json:"localIgnoredBytes"`
LocalIgnoredTotalItems int `json:"localIgnoredTotalItems"`

InSyncFiles int `json:"inSyncFiles"`
InSyncBytes int64 `json:"inSyncBytes"`
Expand Down Expand Up @@ -191,13 +191,15 @@ func (c *folderSummaryService) Summary(folder string) (*FolderSummary, error) {
res.ReceiveOnlyChangedDeletes = ro.Deleted
res.ReceiveOnlyChangedBytes = ro.Bytes
res.ReceiveOnlyTotalItems = ro.TotalItems()
}

res.ReceiveOnlyIgnoredFiles = ign.Files
res.ReceiveOnlyIgnoredDirectories = ign.Directories
res.ReceiveOnlyIgnoredSymlinks = ign.Symlinks
res.ReceiveOnlyIgnoredDeletes = ign.Deleted
res.ReceiveOnlyIgnoredBytes = ign.Bytes
res.ReceiveOnlyIgnoredTotalItems = ign.TotalItems()
if haveFcfg && (fcfg.Type == config.FolderTypeReceiveOnly || fcfg.Type == config.FolderTypeSendOnly || fcfg.Type == config.FolderTypeSendReceive) {
res.LocalIgnoredFiles = ign.Files
res.LocalIgnoredDirectories = ign.Directories
res.LocalIgnoredSymlinks = ign.Symlinks
res.LocalIgnoredDeletes = ign.Deleted
res.LocalIgnoredBytes = ign.Bytes
res.LocalIgnoredTotalItems = ign.TotalItems()
}

res.InSyncFiles, res.InSyncBytes = global.Files-need.Files, global.Bytes-need.Bytes
Expand Down
8 changes: 8 additions & 0 deletions lib/protocol/bep_extensions.go
Expand Up @@ -439,6 +439,14 @@ func (f *FileInfo) SetIgnored(exists bool) {
}
}

func (f *FileInfo) SetIgnoredExisting(existsing bool) {
if existsing {
f.setLocalFlags(f.LocalFlags | FlagLocalIgnoredExisting)
} else {
f.setLocalFlags(f.LocalFlags &^ FlagLocalIgnoredExisting)
}
}

func (f *FileInfo) SetUnsupported() {
f.setLocalFlags(FlagLocalUnsupported)
}
Expand Down
12 changes: 6 additions & 6 deletions next-gen-gui/src/app/folder.ts
Expand Up @@ -192,12 +192,12 @@ namespace Folder {
receiveOnlyChangedSymlinks: number;
receiveOnlyTotalItems: number;

receiveOnlyIgnoredBytes: number;
receiveOnlyIgnoredDeletes: number;
receiveOnlyIgnoredDirectories: number;
receiveOnlyIgnoreddFiles: number;
receiveOnlyIgnoredSymlinks: number;
receiveOnlyIgnoredTotalItems: number;
localIgnoredBytes: number;
localIgnoredDeletes: number;
localIgnoredDirectories: number;
localIgnoreddFiles: number;
localIgnoredSymlinks: number;
localIgnoredTotalItems: number;
sequence: number;
state: string;
stateChanged: string;
Expand Down
10 changes: 5 additions & 5 deletions next-gen-gui/src/app/mocks/mock-db-status.ts
Expand Up @@ -39,11 +39,11 @@ export const dbStatus =
"receiveOnlyChangedDirectories": 0,
"receiveOnlyChangedFiles": 0,
"receiveOnlyChangedSymlinks": 0,
"receiveOnlyIgnoredBytes": 0,
"receiveOnlyIgnoredDeletes": 0,
"receiveOnlyIgnoredDirectories": 0,
"receiveOnlyIgnoredFiles": 0,
"receiveOnlyIgnoredSymlinks": 0,
"localIgnoredBytes": 0,
"localIgnoredDeletes": 0,
"localIgnoredDirectories": 0,
"localIgnoredFiles": 0,
"localIgnoredSymlinks": 0,
"sequence": 0,
"state": "idle",
"stateChanged": "2018-08-08T07:04:57.301064781+02:00",
Expand Down

0 comments on commit b7e7217

Please sign in to comment.