Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
564d609
fix: [discover] add avahi discover
pppanghu77 Jun 25, 2024
c5b1f9c
fix: [build] fix build
pppanghu77 Jun 25, 2024
6620ed4
chore: [tag]v0.8.5
re2zero Jun 25, 2024
5bc6b4f
fix: [Multi user startup]fix Multi user startup test
pppanghu77 Jul 2, 2024
b268894
fix: [translation] add tip translation
pppanghu77 Jul 3, 2024
7f6c1c6
fix: [start] Change the startup sequence of the front-end and back-end
pppanghu77 Jul 22, 2024
337c340
chore: [tag]v0.8.6
pppanghu77 Jul 22, 2024
a10ac63
fix: [translation] add bo ug translation
pppanghu77 Jul 25, 2024
5ebc702
fix: [ui]Fix title icon issue
re2zero Aug 7, 2024
4a94e79
chore: [tag]v0.8.7
re2zero Aug 8, 2024
c68f3c6
fix: [share] Added the option to manually disconnect the other party …
pppanghu77 Aug 30, 2024
23b73f1
fix: [ui] Fix List Status
pppanghu77 Sep 2, 2024
9907acb
chore: [tag]v0.8.8
pppanghu77 Sep 2, 2024
f4e0af6
fix: [log] Modify the storage location of log level files
pppanghu77 Sep 5, 2024
279eaa7
fix: [trans] Fix translation and UI issues
pppanghu77 Sep 5, 2024
5b9281a
fix: [memory leaks] Fix memory leaks
pppanghu77 Sep 6, 2024
4cc7acb
fix: [daemon] The daemon is renamed dde operation daemon
pppanghu77 Sep 10, 2024
3e79f4d
chore: [tag]v0.8.9
pppanghu77 Sep 10, 2024
aba4bd7
fix: [thread] Increase the initial number of threads in threadpool
pppanghu77 Sep 12, 2024
372a7c3
fix: [cooperation] Fix the issue of disconnection after network disco…
pppanghu77 Sep 19, 2024
a976c75
fix: [optimization] Optimize user experience
pppanghu77 Sep 20, 2024
d59b3ce
fix: [ui] fix ui bug 108
pppanghu77 Oct 8, 2024
e0d24a1
fix: [UI] fix the password display is incomplet
add-uos Oct 8, 2024
a3bec05
fix: [crash] Probability crash upon awakening
pppanghu77 Nov 12, 2024
9621c38
fix: [ui] Unable to open from launcher after closing
pppanghu77 Dec 5, 2024
a05c2ff
fix: [setting] Filter file paths to limit depth to two directories
pppanghu77 Jun 20, 2025
59c209f
fix: (data-transfer) replace QNetworkInterface with CommonUtils for I…
pppanghu77 Dec 1, 2025
9978c02
fix(security): add path traversal protection in TransferJob and confi…
pppanghu77 Dec 12, 2025
0617b0f
feat: Remove displayjack kvm depend
re2zero Mar 25, 2025
b37c2d8
fix(rpc): add file transfer confirmation after successful authentication
pppanghu77 Mar 24, 2026
49a88dd
fix(transfer): do not remove transfer confirmation on job completion
pppanghu77 Apr 7, 2026
2fcc376
fix(data-transfer): save files to ~/Downloads subdirectory and only r…
pppanghu77 Apr 9, 2026
570cb50
chore: Sync by https://github.com/linuxdeepin/.github/commit/a300f852…
Aug 19, 2026
a9a4af5
fix(data-transfer): launch via deepin-security-loader to avoid polkit…
pppanghu77 Sep 1, 2026
3792405
fix(data-transfer): fix moveFile failure when source and target are o…
pppanghu77 Sep 7, 2026
60079db
fix(daemon): identify active desktop session by UID instead of username
pppanghu77 Sep 20, 2026
9a3f755
fix: reset file transfer stats on network interruption
pppanghu77 Oct 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions .github/workflows/call-update-changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Call update changelog

on:
workflow_dispatch:
inputs:
version:
description: "Target version; leave empty to auto bump"
required: false
type: string
name:
description: "Maintainer name used in debian/changelog"
required: true
type: string
email:
description: "Maintainer email used in debian/changelog"
required: true
type: string
base_branch:
description: "Base branch to read and target"
required: false
default: master
type: string
distribution:
description: "Changelog distribution"
required: false
default: unstable
type: string
create_pr:
description: "Create a pull request after generating changelog"
required: false
default: true
type: boolean

jobs:
update_changelog:
uses: linuxdeepin/.github/.github/workflows/update-changelog.yml@master
with:
version: ${{ inputs.version }}
name: ${{ inputs.name }}
email: ${{ inputs.email }}
base_branch: ${{ inputs.base_branch }}
distribution: ${{ inputs.distribution }}
create_pr: ${{ inputs.create_pr }}
secrets: inherit

show_result:
runs-on: ubuntu-latest
needs: update_changelog
steps:
- name: Show update changelog result
run: |
echo "Version: ${{ needs.update_changelog.outputs.version }}"
echo "Pull Request URL: ${{ needs.update_changelog.outputs.pr_url }}"
10 changes: 4 additions & 6 deletions .github/workflows/windows-mingw.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,16 +94,14 @@ jobs:
cmake.exe ../source/

- name: Inno Setup data-transfer
uses: Minionguyjpro/Inno-Setup-Action@v1.2.3
uses: nadeemjazmawe/inno-setup-action-cli@v6.0.5
with:
path: build/deepin-data-transfer-setup.iss
options: /O+
filepath: build/deepin-data-transfer-setup.iss

- name: Inno Setup cooperation
uses: Minionguyjpro/Inno-Setup-Action@v1.2.3
uses: nadeemjazmawe/inno-setup-action-cli@v6.0.5
with:
path: build/dde-cooperation-setup.iss
options: /O+
filepath: build/dde-cooperation-setup.iss

- name: Create Release
uses: softprops/action-gh-release@v1
Expand Down
1 change: 1 addition & 0 deletions 3rdparty/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ message(" >> include barrier...")
# barrier v2.4.0 release, upstream: https://github.com/debauchee/barrier
if (UNIX)
add_subdirectory(barrier)
add_subdirectory(QtZeroConf)
else()
# 拷贝编译好的版本windows版本
file(GLOB BARRIER_BINS ${CMAKE_CURRENT_SOURCE_DIR}/barrier/bins/*)
Expand Down
117 changes: 117 additions & 0 deletions 3rdparty/QtZeroConf/.clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
---
Language: Cpp
AlignConsecutiveMacros: AcrossEmptyLinesAndComments
AccessModifierOffset: -4
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Right
AlignOperands: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: true
AllowShortFunctionsOnASingleLine: InlineOnly
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: MultiLine
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
AfterClass: true
AfterControlStatement: false
AfterEnum: false
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: true
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
LambdaBodyIndentation: OuterScope
BreakBeforeBinaryOperators: All
BreakBeforeBraces: Custom #Linux
BreakBeforeInheritanceComma: false
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 180
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: false
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: false
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
- Regex: '.*'
Priority: 1
IncludeIsMainRegex: '(Test)?$'
IndentCaseLabels: true
IndentPPDirectives: None
IndentWidth: 4
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 1
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Right
ReflowComments: true
SortIncludes: false
SortUsingDeclarations: true
SpaceAfterCStyleCast: false
SpaceAfterTemplateKeyword: false
#SpaceBeforeAssignmentOperators: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInAngles: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
TabWidth: 4
UseTab: AlignWithSpaces
...

3 changes: 3 additions & 0 deletions 3rdparty/QtZeroConf/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*.user
*.o
moc_*
179 changes: 179 additions & 0 deletions 3rdparty/QtZeroConf/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
cmake_minimum_required(VERSION 3.4)
project(QtZeroConf VERSION 0.1.0)

find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Network)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Network)

set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(PUBLIC_HEADERS
qzeroconfservice.h
qzeroconfglobal.h
qzeroconf.h
)
add_library(QtZeroConf
${PUBLIC_HEADERS}
qzeroconfservice.cpp
)

include(GNUInstallDirs)

if(BUILD_SHARED_LIBS)
target_compile_definitions(QtZeroConf PRIVATE QT_BUILD_ZEROCONF_LIB)
set_target_properties(QtZeroConf PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION 0)
else()
target_compile_definitions(QtZeroConf PUBLIC QZEROCONF_STATIC)
endif()

if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
find_library(avahi-client-lib avahi-client REQUIRED)
find_library(avahi-common-lib avahi-common REQUIRED)
find_path(avahi-client-includes avahi-client/client.h REQUIRED)
find_path(avahi-common-includes avahi-common/defs.h REQUIRED)
target_sources(QtZeroConf PRIVATE
avahi-qt/qt-watch_p.h
avahi-qt/qt-watch.cpp
avahiclient.cpp
)
target_include_directories(QtZeroConf PRIVATE ${avahi-client-includes} ${avahi-common-includes})
list(APPEND ${PUBLIC_HEADERS}
avahi-qt/qt-watch.h
)
target_link_libraries(QtZeroConf PRIVATE ${avahi-client-lib} ${avahi-common-lib})
endif()

if(APPLE)
target_sources(QtZeroConf PRIVATE
bonjour_p.h
bonjour.cpp
)
find_library(CoreServices CoreServices)
target_link_libraries(QtZeroConf PUBLIC ${CoreServices})
endif()

target_include_directories(QtZeroConf PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:include/QtZeroConf>
)
target_link_libraries(QtZeroConf PUBLIC Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Network)

if(WIN32)
target_sources(QtZeroConf PRIVATE
bonjour_p.h
bonjour.cpp
bonjour-sdk/dnssd_clientlib.c
bonjour-sdk/dnssd_clientstub.c
bonjour-sdk/dnssd_ipc.c
)
target_link_libraries(QtZeroConf PUBLIC ws2_32)
if(MSVC)
target_link_libraries(QtZeroConf PUBLIC "legacy_stdio_definitions.lib")
endif()
target_compile_definitions(QtZeroConf PRIVATE
-DWIN32
-D_USRDLL
-DMDNS_DEBUGMSGS=0
-DWIN32_LEAN_AND_MEAN
-DUSE_TCP_LOOPBACK
-D_NO_CRT_STDIO_INLINE
-D_CRT_SECURE_NO_DEPRECATE
-D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1
-DNOT_HAVE_SA_LEN)
target_include_directories(QtZeroConf PRIVATE "${CMAKE_CURRENT_LIST_DIR}/bonjour-sdk")
endif()

if(ANDROID_AVAHI)
set(ACM "${CMAKE_CURRENT_LIST_DIR}/avahi-common")
set(ACR "${CMAKE_CURRENT_LIST_DIR}/avahi-core")
target_sources(QtZeroConf PRIVATE
qzeroconf.h
avahi-qt/qt-watch.h
avahi-qt/qt-watch_p.h
avahicore.cpp
avahi-qt/qt-watch.cpp
${ACM}/address.c
${ACM}/alternative.c
${ACM}/domain.c
${ACM}/error.c
${ACM}/i18n.c
${ACM}/malloc.c
${ACM}/rlist.c
${ACM}/simple-watch.c
${ACM}/strlst.c
${ACM}/thread-watch.c
${ACM}/timeval.c
${ACM}/utf8.c
${ACR}/addr-util.c
${ACR}/announce.c
${ACR}/browse.c
${ACR}/browse-dns-server.c
${ACR}/browse-domain.c
${ACR}/browse-service.c
${ACR}/browse-service-type.c
${ACR}/cache.c
${ACR}/dns.c
${ACR}/domain-util.c
${ACR}/entry.c
${ACR}/fdutil.c
${ACR}/hashmap.c
${ACR}/iface.c
${ACR}/iface-linux.c
${ACR}/log.c
${ACR}/multicast-lookup.c
${ACR}/netlink.c
${ACR}/prioq.c
${ACR}/probe-sched.c
${ACR}/querier.c
${ACR}/query-sched.c
${ACR}/resolve-address.c
${ACR}/resolve-host-name.c
${ACR}/resolve-service.c
${ACR}/response-sched.c
${ACR}/rr.c
${ACR}/rrlist.c
${ACR}/server.c
${ACR}/socket.c
${ACR}/timeeventq.c
${ACR}/util.c
${ACR}/wide-area.c
)
list(APPEND ${PUBLIC_HEADERS}
avahi-qt/qt-watch.h
)
target_compile_definitions(QtZeroConf PRIVATE HAVE_STRLCPY GETTEXT_PACKAGE HAVE_NETLINK)
elseif(ANDROID)
target_sources(QtZeroConf PRIVATE
qzeroconf.h
androidnsd_p.h
androidnsd.cpp
)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Gui)
target_link_libraries(QtZeroConf PUBLIC Qt${QT_VERSION_MAJOR}::Gui)
if (QT_VERSION_MAJOR EQUAL 5)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS AndroidExtras)
target_link_libraries(QtZeroConf PUBLIC Qt${QT_VERSION_MAJOR}::AndroidExtras)
endif ()
endif()

# install
set(INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" CACHE STRING "Installation directory for cmake config files")
set_target_properties(QtZeroConf PROPERTIES PUBLIC_HEADER
"${PUBLIC_HEADERS}"
)
install(TARGETS QtZeroConf
EXPORT QtZeroConfConfig
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}
)
export(TARGETS QtZeroConf
FILE ${CMAKE_CURRENT_BINARY_DIR}/QtZeroConfConfig.cmake
)
install(EXPORT QtZeroConfConfig
DESTINATION ${INSTALL_CMAKEDIR}
)

set(BUILD_EXAMPLE false)
if(BUILD_EXAMPLE)
add_subdirectory(example)
endif()
Loading
Loading