Compare commits

...

223 Commits

Author SHA1 Message Date
97e477416a misc: bump daemon
Change-Id: Id39ed7d7135b0757f233a00039b59276257e0c6a
2024-02-14 11:10:48 -05:00
3d3b4612df chat-view: fix loading data transfer items
- Avoids manually building local file URIs which was causing long load times for conversations on Windows.

- Fixes an issue where missing images were caused by a interaction updates erasing the message bodies.

Change-Id: I4c65f73cf9f46da5a9ae899940cb205cb34ffae2
2024-02-13 17:06:26 -05:00
7060afe467 build.py: add an argument to add client cmake flags
Change-Id: I6b0eae47d4fd52935cc4cef02d79115b80f3d809
2024-02-13 11:27:06 -05:00
f56026439a i18n: automatic bump
Change-Id: Id74cec7e9ff47a6bc53864ef53788bb697b9f9a8
2024-02-12 16:42:45 -05:00
0a24bec5ec 3rdparty: md4c: bump version + turn off building md2html executable
Change-Id: Ib7c978e2b5ea8e16115c8818afc387988c13d72a
2024-02-12 15:09:39 -05:00
38b7880d5f misc: improve logging for the client and libclient projects
- Declares global logging categories for libclient and the app
- Introduces some macros for categorized logging
- Removes the noisy namedirectory logs by default
- Logs file/line number URIs in debug mode

Change-Id: I9dadadc6e93ef91cc70d206b7225aeb7a06f8773
2024-02-12 11:14:17 -05:00
71a88b75ab misc: bump daemon submodule
Change-Id: I9971b5bf1236387f42663b5ef0193f4ef5b75bb3
2024-02-09 15:00:40 -05:00
37e1780762 snap: update cmake
Change-Id: I89fe8ef4bcf7c2f1f437517d1ea7978435157604
2024-02-09 11:41:13 -05:00
e054fc9592 misc: fix missing account avatar
Change-Id: I69acb78e60e04f74382561e130185a1aca8064d6
2024-02-08 15:31:01 -05:00
8305c0a082 misc: bump daemon submodule
Change-Id: I19c1faaaef77aa8d26e82a794a8e4af8f1a5da94
2024-02-08 14:18:22 -05:00
7b03484497 misc: fix some frameless window hit-test issues
- Moves the plugin settings close(on GNU/Linux and Windows) to the left to avoid a visual conflict with the system buttons.
- Adds hit testability to BackButton.qml

Note: this commit does not address the style difference in the back buttons thoughout the onboarding pages.
Change-Id: Ia4a2ce2a1228888e3c3101f3472fbe1843b4a522
2024-02-07 15:50:42 -05:00
4d29e11cd3 macOS: fix build for App Store
Change-Id: Ibd7949810559640bb41d6c0ca796c5db9b7dca91
2024-02-07 08:39:06 -05:00
f67a181e83 conversationsadapter: clear source models when removing account
If we detect that the current account has been deleted, remove the proxy model source models immediately.

Gitlab: #1557
Change-Id: Iaf84198438b54e44d31a46870acdfa9569be6daa
2024-02-06 16:54:31 -05:00
24edba9a2f Qt: migration to 6.6.1
This commit makes the necessary changes to migrate from Qt 6.5.3 to
Qt 6.6.1 and fixes the following issues:

- EditedPopup.qml: "layout polish loop" and "recursive rearrange"
  errors (GitLab: #1510) as well as an unreported bug where text was
  clipped instead of elided

- BaseContextMenu.qml: QML warning ("Created graphical object was not
  placed in the graphics scene.")

The daemon is also bumped in order to include a patch for a build issue
on openSUSE Leap (GitLab: #1552).

GitLab: #1466
Change-Id: I12df2f84067ebe961368879e08ff7ef275d93395
2024-02-06 08:48:30 -05:00
d1cde3792b i18n: automatic bump
Change-Id: Id3c2aea9c9999fd2841423961092420de00d5c51
2024-02-01 09:01:58 -05:00
3dfcae1c09 tooling: allow empty options for add_fetch_content
Change-Id: If460259ef799c53ddd94e3c058fb5b42e77fbdcb
2024-01-31 18:23:06 -05:00
50ce16e0ab misc: fix automated tests
Broken by https://review.jami.net/c/jami-client-qt/+/26560.
This moves some logic that has been previously duplicated between the app and tests into a common routine.

Change-Id: I40f1af38893cfcef751578d3e4db7d7ba040505b
2024-01-31 18:22:45 -05:00
66e31bea1e project: use qmldir for QML singletons registration
This simplifies registration and helps with IDE Intellisense for singleton components.

Change-Id: Ifb424491c0fa4777ecc76ec947d57287eea94cfc
2024-01-31 10:32:44 -05:00
154ce53e2d link-preview: fix UTF-8 decoding
The HTML string was being converted to a local 8-bit string prior to parsing with tidy.

According to Qt documentation, this works on Unix systems as toLocal8Bit() is equivalent to toUtf8(), however, it may not on Windows, and may result in character replacement.

Gitlab: #1536
Change-Id: I7aec98cffbd9d72771d1c489f52b38dbb3a1ed9f
2024-01-31 10:32:44 -05:00
35f850289f qmlregister: improve singleton registration
- better manage QML interop object lifetimes
- allow intellisense to pick up QML registered symbols
- fix for PreviewEngine threading

Change-Id: I416cdede70b155dc34fc3ee94f428ae2128c8950
2024-01-31 10:32:44 -05:00
c8b52262bc Fix empty notification when missing a call
When a user misses a call, they receive a message saying so in the chat
and get a notification for that message, but the notification's body was
empty instead of matching the message's content.

Change-Id: I24971d1d0a976ea3ab15ac30c4e9ed33fdf3d760
2024-01-29 16:18:00 -05:00
4b17fa1a12 SystemTray: fix GLib warnings when Jami shuts down
Change-Id: I52f4e52bbe5fd535b61c459fb7b6dd22ee8f2053
2024-01-29 11:28:06 -05:00
35482fa92f misc: implement frameless window
Several major changes to the layout have been made.
- The chat search bar is moved into the message search layout.
- The Searchbar component is stripped of unused features.
- Some remaining logic that was used to switch main loader components is removed.
- ViewCoordinator.getView gets a "force create" parameter and we no longer preload low-cost views.

NOTE: the option to use a frameless window is available within general settings

Gitlab: #1524 (Frameless Window)
Change-Id: Iec6bdf162cb0335d3ae3d9bd09dd9783991a4a57
2024-01-26 18:14:55 -05:00
788ecaa496 misc: bump daemon
Change-Id: I7a4ca97f207cff65d8853180c3437ccf6df36409
2024-01-25 14:13:56 -05:00
f40a8215d1 mainview: fix shortcuts to go to the settings page
Seems broken since a recent Qt upgrade. Calling a method in JamiQmlUtils
works as expected.

Change-Id: Ic1257a4f487560744f5ce1ea02928504ff572157
2024-01-25 10:08:36 -05:00
c6ff91bdb1 conversation: fix padding for big message
Change-Id: I45dca8960401146ca3ac09e6c7ab6e2a2d012655
2024-01-24 07:53:18 -05:00
99d415b1fe chat view: don't attempt to redefine a Loader's final property
We can't define a property called `status` for a Loader as it exists already. At best, the app will crash as it should be unable to create the chat view. At worst, this will introduce undefined behavior by confounding transfer/loader status assignments and comparisons.

Gitlab: #1537 (crash)
Change-Id: I66fb6da25cae695f7f1f520200f6eed8a2c93d03
2024-01-24 07:53:08 -05:00
4edc2d6369 messageBar: force focus when showTypo button clicked
Change-Id: Ic3980ad9ecfa66ec9767aaa1fb18376f196fd012
2024-01-22 10:18:07 -05:00
146dd21679 misc: bump daemon
Change-Id: I58fe94e1fdcf068a0cb6d20a3425d7d0098e31f3
2024-01-19 08:07:15 -05:00
fa2caa6d7c editedMessage: enable click on "edited" to open previous bodies popup
Change-Id: I45a55c57337029d3357bb1059a6d26a9656fe9b1
2024-01-19 08:04:57 -05:00
90e9a36a9e datatransfer: allow to download a cancelled file
Change-Id: If94c5e1c24d1a90f7a20f29bafc087d26782fe67
GitLab: #1523
2024-01-19 07:55:45 -05:00
95e36ef89b tests/qml: fix various issues with the MessageOptions test
This commit fixes three issues related to tst_MessageOptions.qml:
1) There was no test to check that the call to createSIPAccount() at the
   beginning of test_createMessageOptionsPopup() actually succeeded
2) The created account was not deleted at the end of the test
3) The test would occasionally crash due to an uncaught
   std::out_of_range exception thrown by the
   AccountModelPimpl::slotAccountDetailsChanged function. I've modified
   the function to issue a warning instead, which makes it consistent
   with AccountModelPimpl::slotVolatileAccountDetailsChanged and avoids
   throwing an exception from a Qt slot (which is considered undefined
   behavior according to the Qt documentation)

Change-Id: I4d939b29f27ee27de673aea7046997ef756fbcee
2024-01-18 21:21:22 -05:00
79b906f12f donation: update end date for donation campaign
Change-Id: Ib694bfb4bc194e7d6b24bf23f52949715e2efa11
2024-01-18 21:20:52 -05:00
92522d5cce AboutPopUp: update copyright years
Change-Id: Ifbb9516ce8a10b00b6ef7ec92ee38d71b48cb5a9
2024-01-18 15:43:02 -05:00
25b74cdf6e i18n: automatic bump
Change-Id: I347fec814027db3c20cc6b36e740fb2bcdead527
2024-01-18 13:40:31 -05:00
0245671855 misc: improve client app logging
- introduce a message handler
- introduce a logging category for the mainapplication object
- demo the filtering

Gitlab: #652
Change-Id: Ice1ea380bb330f576a0936e3048eb4c60a06d4e9
2024-01-16 19:48:47 -05:00
7c3eab9107 CallMessageDelegate: remove reply/react to
Change-Id: Iddeffd4e2c161ecaf0c9bdb62ed1431d78d0eac5
GitLab: #1493
2024-01-15 13:50:13 -05:00
5b6ab48037 settings panel: retrigger translation
Else, seems model is not updated correctly

Change-Id: I980a3969b72ebe0d6c702f5fc8c13779603bb8b2
GitLab: #1486
2024-01-15 13:48:39 -05:00
6003d007b8 tests/qml: add basic test for OngoingCallPage
GitLab: #1483
Change-Id: Ib8932ec76519c52547a27e29b095fc60b0e46876
2024-01-15 13:25:51 -05:00
30db1ba5f5 misc: don't prefer Vulkan RHI
WebEngine view destruction crashes on Windows 10 when using Vulkan. Disable the preference for now. It will default to D3D11.

Gitlab: #1515
Change-Id: I8396163a937b3b439569115887020d49e3a8e751
2024-01-12 10:02:25 -05:00
6aaac12758 system: implement screen saver on macOS
GitLab: #1513
Change-Id: I7f8e6a8f19ddd932d62a0523e8f95b29851567b2
2024-01-12 09:56:51 -05:00
a0fc85d0a9 call: enable screen saver after call is completed
Change-Id: Ib7bac91e802351c699c4a7e44a4c197eeca884e5
2024-01-12 09:55:51 -05:00
9c6bdec0f0 active call message: make the border continue when 2nd message
GitLab: #1509
Change-Id: Ie0d3699f86bd7f7ceffbde1b7d2bff7790919ecf
2024-01-11 08:18:33 -05:00
ce8381e817 SettingsSidePanel: select Manage account in the menu when opening the settings
GitLab: #1511

Change-Id: I05c29557683b5d5c88f74ec5916a68bf0d4c17a5
2024-01-11 08:17:53 -05:00
677ebe3297 macOS: remove QT dSYM files
This patch removes Qt dSYM files because their bundle identifiers
are not accepted by the App Store.

Change-Id: Ie999b8d273172a3810706fc78286fe0ddc81376d
2024-01-09 20:19:32 -05:00
fa67ac0462 i18n: automatic bump
Change-Id: Ie76fa55b2c62e143b6100ff99b88de7e3978c5aa
2024-01-08 16:49:04 -05:00
c0c56023cc ScrollToBottomButton: lighten DropShadow color
GitLab: #1479
Change-Id: I71f84a7089c9ad4dce8b99b340443fd2180df0d4
2024-01-08 14:45:41 -05:00
e7ee0acf3a ChatviewHeader: reduce height
Change-Id: I0c6fb3d7a8f0cf1b30fdec2a505b1ec730ef9f73
2024-01-08 14:30:36 -05:00
f1f521973b tests/qml: add test for 'About Jami' button on welcome page
GitLab: #1484
Change-Id: I4f8f577c2039ef4a2fc9e4ed731d540e26563b61
2024-01-05 12:23:40 -05:00
a4300308dc contactmodel: check if removed before adding
Change-Id: I61b3773539bf6a0774ea487e4f5aae74bd2bc635
2024-01-04 09:45:16 -05:00
815d324118 contactmodel: move profile creation on dedicated thread
This avoid a heavy I/O operation on the main pool

Change-Id: Ic5068d9d1c291b8f27ffc563933d4920af42e890
GitLab: #1450
2024-01-03 13:00:21 -05:00
2343f34b4f messaging: run previewengine on its own thread
Change-Id: Iff267600c0802fbadedb58174b5fe65bbd1a443f
2024-01-03 12:00:17 -05:00
692ba0d5a8 conversationsadapter: do not create empty profile
Change-Id: I3113b860a6a89fc4af1d228840026dc0fd078b9b
2024-01-03 09:54:49 -05:00
84150e8977 misc: bump copyright to 2024
Change-Id: I8d5f968fbedbc884c91416246049a0ef4cd652eb
2024-01-03 09:54:49 -05:00
9360458b9e misc: bump to daemon 15.0.0
Change-Id: Ifc5d5f4cb5156d75723aac58e1b34ecb5829c2b7
2024-01-03 09:54:47 -05:00
46a955aa3d misc: fix ups for conversationmodel/messagelistmodel
Removes some remaining excess complexity in the way interactions are managed by the client. Removes raw iterator access and provides thread-safe alternatives.

Change-Id: I482bf599de869245f96c4aab418127f30508ef41
2024-01-03 08:43:50 -05:00
009a3902cb emojipicker: use truthy check to avoid exception
Change-Id: I9c6acd8fe1c34d4ce5b2a172e04eea0f4a1e0148
2024-01-02 16:52:54 -05:00
32b76c8da4 messagelist: use history given from daemon (except SIP accounts)
With Jami-Daemon >= 14.0.0, the client doesn't need to construct
itself the history. This part is now handled by the daemon.
This patch uses the new API:
+ loadConversationMessages->loadConversation
+ SwarmMessageReceived/SwarmMessageUpdated/ReactionAdded/ReactionRemoved
+ remove MessageReceived
+ ConversationLoaded->SwarmLoaded

+ No need to use loadConversationUntil, the daemon will load whatever
the client needs.
+ No need to clear cache, just reset the body and emit data changes

Everything should work like before (even re-translation & changing
preview preference)

Change-Id: Iaf1fa3e84e8e157ae2d0bec210977f9a34415ebc
2024-01-02 15:22:10 -05:00
2bbd9637da packaging: add package for opensuse leap 15.5
Change-Id: I90ad05ca1bd12e041f60f42fd38bd464b5f8cb51
2024-01-02 13:27:16 -05:00
2d664eacb1 misc: fix QML tests
Moreover, add two accounts (for ChatView testing)

Change-Id: Ifb2a45002dd9e86921868257124561764e9b94c5
2024-01-02 10:31:59 -05:00
f1c90f316a PluginStoreView: add logic to improve user experience
Change-Id: Ie1e2495bed08224d6806d0df41124c4b62b7c2e0
2024-01-02 09:40:42 -05:00
5abed96b56 i18n: automatic bump
Change-Id: I82cd79eb4ee5c5e5b8eb91b507d99b67975e73e8
2024-01-01 16:42:39 -05:00
f524c39c5f contactmodel: do not save profile for account (managed by daemon)
Change-Id: I2943d91ad077892639a60117046665339e95d8fd
2023-12-28 15:21:44 -05:00
2215d51f98 disable video and photo capture when no webcam is detected
GitLab: #1470
Change-Id: I266667d1ffe53b3839dfb3327db01cfda331c71f
2023-12-28 10:04:17 -05:00
127b39bec2 recordBox: change popup placement and buttons for audio and video recording
GitLab: #1477

Change-Id: Idf18c0c4668d4e1154fc5a9d4ef674433578dded
2023-12-27 16:53:19 -05:00
43fecd1d4a i18n: automatic bump
Change-Id: I3abd6557d06c48ad0b5c9f82ddfc31a1f609a997
2023-12-27 14:11:21 -05:00
760f6dc72c Edited message: resolve display issue
GitLab: #1469
Change-Id: I4ef71f60efaea7cb90f4d83df831f566fbfbd84f
2023-12-27 14:02:55 -05:00
eaf155d8a4 PluginStoreView: ajust view to improve user experience
Gitlab: #1373
Change-Id: Ie236db62b139e0c2e9646a6338425f063bcf9456
2023-12-27 09:55:51 -05:00
3e7087e5e6 Revert "misc: fix GTK theme application on Wayland by prioritizing XCB"
This reverts commit 87aed4c039.

Reason for revert: Breaks Wayland support (without Xwayland)

Change-Id: I27a26cf784b3eea543b9cc396a130e80f295b81b
2023-12-27 08:12:13 -05:00
4ebb881be4 macOS: fix build for App Store
Change-Id: I0763138f03296de661da801e06f56083e0f92598
2023-12-25 10:57:52 -05:00
a4014b7b6f misc: fix debian version
Change-Id: I5084b5feef6b8dd9e1f3c072de0b758ca5f6c117
2023-12-22 10:21:22 -05:00
93d2201277 contactmodel: avoid crash on incorrect profile
Change-Id: I1aa09e72e7db602a489c1195ab45b897e18370bc
2023-12-22 09:54:22 -05:00
2bf414e27e misc: bump daemon
Change-Id: If3f8d438b2a3ef82b6ad9bf63cbd44d84be84498
2023-12-21 07:24:10 -05:00
c72e847bd4 Emoji Picker: correct position
GitLab: #1431

Change-Id: I5d86598da3120df5b34b375e1019bb0d0c8d88f0
2023-12-21 07:22:48 -05:00
74120737ca avatarregistry: update account before smartlist
Else, we can got some issues when switching from one account
to another

Change-Id: I9f77b7d281fc1519be6ce779efd1f908f7eae6d2
2023-12-20 16:24:57 -05:00
f2424f4968 createAccount: resolve display issue
GitLab: #1448

Change-Id: I3e0edddfa70c0a59ab01d5c1359d93b27bea0824
2023-12-20 15:55:51 -05:00
9d7eae0af8 Donation banner: change image and center
Change-Id: I8dcdcaafd4bd8e34c9cdf403236b209ee3ad56a8
2023-12-20 12:30:13 -05:00
38febbf0bc fileSending: enable click on image and video
Change-Id: I48a68504b8b738a8db59337d48a69b16f5731bbe
2023-12-20 07:51:39 -05:00
bd8938b1df TextMessageDelegate: resolve binding loop issue
Change-Id: Ia17240ba8ff20dd09ad58463e44fbcdc2156ed78
2023-12-19 12:05:57 -05:00
1e4c450423 file sending: new design
GitLab: #1325
Change-Id: Ie39a429ae53c9be3d96363fb4bd9af6b47805456
2023-12-19 09:36:14 -05:00
c1df66f28d manual Revert "Revert "app Store: disable donations""
Appstore is refusing the donations-enabled build for now.

Change-Id: I16d9cc33ed577298565a5d92e0ee247ee54865a8
2023-12-18 16:32:10 -05:00
721ea4b017 misc: bump daemon
Change-Id: I254ed23127fd781d7cffc0461d9a2cf9ba1b7b75
2023-12-18 13:45:59 -05:00
b6737f1d50 misc: fix some connect warnings when starting with 0 accounts
Change-Id: I15f3a79107912d83a3c1ffe18538c26e37a419e8
2023-12-18 11:29:52 -05:00
15eb51c7ca smartlistitemdelegate: avoid weird conversation jump
Change-Id: I951d6938b4154dccce5a267744976fdc3da7f660
2023-12-18 10:40:36 -05:00
e74be0934e linkMessage: new design
GitLab: #1325
Change-Id: Id9b4e1430575fbf53f0657e94c9a27c5b35e4a93
2023-12-15 09:09:55 -05:00
a4b758611c deletedMessage: new design
GitLab: #1325
Change-Id: I3bca1e25e9e66ffa86670bb5194812fb6d78ce8a
2023-12-15 09:03:55 -05:00
c00ea7ac51 misc: bump daemon submodule
Change-Id: I3baaacf277766786266c0cd885ded7aeac63798e
2023-12-14 20:51:18 -05:00
58a53e70d1 smartlist: prevent selection oscillation
The dataChanged signal should be queued to prevent the conversation selection callback from re-entering SelectableListProxyModel::updateSelection prior to sort/filter updates. This can cause desync of the source and filter indices.

Change-Id: I35b3b38512cf51b1dd7ca8110b143a9223740056
2023-12-14 19:28:07 -05:00
4ca37a6293 AccountComboBox: resolve display issue
GitLab: #1455

Change-Id: Ie572153e1eb89e71f27ba87b2cdd20c74628a1be
2023-12-14 15:32:16 -05:00
e2da7777de SwarmId: enable selection by mouse
Change-Id: Ie20d0d716eaaa7f6d6018e50f73560498ff6d918
2023-12-14 14:25:58 -05:00
48e9887129 misc: use a layout for the smartlist sidepanel
Change-Id: I2a93999b3e8648bb1c7d2249a4f69d5b08c59ae5
2023-12-14 10:52:55 -05:00
2af4bc663b ScrollToBottomButton: new design
GitLab: #1325
Change-Id: I7f44aaf51bd825dde06f071106fe93d6b1eae228
2023-12-14 09:39:34 -05:00
72100f4700 ChatView: resolve overlaping issue on username
Change-Id: Iee98257740c54d28f2abc1d62458a90c1e218481
2023-12-13 16:27:31 -05:00
b7207e4b03 chatView: resolve overlaping issue
Change-Id: I2cff215cf1050128c768b3276cafaa263944043f
2023-12-13 15:43:05 -05:00
250196bbac join call message: new design
GitLab: #1325
Change-Id: I1ed0784197936121e70b47e9d7015d13aa7a8738
2023-12-13 09:56:15 -05:00
04a57dfdbb ConversationBubble: add time inside bubble
GitLab: #1325
Change-Id: Ib52222f4adae911e0975f4d7e8bc60739fb63cfb
2023-12-13 09:56:15 -05:00
4a3a49b0ec Connection monitoring: load result at start and not after 1s
Change-Id: I1dc7144a6cec4f6250a68d2a8ce8228012b030fd
2023-12-12 14:46:32 -05:00
4342b9053f MessageBar: correct some button color
Change-Id: Ic8f73e6c2689756a1068ebf9914cfb25f0737b26
2023-12-12 09:45:08 -05:00
ef0045c927 notification icons: new color and placement
GitLab: #1325
Change-Id: I1df248e37c89cea3007856ce4d56ea9e7c5f6b6d
2023-12-12 09:44:05 -05:00
d45f86362b i18n: automatic bump
Change-Id: Ibf922b49ad7602b8c0056502c6b03ac78190c84d
2023-12-11 16:42:40 -05:00
c4c2415d6b Connection monitoring : Correct layout after migration
Change-Id: I8c480be77e1ef0a8778d4e8420523b71c76c4555
2023-12-11 16:13:11 -05:00
b2318c7f7f CertificateVerification: verify certificate when upload new plugin
Change-Id: Ie5678f79f26e1cb75894d234daaea257000b1dcd
2023-12-11 07:38:33 -05:00
f46b94baeb misc: bump daemon
Change-Id: Ifaefccb58b91a4453af7d40fcd5edca9e3694ff1
2023-12-08 17:34:42 -05:00
adfafd9dda JamiIdentifier: resolve display issues with new UsernameTextEdit
GitLab: #1440

Change-Id: Ia3e8900d89b9e74525080cc208ef54c30200d2b1
2023-12-08 15:49:28 -05:00
45271413b6 donation-ui: simplify settings property observation
Change-Id: I4f1442a9ee92f965a09eb6f5421b939e48b0fbf8
2023-12-08 10:23:08 -05:00
87aed4c039 misc: fix GTK theme application on Wayland by prioritizing XCB
This commit addresses an issue where the GTK theme was not being correctly applied when running our application on Wayland with the Wayland platform plugin. Although the root cause is not entirely clear, it seems related to a known Qt bug (QTBUG-99684). As a workaround, we're setting the `QT_QPA_PLATFORM` environment variable to use XCB with Wayland as a fallback. This ensures that the GTK theme is applied correctly when X11 is available, while still allowing a fallback to Wayland in its absence.

Possibly related issue: https://bugreports.qt.io/browse/QTBUG-99684

Gitlab: #1156
Change-Id: I71ef4e39f916d9871134fb0caded8b30bff578fb
2023-12-08 08:33:24 -05:00
03c20a4205 AvAdapter: allow audio-only sharing
Change-Id: I88e1fcc9726253366224aae81aabf5797f582939
2023-12-07 15:49:50 -05:00
ddb1409195 CMakeLists: set Qt 6.5 as minimal version
Change-Id: Idb58dc218cb71f1b5ff1cb44b5ce1c2e43d577b7
GitLab: #1374
2023-12-06 14:05:36 -05:00
a74b54939d conversationmodel: simplify onContactAdded and fix syncing status
Change-Id: I8e6eb93569a34099e155fe1e397dd1f4e84e890c
2023-12-06 12:56:03 -05:00
0af4af1685 LocalVideo: close previous device when switching device
Change-Id: Ia6a8c56e1b259dd33d85734a85f1a3a652da5206
GitLab: #1446
2023-12-05 10:59:28 -05:00
850decf38e SidePanel: fix margin for donation card
Change-Id: Ie8777db1857e6ddbc0570d115ff37f000bebbf23
GitLab: #1439
2023-12-05 09:48:25 -05:00
bd39fbd5a4 i18n: automatic bump
Change-Id: I4f0704070ce5501796eea6d85403126e087625a9
2023-12-04 16:57:04 -05:00
7d7428af21 Almalinux: build on stable version without plugin store
GitLab: #1418

Change-Id: I37239869e691a621138ae0616695f8efdf4b47ca
2023-12-04 17:19:28 -04:00
5cd2490f24 contactmodel: subscribe presence on conversation accepted
Change-Id: Ic11b651b7347773716088c6ce3784c70655f89b1
2023-12-01 16:11:02 -05:00
ca85303110 logging: fix file logging with no parameter
Remove trailing webengine parameters by not synthesizing command-line args. Use the env var QTWEBENGINE_CHROMIUM_FLAGS instead.

Gitlab: #1074
Change-Id: Ibc2a4f75317bd502a3cca96758ef72264babe255
2023-12-01 16:10:32 -05:00
46ca469bec misc: fix xcb plugin generation
Change-Id: Ibb06f6a5647adeebc379c3421232ec55645c0217
2023-12-01 14:50:03 -05:00
49e64bb027 UserProfile: resolve display issue
GitLab: #1443

Change-Id: I0334364fbc5cbb84159a66459f25b21a1b8f9271
2023-12-01 14:37:57 -05:00
8dd04cab92 RecordBox: new design
GitLab: #1417
Change-Id: I892d140a4989e8cd6e96ca6f81abaa0cdaab2e54
2023-12-01 14:19:53 -05:00
be9725ec0c PttPopup: improve the design
Change-Id: I88c97726a62c395b6aa729fdac0b4dca173ddaf1
2023-12-01 14:19:46 -05:00
b4de00ce61 DeleteAccountDialog: resolve display issue with SIP account
GitLab: #1445

Change-Id: I8080df282d0fb4bd958fc50216e0c66b69a09418
2023-12-01 10:18:07 -05:00
e753dd509e PasswordDialog: resolve display issue
GitLab: #1444

Change-Id: I248220b04b4343c73fdd55ce4de0a871aa89c4bc
2023-12-01 10:02:29 -05:00
20c4081d88 Ptt: set space as default key
Change-Id: I7944a40d622ee9092686ce32c99ce94c4be1cdb1
2023-12-01 09:58:51 -05:00
48cfd8e29f Photobooth: new design
GitLab: #1417
Change-Id: Idf7f2ce5eb79ff378f41071e6c319faef2f27fc5
2023-12-01 09:29:12 -05:00
3344fbaf9d misc: replace qAsConst(removed in Qt 6.6.x) with std::as_const
Change-Id: I05041b0fd362e24a0ad17a46cd9fe2db53e5712d
2023-11-30 13:54:20 -05:00
5e362c2c2e AccountComboBox: new design
GitLab: #1417
Change-Id: I4b69d45d8c043d38fb5c9367c87c167fa291cc46
2023-11-29 17:16:40 -05:00
7bd469525d qt6.5: correct some bug with the migration
Change-Id: Ic64bdb5c554cc99e323fc11a259a0cd6cbf48bc5
2023-11-29 11:51:29 -05:00
f457ed5076 qt6.5: update to Qt 6.5.3
Change-Id: I43838bf36ee0d174834e5312f62865b56a77484b
2023-11-29 11:49:45 -05:00
ed78c35fda UserProfile: be able to copy identifier
Change-Id: Ib402399f9339f537884f9833169d2c91243008b5
2023-11-27 15:42:29 -05:00
d42d1cd343 misc: homogenize line-endings in ConversationExtrasPanel
Change-Id: I5b58db9d6e9254a177d9b86575f6dd670a086bd9
2023-11-27 14:32:01 -05:00
762cbbff38 mainview: prevent details panel from opening maximized
also-misc: Removes SplitPanel state-saving

Gitlab: #1370
Change-Id: I71f5c209922ad69fb701e935a03078fb8e5ad2de
2023-11-27 14:19:00 -05:00
500681fb69 misc-qml: remove some dead code
Causes Binding loops in MaterialButton.
Seems like support for a previous Qt/QML version.

Change-Id: I32f71cb50a20c81e0354635c56a308821c6f5832
2023-11-27 12:10:12 -05:00
8b09149ecd build: windows: fix toolset version choice
Change-Id: I935131da4bf78f0d2832646197367fce56509130
2023-11-27 12:06:49 -05:00
eae76a619a Revert "misc: get donation date from settings manager"
This reverts commit 167550abc3.

Reason for revert: Donation2023VisibleDate will be updated when user select "Not now".

Change-Id: I6f1d6647e947811e78eb8db07ddc955c81e7de0e
2023-11-27 10:18:03 -05:00
aa44599a66 misc: qml: remove debug component
Change-Id: Iaa9b274791a7eaef662874d5afe16c2095a58633
2023-11-27 10:01:20 -05:00
a8be1f0271 PlatformPluginSupport: add info if plugins are not available for none supported platform
Gitlab: #1404

Change-Id: Iaa43a705d1b5e7cf9b960bdf1863d325e4a5332b
2023-11-27 06:47:58 -05:00
d5bacf6b9f contextmenu: various fixes + simplify
Change-Id: Ibf10c91d4f875e9e346003c6fe9797325cf23c4f
2023-11-24 16:54:16 -05:00
bb8f4cc3a7 systray: fix crash on linux
QSystemTray::setContextMenu isn't working using a QScopedPointer on GNU/Linux, don't know why, not investigating.
Also, resetting the contextMenu has different behaviour on different platforms, so avoid that.

Change-Id: I3464e4c5e410a2c7028555b8177e0e56f7c5d1c3
2023-11-28 03:43:06 -05:00
1d7d10a12d mainapplication: retranslate systray
Change-Id: Ib8e7407fa702f4003b33b688fa0dca517ff9a7fd
GitLab: #1396
2023-11-27 07:03:00 -05:00
c689997456 misc: bump daemon
Change-Id: I031ed502a8181309a04886b9abb482cdc3b0beb0
2023-11-23 14:55:29 -05:00
8fc1ba342c donations: update start date key
Change-Id: Ie35b2854da7165ee95018165b325698dcf0378ca
2023-11-23 14:20:32 -05:00
6b313e193d misc: update projectcredits.html
Change-Id: I529321c4ee0877b1ab158122fa183e733edf238a
2023-11-23 10:46:39 -05:00
167550abc3 misc: get donation date from settings manager
Change-Id: I4c39625b95efa1ad272ffa503e1f29228928adeb
2023-11-23 09:30:13 -05:00
7736b5c34c add sponsor button on gitHub repo
GitLab: https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1459
Change-Id: I32f11d8ccbeec0e051210394891ced63ae684ad4
2023-11-23 08:52:36 -05:00
1dd0ad71e9 PasswordDialog: new design
GitLab: #1417
Change-Id: Ic543f6b4332af15bbaea3c7b97a8642ff9dd387c
2023-11-22 17:14:25 -05:00
db4e0d3767 Revert "app Store: disable donations"
This reverts commit a433974340.

Change-Id: I1a3b663a3f6813ed0481bf4a118330cf5d974424
2023-11-22 11:51:36 -05:00
b1e129b0e2 AboutPopup: new design
GitLab: #1417
Change-Id: Ibbdaa074ac6e6a7c778ef4710f334e23d04dd121
2023-11-22 10:31:59 -05:00
3818885095 NoUserNamePopup: new design
GitLab: #1417
Change-Id: I6abc313f78ca37b9cce76137f85c4a9656b98feb
2023-11-21 14:46:07 -05:00
6cbda2cea1 LinkDeviceDialog: new design
GitLab: #1417
Change-Id: I8039355efcac28bf6ccc39dea1c785ef7f86b9f4
2023-11-21 14:45:11 -05:00
2656769a59 UserProfile popup: new design
GitLab: #1417
Change-Id: I1801f0e92e43679548ceb5be84041cba96ed7519
2023-11-21 14:37:47 -05:00
86c1bf8373 CallInformationOverlay: new design
GitLab: #1417
Change-Id: I11267d130f83421f23656f65925996caded6c10b
2023-11-21 14:35:59 -05:00
f7bf2899f7 BaseModalDialog: scrollbar added when popups are too big
GitLab: #1417
Change-Id: I7b41398656269e474cbce90ace2ba1c89c5048df
2023-11-21 11:53:37 -05:00
dc7c366afa donation: update campaign dates
Change-Id: Idc8b568234270f897936e60453e22a66d6d8624d
2023-11-28 10:58:42 -05:00
b7c3f3b553 CreateAccountPage: new design
GitLab: #1417

Change-Id: I15db389e699ae030c3657746b68f0c5ab2af31a6
2023-11-21 08:33:24 -05:00
a6b7ef76f8 DeleteAccountDialog: new design
GitLab: #1417
Change-Id: I4f701c130722f4c25ea4d13525ab111368139f98
2023-11-21 08:27:44 -05:00
17d6d56af4 i18n: automatic bump
Change-Id: I222865d7344c4d996833c6bff4d354364b627440
2023-11-20 16:42:40 -05:00
b5443e6484 misc: bump daemon submodule
Change-Id: Ifc98e6e9551a0d62194de1dddf27cc79d0cff645
2023-11-17 14:59:19 -05:00
3d0db97a17 TextField: new design
GitLab: #1417
Change-Id: I89c97d02250b9b283f85a006b13c97e4bb54ee32
2023-11-17 14:58:17 -05:00
23413a8f45 BaseModalDialog: redesign popups and add standard buttons
GitLab: #1417
Change-Id: I8693ff36d313c730b6d8fa2ea7586d1a71d582d7
2023-11-17 14:43:16 -05:00
7f414f652e callmodel: remove old TODO
This was causing some weird conference states for swarm-call

https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/916

Change-Id: I87ada927f223bc325eb0f62307c6dda51b330330
2023-11-17 09:42:39 -05:00
c6833d69fb conversationmodel: do not add calls to wrong conversations
newCall already handle everything

Change-Id: I6c9f5b1e50960b3d45e4fde198f0fc67ecfad020
GitLab: #1432
2023-11-17 09:42:39 -05:00
238547506f qrencode: windows: bump submodule version
Use version with latest vcxproj.

Change-Id: I61cb0168e684566f47cf32e993371a25539d4c8a
2023-11-16 16:37:25 -05:00
cb68ee560c PluginEnabled: remove all unnecessary method to enabled plugin on client
Gitlab: #1382

Change-Id: I5fdef9bfcb5b400c3eefa776ec441b63b0847cca
2023-11-16 07:19:19 -05:00
517f87826d misc: don't use 2 AppSettingsManager objects
Injects the primary instance into PluginVersionManager instead.

Change-Id: I3269f048a805a069d30f3ab1bec5c4be755a35cb
2023-11-15 12:02:31 -05:00
0725683727 main: prevents use-after-frees on app exit
Forces the QML exposed objects to be destroyed prior to top-level mainapplication objects like the AppSettingsManager.

Change-Id: I4183ee20890c7faae39e37bd9f7060ff50ae0db8
2023-11-15 12:02:27 -05:00
52f95ac8ed ptt: use 1 instance only and register as a QML singleton
- Prevents resetting the app-scope context property which prevents the Windows global listener callback from working.
- Removes unused QScopedPointers

Change-Id: I836d803d5a1f4093e241330c1e5dd478c743ed54
2023-11-15 12:02:20 -05:00
8d41ab6eb9 misc: bump daemon
Change-Id: Ie82dd09bde90df6d3df684198a5f561cba167347
2023-11-15 11:23:03 -05:00
b4b1cda9e6 screensharing: remove unsupported options for wayland
https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/13

Change-Id: I177104e8b2faabd356293fb704372918d7e5969a
2023-11-15 09:06:59 -05:00
e46a123609 build: windows: remove qrencode-win32 patching
Changes to a more maintained repo source.

Change-Id: Ie9903761ad8cb740b79552f59dc851976c1ef9da
2023-11-14 14:44:30 -05:00
8e33a6125f build: windows: only init the required client submodules
Change-Id: Ia4ad3e76962fac38c8f482fb7892b259a968ce5f
2023-11-14 14:44:30 -05:00
3e17a9b247 cmake: windows: add the jami-core to the project
Change-Id: Ieeeb8bbf3d032fb9595b6f76a49ab8027dad7d99
2023-11-14 14:44:30 -05:00
38e5d0967a JamiIdentifier: change icons
GitLab: #1417
Change-Id: I30e32098a53941cdb393a472764c47a333a87449
2023-11-14 08:20:44 -05:00
5ed836f34e i18n: automatic bump
Change-Id: I98012490ec3b46fc0ac358e51887f03e149f7594
2023-11-13 16:42:36 -05:00
7b55954245 misc: bump daemon
Change-Id: I3e9183624309384906a39531ea3e543716e5cfa5
2023-11-10 14:24:34 -05:00
8c75ac8a1f UpdateManager: fix to be able to update if needed
Gitlab: #1426

Change-Id: Ib6bda9d03fad23fe896ad76bda3d6fd52a1e2dbb
2023-11-10 13:20:50 -05:00
92546c7358 misc: bump daemon
Change-Id: Ie504f7953fefb62278d498c3b97e11f777a06754
2023-11-09 15:33:46 -05:00
855b023349 TextEdit: disable persistent mode and made right clickable the text
Change-Id: If8f92dfdba20005fe8430bfbe880167061301b95
2023-11-08 11:15:38 -05:00
a0f0dd132a cmake: update options (submodule on by default, option for libwrap)
Change-Id: I1b1d30da4c89af12f811075185095830a3a39157
2023-11-07 13:58:36 -05:00
428756e568 contactmodel: do not emit contactAdded for already added contact
Change-Id: I226c804181e88b47d5d361d84caaf0db23e09e6c
2023-11-07 13:20:04 -05:00
04a8dfa468 callmodel: fix mute video
Change-Id: Ic0c05b9099bc21b8ee936cbe3aef641534d55f77
2023-11-07 11:31:21 -05:00
cbef11a9ca sip: remove non necessary settings
Change-Id: Ic0ab68601b3cb801898c427494bbc996027fd6da
GitLab: #1394
GitLab: #1395
2023-11-07 08:41:17 -05:00
122628239c WelcomePage: align keyboard and about button
Change-Id: I4e391e7bb37ebcbe797bf808a10973df6484d465
GitLab: #1400
2023-11-07 08:40:48 -05:00
8922387217 ParticipantOverlayButton: avoid bugguy and custom tooltip
Change-Id: Ic92e0931227b8b0f0c9b297036367def7133eb06
GitLab: #1403
2023-11-07 08:40:32 -05:00
be85034d78 build: support enabling ASAN for daemon + contrib + client
Change-Id: Ie014285e46feb82577125b68677b19d94005789f
2023-11-07 08:40:09 -05:00
885f05ba12 welcomepage: fix color and size for about button
Change-Id: Ia8eaaca2ab3eace4dcf9cd4a06d59ef343c44da3
GitLab: #1401
2023-11-07 08:39:32 -05:00
60cfc8938f sip: update call settings visibility
Change-Id: Ib0c32198ead5d540bae201039d20dbf3b45e9f23
GitLab: #1407
2023-11-06 11:51:49 -05:00
31c5cead63 misc: use jami-core
Change-Id: I081b2575d78352e091c60c9ac80d8c8c5512e9b0
2023-11-03 15:41:03 -04:00
1c576a7a3a DocumentPreview: fix reference error
Change-Id: Ib01469a53fbb9da5eef7ec7389ecd5123ab14625
GitLab: #1402
2023-11-03 10:24:42 -04:00
92be4fa7dc build: windows: optionally use pywinmake
Change-Id: Ib0b41428f00945c9bcab2f7d68355c2128c0e68f
2023-11-02 15:06:32 -04:00
6360e52eb5 Connection monitoring: ajust dark theme color
Change-Id: I1225f1039859946ef2154820d45a6f9682b6ced1
2023-11-01 14:40:51 -04:00
d38858c1f3 filesharing: consider audio in the proposed list
When adding/removing a file sharing we must add/remove
not only the video but also the audio media attributes
to the media change proposal.

GitLab: https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/485
Change-Id: Ifa6be8d500a43b1c2494501a4d6a6a6f009fdb62
2023-11-01 13:52:51 -04:00
088c367485 filesharing: integrate mediaplayer API
GitLab: https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/485
Change-Id: I148f19eb76a526a5ab38c5f4a83f45ea66e348e4
2023-11-01 13:52:46 -04:00
fc7109950b swarm-call: do not create 1:1 conversation for incoming calls in swarm
There was no way to differentiate a 1:1 incoming call and a call
from a swarm, because username couldn't be checked. Now, create
conversation only if it's a 1:1 call

Change-Id: I0094967914b4888d083b9adc1d2b11de467d6f48
2023-11-01 13:52:37 -04:00
5776ab7c7d build: add a script option to clean libjami contribs
Change-Id: I6d3cdfb30e148c0e74fcd1b69b2f1d317425d691
2023-10-31 15:44:51 -04:00
d4d34ad4fc Patch menu: standardize with design
Positionning the menu, change reply icon, close menu when click a second time on the button, and add animation for all menu's buttons

Change-Id: I8567a74ba53de214305cbcf432541803d921f60e
2023-10-31 07:37:39 -04:00
86d55fa985 i18n: automatic bump
Change-Id: If3dbab4b02784722ee2b7785bcf14be58d0fd615
2023-10-30 16:42:38 -04:00
303acbda64 packaging: add python-six to opensuse leap 15.4 (qtwebengine)
Change-Id: Ica84f3169cfe95be9097dce50e311d1e09f65723
2023-10-30 14:23:01 -04:00
a433974340 app Store: disable donations
Change-Id: I359cf1cd538a87f12f0e931b8b2948cf1c721cce
2023-10-30 09:45:44 -04:00
7a759dab7a Push-To-Talk : add global and local ptt
It works with a Pimpl which the right pttlistener.cpp depending
on the platform you are on (macOs, windows or X11). It is a
global PTT which listen to key events during calls. If the
global PTT is not supported, a local PTT is set.

https://git.jami.net/savoirfairelinux/jami-project/-/issues/1402

Change-Id: I8399800966c737bb8e8a656ecbb6af7ac7cdde8c
2023-10-30 09:31:26 -04:00
d2e87150b4 misc: fix build on fedora 39
Change-Id: I0b64db0a418e9992dcafa053c762e153a65515b8
2023-10-30 08:40:46 -04:00
ec60458dbe misc: fix sidepanel and donation date
Change-Id: I98294ccfb1ae68b45260f3e66bdce3e179ee55a9
2023-10-26 15:57:11 -04:00
8a9aea2f28 Patch menu: position of the popup
Change-Id: I9a07dccc7bb4a17c0ce3046906f922d5ace35f8a
2023-10-26 11:15:47 -04:00
ae86464658 Chat setting view: add darktheme color
GitLab: #1369

Change-Id: I863d13dc924e3e0d12dd92f9fb2b8d48bad051f4
2023-10-25 13:10:44 -04:00
5f0163df05 Menu: add some details on menu
GitLab: #1388
Change-Id: Ia38dbd15b176afcaf7c03b6612695ee5b6e89723
2023-10-25 11:34:53 -04:00
493addcbd8 Menu: refactor menu
GitLab: #1388

Change-Id: Ia168dce60ffdafa1ab4d08905c46f47f98625916
2023-10-24 15:20:03 -04:00
f144b27db8 misc: bump daemon
Change-Id: I3d6a777d5b482f0810144780c333a292ce0e3f5c
2023-10-24 14:52:38 -04:00
861c42e3d5 fix: don't remove the daemon cache dir
Change-Id: Icde3c4f5dbb54c2ae93712434f5d08def4e3c3bb
2023-10-24 13:20:29 -04:00
873c4c72b9 i18n: automatic bump
Change-Id: Id0905136d6091270819b9ae8b37d3e9be5d9c1dc
2023-10-23 16:47:01 -04:00
3e012c32d5 Welcome view: set default title to false and resize logo
GitLab: #1334

Change-Id: I71930584b3f5e0925ba8f5f42fff669ff9237dd1
2023-10-23 14:41:23 -04:00
6bff3c54f1 TroubleshootingSetting: Connection monitoring
Change-Id: Idf922df701cdf2efc2d167362dca021897d8e2e5
2023-10-23 13:39:13 -04:00
e55eaa5d8e packaging: add fedora 39, ubuntu 23.10
Change-Id: I2da6a821b25c3a5ae26ba8f59f3dc8b6656751b5
2023-10-20 09:16:08 -04:00
1a17735d55 misc: bump daemon
Change-Id: I20cbebf0bea67385b08fa879884ce2a7f8634d52
2023-10-19 15:52:03 -04:00
4e5f153230 Message button: set circled false
Change-Id: I58aee3397e46025a79321e2a54211f72d299077e
2023-10-19 15:23:12 -04:00
15351a5aae splitview: hide handles when in single-pane mode
Prevents breaking the UI.

Gitlab: #1370
Change-Id: I6bad222c2a05dc66402bc8f86e17f9a6d4d99c99
2023-10-18 13:01:58 -04:00
e89aa95673 Donation: show the tipbox only after the 1st November 2023
Change-Id: If2bb725a0be137a55a29cd7592726c4f2c718c8a
2023-10-17 14:29:49 -04:00
3609dae584 pushbutton: circled default to true
Change-Id: I85967917eae6d69f534aebeaae998454a9a6a4c0
2023-10-17 15:01:45 -03:00
8b21b0fda9 Share popup: fix font size
Change-Id: Ied676c0bcea675735274362ecc35de504c4c7fa9
2023-10-17 10:02:33 -04:00
811a93cc27 Chat settings: refactor chat settings
GitLab: #1369
Change-Id: I1bd9dfab7526a9cd0d84205817ab4eae951dba90
2023-10-17 08:31:05 -04:00
baeb90bced i18n: automatic bump
Change-Id: I5f6e1f01940f43a6e4d8ffd8c497a848ed981971
2023-10-16 16:42:38 -04:00
439fea530d PushButton: Remove transparent color who break the animation
PopUp: Add shadow on the SharePopup

Change-Id: I3829fb651116e2ce8da05e71ecb61a67356748c7
2023-10-16 12:57:16 -04:00
55415d6062 Donation campaign: add toggleswitch setting
GitLab: #1334
Change-Id: Ic0e2a4b08db7228e4a4bdab665f53adfa581e16c
2023-10-13 09:23:36 -04:00
9d3b5cd0c5 Donation campaign: add donate tipbox
GitLab: #1334
Change-Id: Ie32b6278fb28381524936baabf09ee3cbba04eb6
2023-10-11 11:25:05 -04:00
4e549d123e misc: use the cache dir instead of the data dir as the cache dir
Gitlab: #1378
Change-Id: I0249a87fba240eb65165fc79bdbc0ffb55f00af8
2023-10-11 09:51:54 -04:00
77193b26d9 eleutheria: update welcome page for release
GitLab: #1334
Change-Id: Ibe19091076f3b041517f32684a248700c0fce7ff
2023-10-10 15:13:02 -04:00
742 changed files with 131867 additions and 95516 deletions

1
.clang-tidy Normal file
View File

@ -0,0 +1 @@
Checks: '-*,analyzer-cplusplus.NewDeleteLeaks'

2
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,2 @@
custom: ['https://jami.net/whydonate/']
lfx_crowdfunding: jami-a-gnu-package

2
.gitmodules vendored
View File

@ -1,6 +1,6 @@
[submodule "3rdparty/qrencode-win32"]
path = 3rdparty/qrencode-win32
url = https://github.com/BlueDragon747/qrencode-win32.git
url = https://github.com/blizzard4591/qrencode-win32.git
ignore = dirty
[submodule "3rdparty/libqrencode"]
url = https://github.com/fukuchi/libqrencode.git

2
3rdparty/md4c vendored

View File

@ -1,4 +1,4 @@
# Copyright (C) 2020-2023 Savoir-faire Linux Inc.
# Copyright (C) 2020-2024 Savoir-faire Linux Inc.
#
# Author: Albert Babí <albert.babi@savoirfairelinux.com>
# Author: Amin Bandali <amin.bandali@savoirfairelinux.com>
@ -21,7 +21,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
cmake_minimum_required(VERSION 3.16)
cmake_minimum_required(VERSION 3.19)
if(APPLE)
project(Jami)
@ -29,11 +29,42 @@ else()
project(jami)
endif()
option(WITH_DAEMON_SUBMODULE "Build with daemon submodule" OFF)
include(${PROJECT_SOURCE_DIR}/extras/build/cmake/extra_tools.cmake)
option(WITH_DAEMON_SUBMODULE "Build with daemon submodule" ON)
option(JAMICORE_AS_SUBDIR "Build Jami-core as a subdir dependency" OFF)
option(ENABLE_TESTS "Build with tests" OFF)
option(WITH_WEBENGINE "Build with WebEngine" ON)
if(WITH_WEBENGINE)
add_definitions(-DWITH_WEBENGINE)
option(ENABLE_LIBWRAP "Enable libwrap (single process mode)" ON)
if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
OR ENABLE_LIBWRAP
# because mocks use the same interface present in qtwrapper/
OR ENABLE_TEST)
set(ENABLE_LIBWRAP true)
endif()
option(ENABLE_ASAN "Enable address sanitization" OFF)
if(ENABLE_ASAN AND NOT MSVC)
message(STATUS "Address sanitization enabled for client")
# Add AddressSanitizer flags for both compiler and linker
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
endif()
# These values are exposed to QML and are better off being defined as values.
define_macro_with_value(WITH_WEBENGINE)
define_macro_with_value(APPSTORE)
# jami-core
if(NOT WITH_DAEMON_SUBMODULE)
set(DAEMON_DIR ${PROJECT_SOURCE_DIR}/../daemon)
else()
set(DAEMON_DIR ${PROJECT_SOURCE_DIR}/daemon)
endif()
# For now only MSVC is supported for building Jami-core within the
# client cmake.
if(JAMICORE_AS_SUBDIR)
add_subdirectory(${DAEMON_DIR})
endif()
# init some variables for includes, libs, etc.
@ -43,21 +74,48 @@ set(CLIENT_LIBS, "")
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS_DEBUG "-Og -ggdb")
if(NOT MSVC)
set(CMAKE_CXX_FLAGS_DEBUG "-Og -ggdb")
endif()
include(${PROJECT_SOURCE_DIR}/extras/build/cmake/contrib_tools.cmake)
set(EXTRA_PATCHES_DIR ${PROJECT_SOURCE_DIR}/extras/patches)
list(APPEND QWINDOWKIT_OPTIONS
QWINDOWKIT_BUILD_WIDGETS OFF
QWINDOWKIT_INSTALL OFF
QWINDOWKIT_BUILD_STATIC ON
)
if(WIN32)
list(APPEND QWINDOWKIT_PATCHES ${EXTRA_PATCHES_DIR}/0002-workaround-right-margin.patch)
list(APPEND QWINDOWKIT_OPTIONS QWINDOWKIT_ENABLE_WINDOWS_SYSTEM_BORDERS OFF)
endif()
# qmsetup uses the wrong package dir on some distributions
# (including Fedora and openSUSE Leap at least)
check_distro_needs_qmsetup_patch(DISTRO_NEEDS_QMSETUP_PATCH)
if(DISTRO_NEEDS_QMSETUP_PATCH)
list(APPEND QWINDOWKIT_PATCHES ${EXTRA_PATCHES_DIR}/0001-fix-fedora-fc-build.patch)
set(qmsetup_cmake_path ${CMAKE_BINARY_DIR}/_install/lib64/cmake/qmsetup)
endif()
# qwindowkit (frameless window)
add_fetch_content(
TARGET qwindowkit
URL https://github.com/stdware/qwindowkit.git
BRANCH 79b1f3110754f9c21af2d7dacbd07b1a9dbaf6ef
PATCHES ${QWINDOWKIT_PATCHES}
OPTIONS ${QWINDOWKIT_OPTIONS}
)
list(APPEND CLIENT_INCLUDE_DIRS ${QWindowKit_BINARY_DIR}/include)
list(APPEND CLIENT_LIBS QWindowKit::Quick)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Main project directories:
# jami-daemon
if(NOT WITH_DAEMON_SUBMODULE)
set(DAEMON_DIR ${PROJECT_SOURCE_DIR}/../daemon)
else()
set(DAEMON_DIR ${PROJECT_SOURCE_DIR}/daemon)
endif()
# src
set(LIBCLIENT_SRC_DIR ${PROJECT_SOURCE_DIR}/src/libclient)
set(APP_SRC_DIR ${PROJECT_SOURCE_DIR}/src/app)
@ -74,29 +132,19 @@ set(TESTS_DIR ${PROJECT_SOURCE_DIR}/tests)
# Here we let find_package(<PackageName>...) try to find Qt 6,
# If it is found, find_package will succeed, and the CMake variable
# QT_VERSION_MAJOR will be defined 6.
set(QT6_MINVER_MINOR 4)
set(QT6_MINVER_MINOR 6)
if(QT6_VER AND QT6_PATH)
find_package(QT NAMES Qt6 REQUIRED
PATHS ${QT6_PATH} NO_DEFAULT_PATH)
else()
message(STATUS "Looking for Qt 6" ${CMAKE_PREFIX_PATH})
message(STATUS "Looking for Qt 6 in ${CMAKE_PREFIX_PATH}")
find_package(QT NAMES Qt6 REQUIRED)
endif()
if (${QT_VERSION_MINOR} GREATER_EQUAL ${QT6_MINVER_MINOR})
# Qt version is 6.4 or higher
# Qt version is 6.6 or higher
message(STATUS "Found a suitable Qt version ${QT_VERSION}")
else()
message(FATAL_ERROR "Qt 6.4 or higher is required. Found ${QT_VERSION}")
endif()
if(MSVC)
set(DEFAULT_BUILD_TYPE "Debug")
if(NOT CMAKE_BUILD_TYPE)
message(STATUS "Setting build type to '${DEFAULT_BUILD_TYPE}' as none was specified.")
set(CMAKE_BUILD_TYPE "${DEFAULT_BUILD_TYPE}" CACHE
STRING "Choose the type of build." FORCE)
endif()
set(OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/x64/${CMAKE_BUILD_TYPE}")
message(FATAL_ERROR "Qt 6.6 or higher is required. Found ${QT_VERSION}")
endif()
# libjamiclient
@ -175,6 +223,7 @@ execute_process(
${PYTHON_EXEC} ${SCRIPTS_DIR}/gen_qml_qrc.py ${GEN_QRC_ARGS}
WORKING_DIRECTORY ${APP_SRC_DIR})
set(QML_RESOURCES_QML ${APP_SRC_DIR}/qml.qrc)
# Image and misc. resources
# check files in the resources directory and force a reconfigure if it
# changes
@ -186,6 +235,11 @@ execute_process(
WORKING_DIRECTORY ${APP_SRC_DIR})
set(QML_RESOURCES ${APP_SRC_DIR}/resources.qrc)
# Find modules (QtCreator) under the root source dir.
list(APPEND QML_DIRS ${APP_SRC_DIR})
set(QML_IMPORT_PATH ${QML_DIRS}
CACHE STRING "Qt Creator extra qml import paths" FORCE)
# library compatibility (boost, libnotify, etc.)
add_definitions(-DQT_NO_KEYWORDS)
@ -244,9 +298,12 @@ set(COMMON_SOURCES
${APP_SRC_DIR}/messageparser.cpp
${APP_SRC_DIR}/previewengine.cpp
${APP_SRC_DIR}/imagedownloader.cpp
${APP_SRC_DIR}/pluginversionmanager.cpp
${APP_SRC_DIR}/connectioninfolistmodel.cpp
${APP_SRC_DIR}/pluginversionmanager.cpp)
set(COMMON_HEADERS
${APP_SRC_DIR}/global.h
${APP_SRC_DIR}/avatarimageprovider.h
${APP_SRC_DIR}/networkmanager.h
${APP_SRC_DIR}/smartlistmodel.h
@ -310,8 +367,9 @@ set(COMMON_HEADERS
${APP_SRC_DIR}/messageparser.h
${APP_SRC_DIR}/htmlparser.h
${APP_SRC_DIR}/imagedownloader.h
${APP_SRC_DIR}/pluginversionmanager.h)
${APP_SRC_DIR}/pluginversionmanager.h
${APP_SRC_DIR}/connectioninfolistmodel.h
${APP_SRC_DIR}/pttlistener.h)
# For libavutil/avframe.
set(LIBJAMI_CONTRIB_DIR "${DAEMON_DIR}/contrib")
@ -327,6 +385,8 @@ if(Vulkan_FOUND)
add_definitions(-DHAS_VULKAN)
include_directories(${Vulkan_INCLUDE_DIR})
endif()
# Define PREFER_VULKAN to prefer Vulkan over the default API
# on GNU/Linux and Windows. Metal is always preferred on macOS.
if(MSVC)
set(WINDOWS_SYS_LIBS
@ -347,10 +407,6 @@ if(MSVC)
# preprocessor defines
add_definitions(-DUNICODE -DQT_NO_DEBUG -DNDEBUG)
# dependencies
set(QRENCODE_DIR
${PROJECT_SOURCE_DIR}/3rdparty/qrencode-win32/qrencode-win32)
# compiler options
add_compile_options(
/wd4068 /wd4099 /wd4189 /wd4267 /wd4577 /wd4467 /wd4715 /wd4828)
@ -368,12 +424,13 @@ if(MSVC)
"/NODEFAULTLIB:LIBCMT")
# client deps
set(QRENCODE_LIB
${QRENCODE_DIR}/vc8/qrcodelib/x64/Release-Lib/qrcodelib.lib)
set(QRENCODE_DIR ${PROJECT_SOURCE_DIR}/3rdparty/qrencode-win32/qrencode-win32)
file(GLOB_RECURSE QRENCODE_LIB ${QRENCODE_DIR}/qrcodelib.lib)
file(GLOB_RECURSE QRENCODE_INCLUDE ${QRENCODE_DIR}/qrencode.h)
get_filename_component(QRENCODE_INCLUDE_DIR ${QRENCODE_INCLUDE} DIRECTORY)
# daemon
set(JAMID_SRC_PATH ${DAEMON_DIR}/contrib/msvc/include)
set(JAMID_LIB ${DAEMON_DIR}/build/x64/ReleaseLib_win32/bin/libjami.lib)
set(GNUTLS_LIB ${DAEMON_DIR}/contrib/msvc/lib/x64/libgnutls.lib)
# Beta config
@ -389,7 +446,7 @@ if(MSVC)
include_directories(
${JAMID_SRC_PATH}
${LIBCLIENT_SRC_DIR}
${QRENCODE_DIR})
${QRENCODE_INCLUDE_DIR})
elseif (NOT APPLE)
list(APPEND COMMON_SOURCES
${APP_SRC_DIR}/xrectsel.c
@ -493,6 +550,29 @@ else()
OPTIONAL_COMPONENTS LinguistTools)
endif()
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
if (DEFINED ENV{XDG_SESSION_TYPE})
if ($ENV{XDG_SESSION_TYPE} STREQUAL "x11")
set(PTT_PLATFORM "x11")
list(APPEND COMMON_HEADER ${APP_SRC_DIR}/platform/X11/xcbkeyboard.H)
# TODO: add Wayland support
endif ()
endif ()
elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows")
set(PTT_PLATFORM "windows")
elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
set(PTT_PLATFORM "macos")
endif ()
if (NOT ${PTT_PLATFORM} STREQUAL "")
message(STATUS "Platform: ${PTT_PLATFORM}")
add_definitions(-DHAVE_GLOBAL_PTT)
list(APPEND COMMON_SOURCES ${APP_SRC_DIR}/platform/${PTT_PLATFORM}/pttlistener.cpp)
else ()
message(WARNING "Global push-to-talk not supported.")
list(APPEND COMMON_SOURCES ${APP_SRC_DIR}/platform/local/pttlistener.cpp)
endif ()
# common includes
include_directories(
${PROJECT_SOURCE_DIR}
@ -509,6 +589,7 @@ add_subdirectory(3rdparty/SortFilterProxyModel)
set(SFPM_OBJECTS $<TARGET_OBJECTS:SortFilterProxyModel>)
# md4c
set(BUILD_MD2HTML_EXECUTABLE OFF CACHE BOOL "Don't build md2html executable" FORCE)
set(BUILD_SHARED_LIBS OFF CACHE BOOL "Don't build shared md4c library" FORCE)
add_subdirectory(3rdparty/md4c EXCLUDE_FROM_ALL)
list(APPEND CLIENT_LINK_DIRS ${MD4C_BINARY_DIR}/src)
@ -546,7 +627,7 @@ if(MSVC)
WIN32_EXECUTABLE TRUE)
list(APPEND CLIENT_LIBS
${JAMID_LIB}
${LIBJAMI_LIB}
${GNUTLS_LIB}
${LIBCLIENT_NAME}
${QT_LIBS}
@ -593,7 +674,6 @@ elseif (NOT APPLE)
${GLIB_LIBRARIES}
${GIO_LIBRARIES})
# Installation rules
install(
TARGETS ${PROJECT_NAME}
RUNTIME DESTINATION bin)
@ -724,7 +804,7 @@ else()
list(APPEND CLIENT_LIBS
"-framework AVFoundation"
"-framework CoreAudio -framework CoreMedia -framework CoreVideo"
"-framework VideoToolbox -framework AudioUnit"
"-framework VideoToolbox -framework AudioUnit -framework Carbon"
"-framework Security"
compression
resolv

View File

@ -7,9 +7,9 @@ There are essentially two ways to build `client-qt`:
## Disclaimer
Because the client-qt is multi-platforms and supporting macOS, we need a recent version of Qt to do rendering with Metal. So, Qt 6.4 is necessary.
Because the client-qt is multi-platforms and supporting macOS, we need a recent version of Qt to do rendering with Metal. So, Qt 6.6 is necessary.
This version is generally not packaged on a lot of platforms, and to control available plugins and such, we have our own Qt packaged (available on https://jami.net on the distributions we support).
So, you will need to get Qt 6.4 first. For this, there is 3 methods:
So, you will need to get Qt 6.6 first. For this, there is 3 methods:
### Qt from our repo (recommended)
@ -49,7 +49,7 @@ sudo dnf update && sudo dnf install jami-libqt
### Qt from your distribution
If Qt 6.4 is available, you can use the packages from your distribution:
If Qt 6.6 is available, you can use the packages from your distribution:
It should be (For now qt5 only is packaged by distributions, so names can change).
@ -118,7 +118,7 @@ Then, you can build daemon and the client using:
If you use a Qt version that is not system-wide installed, you need to
specify its path using the `--qt` flag, e.g.
`./build.py --install --qt=/home/<username>/Qt/6.4.1/gcc_64`.
`./build.py --install --qt=/home/<username>/Qt/6.6.1/gcc_64`.
Now you will have the daemon in `daemon/bin/dbus/jamid` and the client in
`build/jami`. You can now run Jami using:
@ -134,7 +134,7 @@ Notes:
## Build only the client
In order to use the Qt Client it is necessary to have the Qt version 6.4 or higher. If your system does not have it you can install it [from sources or download the binary installer](https://www.qt.io/download).
In order to use the Qt Client it is necessary to have the Qt version 6.6 or higher. If your system does not have it you can install it [from sources or download the binary installer](https://www.qt.io/download).
## Build only this repository
@ -184,7 +184,7 @@ Only 64-bit MSVC build can be compiled.
- Download [Qt (Open Source)](https://www.qt.io/download-open-source?hsCtaTracking=9f6a2170-a938-42df-a8e2-a9f0b1d6cdce%7C6cb0de4f-9bb5-4778-ab02-bfb62735f3e5)
- Using the online installer, install the following Qt 6.4.3 components:
- Using the online installer, install the following Qt 6.6.1 components:
- Git 2.10.2
- MSVC 2019 64-bit
@ -203,11 +203,11 @@ Only 64-bit MSVC build can be compiled.
| ------------ | ------------ | --------------------------------------------------- | ---------------- |
| Requirement: | 10.0.18362.0 | V142 (VisualStudio 2019) / V143 (VisualStudio 2022) | matching Toolset |
- Install Qt Vs Tools under extensions, and configure msvc2017*64 path under Qt Options. \_See the Qt notes below.*
- Install Qt Vs Tools under extensions, and configure msvc2019\_64 path under Qt Options. *See the Qt notes below.*
| | Qt Version |
| -------------------- | ---------- |
| Minimum requirement: | 6.4.3 |
| Minimum requirement: | 6.6.1 |
- Install [Python3](https://www.python.org/downloads/) for Windows
@ -233,7 +233,7 @@ Only 64-bit MSVC build can be compiled.
- Using a new **Non-Elevated Command Prompt**
```bash
python build.py --install --qt <path-to-qt-bin-folder> (e.g. C:/Qt/6.4.3/msvc2019_64)
python build.py --install --qt <path-to-qt-bin-folder> (e.g. C:/Qt/6.6.1/msvc2019_64)
```
> **SDK** Note:
@ -276,7 +276,7 @@ Once the build has finished, you should then be able to use the Visual Studio So
```
python extras\scripts\build-windows.py --init
python extras\scripts\build-windows.py --qt <path-to-qt-bin-folder> (e.g. C:/Qt/6.4.3/msvc2019_64)
python extras\scripts\build-windows.py --qt <path-to-qt-bin-folder> (e.g. C:/Qt/6.6.1/msvc2019_64)
```
## Building On MacOS
@ -286,9 +286,9 @@ Once the build has finished, you should then be able to use the Visual Studio So
- macOS minimum version 10.15
- install python3
- download xcode
- install Qt 6.4
- install Qt 6.6
Qt 6.4 can be installed via brew
Qt 6.6 can be installed via brew
```bash
brew install qt

View File

@ -38,7 +38,7 @@ cf [INSTALL.md](/INSTALL.md)
# License
Copyright (C) 2020-2023 Savoir-faire Linux Inc.
Copyright (C) 2020-2024 Savoir-faire Linux Inc.
Jami is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

131
build.py
View File

@ -1,7 +1,7 @@
#!/usr/bin/env python3
# build.py --- Convenience script for building and running Jami
# Copyright (C) 2016-2023 Savoir-faire Linux Inc.
# Copyright (C) 2016-2024 Savoir-faire Linux Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -28,6 +28,7 @@ import shutil
import subprocess
import sys
import time
import re
OSX_DISTRIBUTION_NAME = "osx"
WIN32_DISTRIBUTION_NAME = "win32"
@ -44,7 +45,7 @@ APT_BASED_DISTROS = [
]
DNF_BASED_DISTROS = [
'fedora', 'rhel',
'fedora', 'rhel', 'almalinux',
]
PACMAN_BASED_DISTROS = [
@ -98,7 +99,7 @@ ZYPPER_DEPENDENCIES = [
# daemon
'speexdsp-devel', 'speex-devel', 'libdbus-c++-devel', 'jsoncpp-devel', 'yaml-cpp-devel',
'yasm', 'libuuid-devel', 'libnettle-devel', 'libopus-devel', 'libexpat-devel',
'libgnutls-devel', 'msgpack-devel', 'libavcodec-devel', 'libavdevice-devel', 'pcre-devel',
'libgnutls-devel', 'msgpack-c-devel', 'msgpack-cxx-devel', 'libavcodec-devel', 'libavdevice-devel', 'pcre-devel',
'alsa-devel', 'libpulse-devel', 'libudev-devel', 'libva-devel', 'libvdpau-devel',
'libopenssl-devel', 'libavutil-devel',
]
@ -107,8 +108,10 @@ ZYPPER_CLIENT_DEPENDENCIES = [
# lrc
'qt6-core-devel', 'qt6-dbus-devel', 'qt6-linguist-devel',
# client-qt
'qt6-svg-devel', 'qt6-multimedia-devel', 'qt6-declarative-devel',
'qt6-quickcontrols2-devel',
'qt6-concurrent-devel', 'qt6-qt5compat-devel', 'qt6-qt5compat-imports',
'qt6-svg-devel', 'qt6-multimedia-devel', 'qt6-multimedia-imports',
'qt6-declarative-devel', 'qt6-qmlcompiler-private-devel',
'qt6-quickcontrols2-devel', 'qt6-shadertools-devel',
'qrencode-devel', 'NetworkManager-devel'
]
@ -243,8 +246,8 @@ def run_dependencies(args):
elif args.distribution in DNF_BASED_DISTROS:
if args.assume_yes:
for i, _ in enumerate(DNF_INSTALL_SCRIPT):
DNF_INSTALL_SCRIPT[i] += ASSUME_YES_FLAG
for i, _ in enumerate(RPM_INSTALL_SCRIPT):
RPM_INSTALL_SCRIPT[i] += ASSUME_YES_FLAG
execute_script(
RPM_INSTALL_SCRIPT,
{"packages": ' '.join(map(shlex.quote, DNF_DEPENDENCIES))})
@ -363,10 +366,10 @@ def cwd(path):
def run_install(args):
# Platforms with special compilation scripts
if args.distribution == WIN32_DISTRIBUTION_NAME:
with cwd('daemon/compat/msvc'):
execute_script(
['python winmake.py -iv '
f'-s {args.sdk} -b daemon'])
if not args.pywinmake:
with cwd('daemon/compat/msvc'):
execute_script([f'python winmake.py -iv -s {args.sdk} -b daemon'])
build_windows = 'extras/scripts/build-windows.py'
execute_script([f'python {build_windows} --init'])
execute_script([f'python {build_windows} --qt={args.qt}'])
@ -386,12 +389,16 @@ def run_install(args):
install_args.append('-u')
if args.debug:
install_args.append('-d')
if args.asan:
install_args.append('-A')
if args.no_libwrap:
install_args.append('-W')
if args.no_webengine:
install_args.append('-w')
if args.arch:
install_args += ('-a', args.arch)
if args.extra_cmake_flags:
install_args += ('-D', args.extra_cmake_flags)
if args.distribution == OSX_DISTRIBUTION_NAME:
# The `universal_newlines` parameter has been renamed to `text` in
@ -458,6 +465,93 @@ def run_clean():
'git submodule foreach git clean -xfd'])
def clean_contribs(contribs):
"""
Helper to clean one or more of the libjami contribs.
Takes a list of contrib names(space separated) to clean, or 'all' to clean all contribs.
Contribs are assumed to be in the contrib_dir: daemon/contrib
Artifacts to remove include:
- build directory: <contrib_dir>/<native_dir>/<contrib_name>
- build stamp: <contrib_dir>/<native_dir>/.<contrib_name>
- tarball: <contrib_dir>/tarballs/<contrib_name>*.tar.*
- build artifacts (we don't care about the contents of share):
- <contrib_dir>/<abi_triplet>/bin/<contrib_name>
- <contrib_dir>/<abi_triplet>/lib/<contrib_name>*
- <contrib_dir>/<abi_triplet>/include/<contrib_name>*
"""
# Not supported on Windows
if platform.system() == 'Windows':
print('Cleaning contribs is not supported on Windows. Exiting.')
sys.exit(1)
# Assume we are using the submodule here.
contrib_dir = 'daemon/contrib'
sub_dirs = os.listdir(contrib_dir)
# Let's find the abi triplet:
# The abi_triplet is 3 parts: <arch>-<vendor>-<sys> and should be the only directory
# named like that in the contrib directory. We can use a regex to find it.
triplet_pattern = re.compile(r'^[a-zA-Z0-9_]+-[a-zA-Z0-9_]+-[a-zA-Z0-9_]+$')
def is_triplet(s):
return bool(triplet_pattern.match(s))
abi_triplet = ''
for sub_dir in sub_dirs:
if is_triplet(sub_dir):
abi_triplet = sub_dir
break
# If we didn't find the abi triplet, we need to stop.
if abi_triplet == '':
print('Could not find the abi triplet for the contribs. Exiting.')
sys.exit(1)
# Let's find the native build source directory (native-*)
native_dir = ''
for sub_dir in sub_dirs:
if sub_dir.startswith('native'):
native_dir = os.path.join(contrib_dir, sub_dir)
break
# If we didn't find the native build source directory, we need to stop.
if native_dir == '':
print('Could not find the native build source directory. Exiting.')
sys.exit(1)
# If contribs is 'all', construct the list of all contribs from the contrib native directory
# list of directories only
if contribs == ['all']:
contribs = [d for d in os.listdir(native_dir) if os.path.isdir(os.path.join(native_dir, d))]
# Clean each contrib
for contrib in contribs:
print(f'Cleaning contrib: {contrib} for {abi_triplet} in {native_dir}')
build_dir = os.path.join(native_dir, contrib, '*')
build_stamp = os.path.join(native_dir, f'.{contrib}*')
tarball = os.path.join(contrib_dir, 'tarballs', f'{contrib}*.tar.*')
bins = os.path.join(contrib_dir, abi_triplet, 'bin', contrib)
libs = os.path.join(contrib_dir, abi_triplet, 'lib', f'lib{contrib}*')
includes = os.path.join(contrib_dir, abi_triplet, 'include', f'{contrib}*')
# EXCEPTIONS: pjproject and ffmpeg
if contrib == 'pjproject':
libs = f' {os.path.join(contrib_dir, abi_triplet, "lib", "libpj*")}' \
f' {os.path.join(contrib_dir, abi_triplet, "lib", "libsrtp*")}'
includes = os.path.join(contrib_dir, abi_triplet, 'include', 'pj*')
elif contrib == 'ffmpeg':
libs = f' {os.path.join(contrib_dir, abi_triplet, "lib", "libav*")}' \
f' {os.path.join(contrib_dir, abi_triplet, "lib", "libsw*")}'
includes = f' {os.path.join(contrib_dir, abi_triplet, "include", "libav*")}' \
f' {os.path.join(contrib_dir, abi_triplet, "include", "libsw*")}'
# For a dry run:
# execute_script([f'find {build_dir} {build_stamp} {tarball} {bins} {libs} {includes}'], fail=False)
execute_script([f'rm -rf {build_dir} {build_stamp} {tarball} {bins} {libs} {includes}'], fail=False)
def run_run(args):
run_env = os.environ
@ -626,6 +720,8 @@ def parse_args():
ap.add_argument('--global-install', default=False, action='store_true')
ap.add_argument('--debug', default=False, action='store_true',
help='Build with debug support; run in GDB')
ap.add_argument('--asan', default=False, action='store_true',
help='Build both daemon and client with ASAN')
ap.add_argument('--background', default=False, action='store_true')
ap.add_argument('--no-priv-install', dest='priv_install',
default=True, action='store_false')
@ -640,6 +736,15 @@ def parse_args():
default=False, action='store_true',
help='Do not use Qt WebEngine.')
ap.add_argument('--arch')
ap.add_argument('--clean-contribs', nargs='+',
help='Clean the specified contribs (space separated) or \
"all" to clean all contribs before building.')
ap.add_argument('--pywinmake', dest='pywinmake',
default=False, action='store_true',
help='Build Jami for Windows using pywinmake')
# Allow supplying extra congifure flags to the client cmake.
ap.add_argument('--extra-cmake-flags', type=str,
help='Extra flags to pass to the client cmake')
dist = choose_distribution()
@ -686,6 +791,10 @@ def choose_distribution():
def main():
parsed_args = parse_args()
# Clean contribs if specified first.
if parsed_args.clean_contribs:
clean_contribs(parsed_args.clean_contribs)
if parsed_args.dependencies:
run_dependencies(parsed_args)

2
daemon

Submodule daemon updated: a87f1aaef4...66d8100264

View File

@ -1,7 +1,7 @@
# Taken from:
# https://cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F
#
# Copyright (C) 2021-2023 Savoir-faire Linux Inc.
# Copyright (C) 2021-2024 Savoir-faire Linux Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@ -0,0 +1,92 @@
# Copyright (C) 2024 Savoir-faire Linux Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
include(FetchContent)
include(CMakeParseArguments)
# Helper function to check if we're on a distribution that requires us
# to apply a patch in order for qmsetup to use the right package directory
function(check_distro_needs_qmsetup_patch DISTRO_NEEDS_QMSETUP_PATCH)
set(${DISTRO_NEEDS_QMSETUP_PATCH} FALSE PARENT_SCOPE)
# Check for the existence of /etc/os-release
if(EXISTS "/etc/os-release")
# Read the content of the file
file(READ "/etc/os-release" OS_RELEASE_CONTENT)
# Check if the distribution is Fedora or Red Hat-based
string(REGEX MATCH "ID=fedora|ID_LIKE=\"rhel fedora\"|ID_LIKE=\"rhel centos fedora\"" RED_HAT_BASED "${OS_RELEASE_CONTENT}")
# Check if the distribution is openSUSE Leap
string(REGEX MATCH "ID=\"opensuse-leap\"" OPENSUSE_LEAP "${OS_RELEASE_CONTENT}")
if(RED_HAT_BASED)
set(${DISTRO_NEEDS_QMSETUP_PATCH} TRUE PARENT_SCOPE)
message(STATUS "Running on a Red Hat-based distribution (Fedora, RHEL, CentOS, etc.)")
elseif(OPENSUSE_LEAP)
set(${DISTRO_NEEDS_QMSETUP_PATCH} TRUE PARENT_SCOPE)
message(STATUS "Running on openSUSE Leap")
else()
message(STATUS "Distribution is not openSUSE Leap or Red Hat-based")
endif()
else()
message(STATUS "Cannot determine the distribution type: /etc/os-release not found")
endif()
endfunction()
# Helper function to add external content with patches and options.
# Parameters:
# TARGET: Name of the target to create
# URL: URL of the git repository
# BRANCH: Branch to checkout
# PATCHES: List of patch files to apply
# OPTIONS: List of options to set prior to calling FetchContent_MakeAvailable
function(add_fetch_content)
# Parse function arguments
set(oneValueArgs TARGET URL BRANCH)
set(multiValueArgs PATCHES OPTIONS)
cmake_parse_arguments(PARSE_ARGV 0 AFCWP "" "${oneValueArgs}" "${multiValueArgs}")
# Create a string for the patch command
set(patch_cmd "")
# If patches is not empty, start the command with "git apply"
if(NOT "${AFCWP_PATCHES}" STREQUAL "")
set(patch_cmd git apply)
endif()
foreach(patch_file IN LISTS AFCWP_PATCHES)
list(APPEND patch_cmd "${patch_file}")
endforeach()
# Declare the external content
FetchContent_Declare(
${AFCWP_TARGET}
GIT_REPOSITORY ${AFCWP_URL}
GIT_TAG ${AFCWP_BRANCH}
PATCH_COMMAND ${patch_cmd}
UPDATE_DISCONNECTED 1
)
# Apply options
list(LENGTH AFCWP_OPTIONS options_length)
if(NOT ${options_length} EQUAL 0)
math(EXPR max_idx "${options_length} - 1")
foreach(idx RANGE 0 ${max_idx} 2)
list(GET AFCWP_OPTIONS ${idx} key)
math(EXPR value_idx "${idx} + 1")
list(GET AFCWP_OPTIONS ${value_idx} value)
set(${key} ${value} CACHE STRING "${key}" FORCE)
endforeach()
endif()
# Make the content available
FetchContent_MakeAvailable(${AFCWP_TARGET})
endfunction()

View File

@ -0,0 +1,38 @@
# Copyright (C) 2024 Savoir-faire Linux Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# Function to define a macro with a specific value or default to 0 if not already set.
# This is useful to if within the code we don't want to use #ifdef but rather use the
# value of the macro.
function(define_macro_with_value MACRO_NAME)
if(DEFINED ${MACRO_NAME})
# Convert ON/OFF to 1/0
if(${${MACRO_NAME}} STREQUAL "ON")
set(MACRO_VALUE "1")
elseif(${${MACRO_NAME}} STREQUAL "OFF")
set(MACRO_VALUE "0")
# If the macro is defined and its value is neither "ON" nor "OFF",
# set MACRO_VALUE to the macro's current value
else()
set(MACRO_VALUE "${${MACRO_NAME}}")
endif()
else()
set(MACRO_VALUE "0")
endif()
# Add the macro definition to the compiler command line
add_definitions("-D${MACRO_NAME}=${MACRO_VALUE}")
endfunction()

View File

@ -1,4 +1,4 @@
# Copyright (C) 2015-2023 Savoir-faire Linux Inc.
# Copyright (C) 2015-2024 Savoir-faire Linux Inc.
#
# Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
# Author: Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>
@ -53,33 +53,36 @@ set(CMAKE_FIND_LIBRARY_SUFFIXES_orig ${CMAKE_FIND_LIBRARY_SUFFIXES})
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib;.so;.dll")
# Add the lib prefix for Windows checks.
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
set(CMAKE_FIND_LIBRARY_PREFIXES "lib;")
endif()
set(LIBJAMI_NAMES
jami-core
jami
ring
)
if(WITH_DAEMON_SUBMODULE)
find_library(LIBJAMI_LIB NAMES jami ring
find_library(LIBJAMI_LIB NAMES ${LIBJAMI_NAMES}
PATHS ${DAEMON_DIR}/src/.libs
PATHS ${CMAKE_INSTALL_PREFIX}/lib
PATHS ${CMAKE_INSTALL_PREFIX}/daemon/lib
PATHS ${CMAKE_INSTALL_PREFIX}/libexec
PATHS ${CMAKE_INSTALL_PREFIX}/bin
PATHS ${CMAKE_INSTALL_PREFIX}/daemon/build/bin
NO_DEFAULT_PATH)
else()
# Search only in these given PATHS.
find_library(LIBJAMI_LIB NAMES jami ring
find_library(LIBJAMI_LIB NAMES ${LIBJAMI_NAMES}
PATHS ${LIBJAMI_BUILD_DIR}/.libs
PATHS ${RING_BUILD_DIR}/.libs
PATHS ${CMAKE_INSTALL_PREFIX}/lib
PATHS ${CMAKE_INSTALL_PREFIX}/daemon/lib
PATHS ${CMAKE_INSTALL_PREFIX}/libexec
PATHS ${CMAKE_INSTALL_PREFIX}/bin
PATHS ${CMAKE_INSTALL_PREFIX}/daemon/build/bin
NO_DEFAULT_PATH)
# Search elsewhere as well (e.g. system-wide).
if(NOT LIBJAMI_LIB)
find_library(LIBJAMI_LIB NAMES jami ring)
find_library(LIBJAMI_LIB NAMES ${LIBJAMI_NAMES})
endif()
endif()
@ -88,27 +91,29 @@ if(NOT LIBJAMI_LIB)
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a;.lib")
if(WITH_DAEMON_SUBMODULE)
find_library(LIBJAMI_LIB NAMES jami ring
find_library(LIBJAMI_LIB NAMES ${LIBJAMI_NAMES}
PATHS ${DAEMON_DIR}/src/.libs
PATHS ${CMAKE_INSTALL_PREFIX}
PATHS ${CMAKE_INSTALL_PREFIX}/lib
PATHS ${CMAKE_INSTALL_PREFIX}/daemon/lib
PATHS ${CMAKE_INSTALL_PREFIX}/libexec
PATHS ${CMAKE_INSTALL_PREFIX}/daemon/build/lib
NO_DEFAULT_PATH)
else()
# Search only in these given PATHS.
find_library(LIBJAMI_LIB NAMES jami ring
find_library(LIBJAMI_LIB NAMES ${LIBJAMI_NAMES}
PATHS ${LIBJAMI_BUILD_DIR}/.libs
PATHS ${RING_BUILD_DIR}/.libs
PATHS ${CMAKE_INSTALL_PREFIX}
PATHS ${CMAKE_INSTALL_PREFIX}/lib
PATHS ${CMAKE_INSTALL_PREFIX}/daemon/lib
PATHS ${CMAKE_INSTALL_PREFIX}/libexec
PATHS ${CMAKE_INSTALL_PREFIX}/daemon/build/lib
NO_DEFAULT_PATH)
# Search elsewhere as well (e.g. system-wide).
if(NOT LIBJAMI_LIB)
find_library(LIBJAMI_LIB NAMES jami ring)
find_library(LIBJAMI_LIB NAMES ${LIBJAMI_NAMES})
endif()
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows")

View File

@ -66,4 +66,9 @@ RUN apt-get install -y -o Acquire::Retries=10 \
libssl-dev
RUN apt-get install -y pandoc \
googletest \
libgtest-dev
libgtest-dev \
wget
# Install a recent version of CMake
ADD extras/packaging/gnu-linux/scripts/install-cmake.sh /opt/install-cmake.sh
RUN /opt/install-cmake.sh

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2022-2023 Savoir-faire Linux Inc.
* Copyright (C) 2022-2024 Savoir-faire Linux Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (C) 2015-2023 Savoir-faire Linux Inc. -->
<!-- Copyright (C) 2015-2024 Savoir-faire Linux Inc. -->
<component type="desktop-application">
<id>net.jami.Jami</id>
<metadata_license>CC-BY-SA-3.0</metadata_license>

View File

@ -1,4 +1,4 @@
// Copyright (C) 2021-2023 Savoir-faire Linux Inc.
// Copyright (C) 2021-2024 Savoir-faire Linux Inc.
//
// Author: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
//

View File

@ -1,5 +1,5 @@
# -*- mode: makefile; -*-
# Copyright (C) 2016-2023 Savoir-faire Linux Inc.
# Copyright (C) 2016-2024 Savoir-faire Linux Inc.
#
# Author: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
#
@ -46,10 +46,10 @@ DEBIAN_DSC_FILENAME := jami_$(DEBIAN_VERSION).dsc
# Qt versions
QT_MAJOR := 6
QT_MINOR := 4
QT_PATCH := 3
QT_TARBALL_CHECKSUM := 29a7eebdbba0ea57978dea6083709c93593a60f0f3133a3de08b9571ee8eaab4
DEBIAN_QT_VERSION := $(QT_MAJOR).$(QT_MINOR).$(QT_PATCH)-2
QT_MINOR := 6
QT_PATCH := 1
QT_TARBALL_CHECKSUM := dd3668f65645fe270bc615d748bd4dc048bd17b9dc297025106e6ecc419ab95d
DEBIAN_QT_VERSION := $(QT_MAJOR).$(QT_MINOR).$(QT_PATCH)-0
DEBIAN_QT_DSC_FILENAME := libqt-jami_$(DEBIAN_QT_VERSION).dsc
QT_JAMI_PREFIX := /usr/lib/libqt-jami
@ -167,9 +167,13 @@ DISTRIBUTIONS := \
ubuntu_20.04 \
ubuntu_22.04 \
ubuntu_23.04 \
ubuntu_23.10 \
fedora_37 \
fedora_38 \
fedora_39 \
alma_9 \
opensuse-leap_15.4 \
opensuse-leap_15.5 \
snap
IS_SHELL_INTERACTIVE := $(shell [ -t 0 ] && echo yes)

View File

@ -0,0 +1,105 @@
FROM almalinux:9
RUN dnf clean all
RUN dnf update -y
RUN dnf install -y epel-release
RUN dnf install -y 'dnf-command(config-manager)'
RUN dnf config-manager --set-enabled crb
RUN dnf config-manager --set-enabled appstream
RUN dnf install -y dnf-command\(builddep\) rpmdevtools && \
dnf install -y mock
RUN yum install -y wget && \
wget https://repo.almalinux.org/almalinux/9/devel/x86_64/os/Packages/uuid-c++-devel-1.6.2-55.el9.x86_64.rpm && \
yum localinstall -y uuid-c++-devel-1.6.2-55.el9.x86_64.rpm && \
rm -f uuid-c++-devel-1.6.2-55.el9.x86_64.rpm
RUN yum install -y xorg-x11-xauth
RUN dnf install -y \
git \
rpm-build \
tar \
make \
autoconf \
automake \
nasm \
speexdsp-devel \
pulseaudio-libs-devel \
libcanberra-devel \
libcurl-devel \
libtool \
mesa-libgbm-devel \
mesa-dri-drivers \
dbus-devel \
expat-devel \
pcre-devel \
yaml-cpp-devel \
libXext-devel \
libXfixes-devel \
yasm \
speex-devel \
gsm-devel \
chrpath \
check \
astyle \
gettext-devel \
gcc-c++ \
which \
alsa-lib-devel \
systemd-devel \
libuuid-devel \
uuid-devel \
gnutls-devel \
nettle-devel \
opus-devel \
patch \
jsoncpp-devel \
libnatpmp-devel \
webkitgtk4-devel \
cryptopp-devel \
libva-devel \
libvdpau-devel \
msgpack-devel \
NetworkManager-libnm-devel \
openssl-devel \
clutter-devel \
clutter-gtk-devel \
libappindicator-gtk3-devel \
libnotify-devel \
libupnp-devel \
qrencode-devel \
libargon2-devel \
libsndfile-devel \
libdrm \
gperf \
bison \
clang \
clang-devel \
llvm-devel \
nodejs \
flex \
gstreamer1 gstreamer1-devel \
gstreamer1-plugins-base-devel \
gstreamer1-plugins-good \
gstreamer1-plugins-bad-free-devel \
nss-devel \
libxcb* \
libxkb* \
libX11-devel \
vulkan-devel \
libXrender-devel \
xcb-util-* \
xz \
xkeyboard-config \
libnotify \
wget \
libstdc++-static \
sqlite-devel \
perl-generators \
perl-English \
libxshmfence-devel \
ninja-build \
clang \
cmake \
fmt-devel \
python3-html5lib \
cups-devel
ADD extras/packaging/gnu-linux/scripts/build-package-rpm.sh /opt/build-package-rpm.sh
CMD ["/opt/build-package-rpm.sh"]

View File

@ -8,7 +8,12 @@ RUN apt-get update && \
devscripts \
equivs \
python-is-python3 \
wget
wget \
curl
# nodejs
RUN curl -sL https://deb.nodesource.com/setup_20.x | bash -
RUN apt install nodejs -y
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
@ -18,7 +23,7 @@ RUN /opt/prebuild-package-debian.sh qt-deps
COPY extras/packaging/gnu-linux/rules/debian/control /tmp/builddeps/debian/control
RUN /opt/prebuild-package-debian.sh jami-deps
# Install CMake 3.19 for Qt 6
# Install CMake 3.21 for Qt 6
ADD extras/packaging/gnu-linux/scripts/install-cmake.sh /opt/install-cmake.sh
RUN /opt/install-cmake.sh

View File

@ -11,6 +11,14 @@ RUN apt-get update --allow-releaseinfo-change && \
wget \
nasm
# As of January 2024, the default compiler on Debian testing is GCC 13.2.0, which
# can't build one of Qt 6.6.1's dependencies, see:
# https://github.com/qt/qtquick3d-assimp/commit/253f8bfa621a9fa6cd2c36291cdaa8c60c99322c
# The linked commit above fixes the problem and is included in more recent versions of Qt.
# For now, we use GCC 12 as a temporary workaround:
ADD extras/packaging/gnu-linux/scripts/install-gcc-debian.sh /opt/install-gcc-debian.sh
RUN /opt/install-gcc-debian.sh 12
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
COPY extras/packaging/gnu-linux/rules/debian-qt/control /tmp/builddeps/debian/control
@ -19,7 +27,7 @@ RUN /opt/prebuild-package-debian.sh qt-deps
COPY extras/packaging/gnu-linux/rules/debian/control /tmp/builddeps/debian/control
RUN /opt/prebuild-package-debian.sh jami-deps
# Install CMake 3.19 for Qt 6
# Install CMake 3.21 for Qt 6
ADD extras/packaging/gnu-linux/scripts/install-cmake.sh /opt/install-cmake.sh
RUN /opt/install-cmake.sh

View File

@ -11,6 +11,14 @@ RUN apt-get update && \
libdbus-1-dev \
wget
# As of January 2024, the default compiler on Debian unstable is GCC 13.2.0, which
# can't build one of Qt 6.6.1's dependencies, see:
# https://github.com/qt/qtquick3d-assimp/commit/253f8bfa621a9fa6cd2c36291cdaa8c60c99322c
# The linked commit above fixes the problem and is included in more recent versions of Qt.
# For now, we use GCC 12 as a temporary workaround:
ADD extras/packaging/gnu-linux/scripts/install-gcc-debian.sh /opt/install-gcc-debian.sh
RUN /opt/install-gcc-debian.sh 12
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
COPY extras/packaging/gnu-linux/rules/debian-qt/control /tmp/builddeps/debian/control
@ -19,7 +27,7 @@ RUN /opt/prebuild-package-debian.sh qt-deps
COPY extras/packaging/gnu-linux/rules/debian/control /tmp/builddeps/debian/control
RUN /opt/prebuild-package-debian.sh jami-deps
# Install CMake 3.19 for Qt 6
# Install CMake 3.21 for Qt 6
ADD extras/packaging/gnu-linux/scripts/install-cmake.sh /opt/install-cmake.sh
RUN /opt/install-cmake.sh

View File

@ -0,0 +1,104 @@
FROM fedora:39
RUN dnf clean all
RUN dnf update -y
RUN dnf install -y dnf-command\(builddep\) rpmdevtools && \
dnf install -y mock
RUN dnf groupinstall -y "X Software Development"
RUN dnf install -y \
git \
rpm-build \
tar \
make \
autoconf \
automake \
nasm \
speexdsp-devel \
pulseaudio-libs-devel \
libcanberra-devel \
libcurl-devel \
libtool \
mesa-libgbm-devel \
mesa-dri-drivers \
dbus-devel \
expat-devel \
pcre-devel \
yaml-cpp-devel \
libXext-devel \
libXfixes-devel \
yasm \
speex-devel \
gsm-devel \
chrpath \
check \
astyle \
uuid-c++-devel \
gettext-devel \
gcc-c++ \
which \
alsa-lib-devel \
systemd-devel \
libuuid-devel \
uuid-devel \
gnutls-devel \
nettle-devel \
opus-devel \
patch \
jsoncpp-devel \
libnatpmp-devel \
webkitgtk4-devel \
cryptopp-devel \
libva-devel \
libvdpau-devel \
msgpack-devel \
NetworkManager-libnm-devel \
openssl-devel \
clutter-devel \
clutter-gtk-devel \
libappindicator-gtk3-devel \
libnotify-devel \
libupnp-devel \
qrencode-devel \
libargon2-devel \
libsndfile-devel \
libdrm \
gperf \
bison \
clang \
clang-devel \
llvm-devel \
nodejs \
flex \
gstreamer1 gstreamer1-devel \
gstreamer1-plugins-base-devel \
gstreamer1-plugins-good \
gstreamer1-plugins-bad-free-devel \
nss-devel \
libxcb* \
libxkb* \
libX11-devel \
vulkan-devel \
libXrender-devel \
xcb-util-* \
xz \
xkeyboard-config \
libnotify \
wget \
libstdc++-static \
sqlite-devel \
perl-generators \
perl-English \
libxshmfence-devel \
ninja-build \
clang \
cmake \
fmt-devel \
python3.10 \
cups-devel
ADD extras/packaging/gnu-linux/scripts/build-package-rpm.sh /opt/build-package-rpm.sh
CMD ["/opt/build-package-rpm.sh"]

View File

@ -59,6 +59,7 @@ RUN zypper --non-interactive install -y \
ffmpeg-4-libavutil-devel \
gtk3-devel\
qrencode-devel \
python310 \
python3-python-dateutil \
python3-html5lib \
libsndfile-devel \
@ -67,9 +68,11 @@ RUN zypper --non-interactive install -y \
bison \
flex \
ffmpeg ffmpeg-devel \
nodejs12 \
nodejs18 \
mozilla-nss-devel \
python-xml \
python3-six \
python3-importlib-metadata \
libxcb* \
libxkb* \
libX11-devel \
@ -98,6 +101,10 @@ RUN zypper --non-interactive install -y \
cmake \
wget
# openSUSE Leap 15.4 comes with Python 3.6 by default,
# but we need at least 3.7 to compile Qt 6.6.1
RUN rm /usr/bin/python3 && ln -s /usr/bin/python3.10 /usr/bin/python3
RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 50
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 50

View File

@ -0,0 +1,116 @@
FROM opensuse/leap:15.5
RUN zypper refresh
RUN zypper --non-interactive install -y \
dnf \
dnf-command\(builddep\) \
rpmdevtools \
Mesa-dri-devel Mesa-dri \
git \
gcc10 \
gcc10-c++ \
rpm-build \
tar \
make \
autoconf \
automake \
nasm \
speexdsp-devel \
libpulse-devel \
libcanberra-devel \
libcurl-devel \
libtool \
pcre-devel \
yaml-cpp-devel \
libXext-devel \
libXfixes-devel \
yasm \
speex-devel \
libgsm-devel \
chrpath \
check \
astyle \
gettext-devel \
which \
alsa-lib-devel \
systemd-devel \
libuuid-devel \
uuid-devel \
libopus-devel \
patch \
jsoncpp-devel \
webkit2gtk3-devel \
libcryptopp-devel \
libva-devel \
libvdpau-devel \
msgpack-c-devel \
msgpack-cxx-devel \
clutter-devel \
openssl-devel \
clutter-gtk-devel \
libnma-devel \
libcryptopp-devel \
libexpat-devel \
gnome-icon-theme-symbolic \
libgsm-devel \
gtk3-devel \
libappindicator-devel \
sqlite-devel \
ffmpeg-4-libavutil-devel \
gtk3-devel\
qrencode-devel \
python310 \
python3-python-dateutil \
python3-html5lib \
libsndfile-devel \
libdrm \
gperf \
bison \
flex \
ffmpeg ffmpeg-devel \
nodejs20 \
mozilla-nss-devel \
python-xml \
python3-six \
python3-importlib-metadata \
libxcb* \
libxkb* \
libX11-devel \
libXrender-devel \
libfreetype6 \
xcb-util-image-devel \
xcb-util-keysyms-devel \
xcb-util-renderutil-devel \
xcb-util-wm-devel \
xorg-x11-devel \
xz \
xkeyboard-config \
libnotify \
argon2-devel \
libxshmfence-devel \
xproto-devel \
xcb-proto-devel \
xcb-* \
xorg-* \
vulkan-devel \
ninja \
gstreamer-devel \
gstreamer-plugins-good \
gstreamer-plugins-bad-devel \
gstreamer-plugins-base-devel \
cmake \
wget
# openSUSE Leap 15.5 comes with Python 3.6 by default,
# but we need at least 3.7 to compile Qt 6.6.1
RUN rm /usr/bin/python3 && ln -s /usr/bin/python3.10 /usr/bin/python3
RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 50
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 50
ADD extras/packaging/gnu-linux/scripts/build-package-rpm.sh /opt/build-package-rpm.sh
ENV CC=gcc
ENV CXX=g++
CMD ["/opt/build-package-rpm.sh"]

View File

@ -69,7 +69,11 @@ COPY --from=builder /snap/snapcraft /snap/snapcraft
COPY --from=builder /snap/bin/snapcraft /snap/bin/snapcraft
# Generate locale and install dependencies.
RUN apt-get update && apt-get dist-upgrade --yes && apt-get install --yes snapd sudo apt-transport-https locales && locale-gen en_US.UTF-8
RUN apt-get update && apt-get dist-upgrade --yes && apt-get install --yes snapd sudo apt-transport-https locales wget && locale-gen en_US.UTF-8
# Install CMake 3.21 for Qt 6
ADD extras/packaging/gnu-linux/scripts/install-cmake.sh /opt/install-cmake.sh
RUN /opt/install-cmake.sh
# Set the proper environment.
ENV LANG="en_US.UTF-8"

View File

@ -11,8 +11,13 @@ RUN apt-get update && \
wget \
curl
# Installing GCC 10 because GCC 9 (the default on Ubuntu 20.04) doesn't support
# the --std=gnu++20 option, which is used by one of Qt 6.6.1's dependencies
ADD extras/packaging/gnu-linux/scripts/install-gcc-debian.sh /opt/install-gcc-debian.sh
RUN /opt/install-gcc-debian.sh 10
# nodejs
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash -
RUN curl -sL https://deb.nodesource.com/setup_20.x | bash -
RUN apt install nodejs -y
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
@ -23,7 +28,7 @@ RUN /opt/prebuild-package-debian.sh qt-deps
COPY extras/packaging/gnu-linux/rules/debian/control /tmp/builddeps/debian/control
RUN /opt/prebuild-package-debian.sh jami-deps
# Install CMake 3.19 for Qt 6
# Install CMake 3.21 for Qt 6
ADD extras/packaging/gnu-linux/scripts/install-cmake.sh /opt/install-cmake.sh
RUN /opt/install-cmake.sh

View File

@ -8,7 +8,12 @@ RUN apt-get update && \
devscripts \
equivs \
python-is-python3 \
wget
wget \
curl
# nodejs
RUN curl -sL https://deb.nodesource.com/setup_20.x | bash -
RUN apt install nodejs -y
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh

View File

@ -0,0 +1,30 @@
FROM ubuntu:23.10
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get clean
RUN apt-get update && \
apt-get install -y -o Acquire::Retries=10 \
devscripts \
equivs \
python-is-python3 \
wget
# The default compiler on Ubuntu 23.10, GCC 13.2.0, can't build one of Qt 6.6.1's
# dependencies, see:
# https://github.com/qt/qtquick3d-assimp/commit/253f8bfa621a9fa6cd2c36291cdaa8c60c99322c
# The linked commit above fixes the problem and is included in more recent versions of Qt.
# For now, we use GCC 12 as a temporary workaround:
ADD extras/packaging/gnu-linux/scripts/install-gcc-debian.sh /opt/install-gcc-debian.sh
RUN /opt/install-gcc-debian.sh 12
ADD extras/packaging/gnu-linux/scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
COPY extras/packaging/gnu-linux/rules/debian-qt/control /tmp/builddeps/debian/control
RUN /opt/prebuild-package-debian.sh qt-deps
COPY extras/packaging/gnu-linux/rules/debian/control /tmp/builddeps/debian/control
RUN /opt/prebuild-package-debian.sh jami-deps
ADD extras/packaging/gnu-linux/scripts/build-package-debian.sh /opt/build-package-debian.sh
CMD ["/opt/build-package-debian.sh"]

View File

@ -1,5 +1,5 @@
#!/bin/sh
# Copyright (C) 2021-2023 Savoir-faire Linux Inc.
# Copyright (C) 2021-2024 Savoir-faire Linux Inc.
#
# Author: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
#

View File

@ -1,4 +1,4 @@
;;; Copyright (C) 2021-2023 Savoir-faire Linux Inc.
;;; Copyright (C) 2021-2024 Savoir-faire Linux Inc.
;;;
;;; Author: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
;;;

View File

@ -53,6 +53,7 @@ Build-Depends: debhelper (>= 9),
libvulkan-dev [linux-any],
libx11-dev,
libx11-xcb-dev,
libsm-dev,
libxcb-glx0-dev,
libxcb-icccm4-dev,
libxcb-image0-dev,
@ -298,10 +299,11 @@ Build-Depends: debhelper (>= 9),
# libvpx-dev (>= 1.8),
libvpx-dev,
libwebp-dev,
# libx11-xcb-dev,
libx11-xcb-dev,
libxcb-dri3-dev,
# libxcomposite-dev,
libxcursor-dev,
libxcb-cursor-dev,
libxdamage-dev,
libxml2-dev,
libxnvctrl-dev,
@ -312,7 +314,7 @@ Build-Depends: debhelper (>= 9),
libxtst-dev,
mesa-common-dev,
ninja-build,
nodejs (>= 10.19),
nodejs (>= 14.21),
# pkg-config,
# pkg-kde-tools,
protobuf-compiler,

View File

@ -1,740 +0,0 @@
qtwebengine/src/3rdparty/chromium/base/debug/profiler.h | 1 +
qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h | 1 +
qtwebengine/src/3rdparty/chromium/base/logging.h | 2 ++
qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc | 2 ++
qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h | 1 +
qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h | 1 +
qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc | 1 +
qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h | 1 +
qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h | 1 +
qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h | 1 +
qtwebengine/src/3rdparty/chromium/extensions/common/constants.h | 2 ++
qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h | 1 +
qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h | 2 ++
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h | 1 +
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h | 1 +
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h | 2 ++
qtwebengine/src/3rdparty/chromium/net/base/parse_number.h | 1 +
qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h | 1 +
qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h | 1 +
qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h | 1 +
qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h | 1 +
qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h | 6 ++++--
qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h | 2 +-
qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h | 2 ++
qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h | 4 ++--
qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc | 1 +
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc | 1 +
qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h | 2 ++
qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h | 2 ++
qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp | 4 ++++
qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h | 1 +
qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h | 1 +
qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h | 1 +
qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h | 2 ++
qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h | 1 +
qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h | 1 +
qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h | 1 +
qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h | 1 +
qtwebengine/src/core/browsing_data_remover_delegate_qt.h | 2 ++
54 files changed, 71 insertions(+), 5 deletions(-)
diff --git a/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h b/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h
index 1229e06234..c7ed55e70f 100644
--- a/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h
+++ b/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h
@@ -5,6 +5,7 @@
#ifndef BASE_DEBUG_PROFILER_H_
#define BASE_DEBUG_PROFILER_H_
+#include <cstdint>
#include <stddef.h>
#include <string>
diff --git a/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h b/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
index 60c3c5c474..6c8021cfde 100644
--- a/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
+++ b/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
@@ -7,6 +7,7 @@
#include <stddef.h>
+#include <cstdint>
#include <iosfwd>
#include <string>
diff --git a/qtwebengine/src/3rdparty/chromium/base/logging.h b/qtwebengine/src/3rdparty/chromium/base/logging.h
index a3ff92f0fd..c272f796a9 100644
--- a/qtwebengine/src/3rdparty/chromium/base/logging.h
+++ b/qtwebengine/src/3rdparty/chromium/base/logging.h
@@ -7,6 +7,8 @@
#include <stddef.h>
+
+#include <cstdint>
#include <cassert>
#include <cstdint>
#include <sstream>
diff --git a/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc b/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc
index 96f8c3bd7c..c3f087b1a9 100644
--- a/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc
+++ b/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc
@@ -6,6 +6,8 @@
#include "ui/gfx/animation/keyframe/target_property.h"
+#include <cstdint>
+
namespace cc {
static_assert(TargetProperty::LAST_TARGET_PROPERTY <
diff --git a/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h b/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
index 2aba73ebcb..2e028fddcf 100644
--- a/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
+++ b/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
@@ -5,6 +5,7 @@
#ifndef COMPONENTS_VIZ_COMMON_SHARED_ELEMENT_RESOURCE_ID_H_
#define COMPONENTS_VIZ_COMMON_SHARED_ELEMENT_RESOURCE_ID_H_
+#include <cstdint>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h b/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
index 3069c858d3..f4614b73c6 100644
--- a/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
+++ b/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
@@ -5,6 +5,7 @@
#ifndef CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_
#define CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_
+#include <cstdint>
#include <string>
#include <vector>
#include "base/callback_forward.h"
diff --git a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
index 80fd26f4f4..3f08972a7a 100644
--- a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
+++ b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
@@ -3,6 +3,7 @@
// found in the LICENSE file.
#include "device/base/synchronization/one_writer_seqlock.h"
+#include <cstdint>
#include "base/threading/platform_thread.h"
diff --git a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
index 6a3eeda565..525301379c 100644
--- a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
+++ b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
@@ -6,6 +6,7 @@
#define DEVICE_BASE_SYNCHRONIZATION_ONE_WRITER_SEQLOCK_H_
#include <atomic>
+#include <cstdint>
#include "base/atomicops.h"
#include "base/check.h"
diff --git a/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h b/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
index 3cf2914e10..4b0552440c 100644
--- a/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
+++ b/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
@@ -5,6 +5,7 @@
#ifndef DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_
#define DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_
+#include <cstdint>
#include <ostream>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h b/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
index c24205c402..ee67ecf189 100644
--- a/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
+++ b/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
@@ -5,6 +5,7 @@
#ifndef EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_
#define EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_
+#include <cstdint>
#include <map>
#include <string>
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h b/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
index 9ac68e2be9..ef2761020d 100644
--- a/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
+++ b/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
@@ -10,6 +10,8 @@
#include "build/chromeos_buildflags.h"
#include "extensions/common/extensions_export.h"
+#include <cstdint>
+
namespace extensions {
// Scheme we serve extension content from.
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h b/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
index 4ba8de8460..6352b90196 100644
--- a/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
+++ b/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
@@ -5,6 +5,7 @@
#ifndef EXTENSIONS_RENDERER_BINDINGS_API_INVOCATION_ERRORS_H_
#define EXTENSIONS_RENDERER_BINDINGS_API_INVOCATION_ERRORS_H_
+#include <cstdint>
#include <set>
#include <string>
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
index a9c7adb5b5..943bd4e470 100644
--- a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
+++ b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
@@ -7,6 +7,8 @@
#include <stdint.h>
+#include <cstdint>
+
namespace gpu {
namespace webgpu {
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
index 027f1a5af3..70759b2ae4 100644
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
@@ -5,6 +5,7 @@
#ifndef GPU_CONFIG_GPU_FEATURE_INFO_H_
#define GPU_CONFIG_GPU_FEATURE_INFO_H_
+#include <cstdint>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
index 3ea2191b50..0a1ae11202 100644
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
@@ -5,6 +5,7 @@
#ifndef GPU_CONFIG_GPU_PREFERENCES_H_
#define GPU_CONFIG_GPU_PREFERENCES_H_
+#include <cstdint>
#include <stddef.h>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
index f72970c67a..d7f0b7d492 100644
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
@@ -5,6 +5,8 @@
#ifndef GPU_CONFIG_GPU_UTIL_H_
#define GPU_CONFIG_GPU_UTIL_H_
+#include <cstdint>
+
#include "build/build_config.h"
#include "gpu/config/gpu_feature_info.h"
#include "gpu/gpu_export.h"
diff --git a/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h b/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
index 4e49ab7112..e99d2dd7aa 100644
--- a/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
+++ b/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
@@ -7,6 +7,7 @@
#include "base/strings/string_piece.h"
#include "net/base/net_export.h"
+#include <cstdint>
// This file contains utility functions for parsing numbers, in the context of
// network protocols.
diff --git a/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h b/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
index 2e9c319a3d..4d723d18f2 100644
--- a/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
+++ b/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
@@ -6,6 +6,7 @@
#define NET_COOKIES_COOKIE_INCLUSION_STATUS_H_
#include <bitset>
+#include <cstdint>
#include <ostream>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
index 6a300ed0c0..3e30f1cb02 100644
--- a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
+++ b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
@@ -5,6 +5,7 @@
#ifndef QUICHE_QUIC_CORE_CRYPTO_QUIC_HKDF_H_
#define QUICHE_QUIC_CORE_CRYPTO_QUIC_HKDF_H_
+#include <cstdint>
#include <vector>
#include "absl/strings/string_view.h"
diff --git a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
index 52f1501728..db4d310849 100644
--- a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
+++ b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
@@ -5,6 +5,7 @@
#ifndef QUICHE_QUIC_CORE_QUIC_CONNECTION_ID_H_
#define QUICHE_QUIC_CORE_QUIC_CONNECTION_ID_H_
+#include <cstdint>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h b/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
index 138ca2efec..08f06e7b8c 100644
--- a/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
+++ b/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
@@ -5,6 +5,7 @@
#ifndef PDF_DOCUMENT_ATTACHMENT_INFO_H_
#define PDF_DOCUMENT_ATTACHMENT_INFO_H_
+#include <cstdint>
#include <string>
diff --git a/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h b/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
index b4fdb9a6d3..375d3ef327 100644
--- a/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
+++ b/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
@@ -38,6 +38,10 @@ namespace pp {
/// As a further optimization, we can add support for this later.
class ThreadSafeThreadTraits {
public:
+
+ typedef pp::Lock Lock;
+ typedef pp::AutoLock AutoLock;
+
class RefCount {
public:
/// Default constructor. In debug mode, this checks that the object is being
@@ -67,8 +71,6 @@ class ThreadSafeThreadTraits {
int32_t ref_;
};
- typedef pp::Lock Lock;
- typedef pp::AutoLock AutoLock;
};
/// The non-thread-safe version of thread traits. Using this class as the
diff --git a/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h b/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
index 0aad3ac782..7f7a1057d7 100644
--- a/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
+++ b/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
@@ -5,6 +5,7 @@
#ifndef SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
#define SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
+#include <cstdint>
#include <bitset>
#include <string>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h b/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
index c47536d63e..443f47afd0 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
@@ -18,6 +18,7 @@
#include <limits.h>
+#include <cstdint>
#include <cstddef>
#include <cstring>
#include <ostream>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
index e13aa2221d..0ce848486d 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
@@ -7,7 +7,7 @@
#define GLSLANG_SHADERLANG_H_
#include <stddef.h>
-
+#include <cstdint>
#include "KHR/khrplatform.h"
#include <array>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
index 18175e15c7..28332857bc 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
@@ -14,6 +14,7 @@
#include <array>
#include <string>
#include <vector>
+#include <cstdint>
// This type is defined here to simplify ANGLE's integration with glslang for SPIR-V.
using ShCompileOptions = uint64_t;
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
index c63049b174..82b27837b5 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
@@ -6,6 +6,7 @@
#define THIRD_PARTY_BLINK_PUBLIC_COMMON_ORIGIN_TRIALS_ORIGIN_TRIAL_PUBLIC_KEY_H_
#include <array>
+#include <cstdint>
namespace blink {
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h
index 14c5548766..43c9a8d6a5 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h
@@ -5,6 +5,8 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_DARK_MODE_TYPES_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_DARK_MODE_TYPES_H_
+#include <cstdint>
+
namespace blink {
enum class DarkModeResult : uint8_t {
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
index 80b3150b67..6377196230 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
@@ -116,7 +116,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
// An identifier for a document transition shared element. `id.valid()`
// returns true if this has been set, and false otherwise.
- DocumentTransitionSharedElementId document_transition_shared_element_id;
+ cc::DocumentTransitionSharedElementId document_transition_shared_element_id;
// An identifier to tag shared element resources generated and cached in the
// Viz process. This generated resource can be used as content for other
@@ -285,7 +285,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
return state_.compositor_element_id;
}
- const blink::DocumentTransitionSharedElementId&
+ const cc::DocumentTransitionSharedElementId&
DocumentTransitionSharedElementId() const {
return state_.document_transition_shared_element_id;
}
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h b/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
index c7e4f2b378..f30ce91b36 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
@@ -34,6 +34,7 @@
#include <sys/types.h>
#include <string>
+#include <cstdint>
#include "client/linux/handler/microdump_extra_info.h"
#include "common/using_std_string.h"
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
index 2d58d76cb6..139af564ea 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
@@ -18,6 +18,7 @@
#include "dawn/common/TypedInteger.h"
#include "dawn/common/ityp_array.h"
+#include <cstdint>
#include <bitset>
#include <iostream>
#include <limits>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
index 374bd8302a..0884eb2a19 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
@@ -15,6 +15,7 @@
#ifndef SRC_TINT_READER_SPIRV_ENTRY_POINT_INFO_H_
#define SRC_TINT_READER_SPIRV_ENTRY_POINT_INFO_H_
+#include <cstdint>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
index fa5fc3a7e9..6cec934670 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
@@ -15,6 +15,7 @@
#ifndef SRC_TINT_READER_SPIRV_NAMER_H_
#define SRC_TINT_READER_SPIRV_NAMER_H_
+#include <cstdint>
#include <string>
#include <unordered_map>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
index f378d57817..98d1336f9a 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
@@ -15,6 +15,7 @@
#ifndef SRC_TINT_READER_WGSL_LEXER_H_
#define SRC_TINT_READER_WGSL_LEXER_H_
+#include <cstdint>
#include <string>
#include "src/tint/reader/wgsl/token.h"
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
index 7b5b6754ed..62b1ca7e36 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
@@ -15,6 +15,7 @@
#ifndef SRC_TINT_READER_WGSL_TOKEN_H_
#define SRC_TINT_READER_WGSL_TOKEN_H_
+#include <cstdint>
#include <string>
#include <string_view>
#include <variant> // NOLINT: cpplint doesn't recognise this
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
index 4be648b37a..cac7238ef2 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
@@ -14,6 +14,7 @@
#include "src/tint/writer/spirv/instruction.h"
+#include <cstdint>
#include <utility>
namespace tint::writer::spirv {
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
index 46a5deb55b..4c3080ff25 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
@@ -15,6 +15,7 @@
#ifndef SRC_TINT_WRITER_SPIRV_OPERAND_H_
#define SRC_TINT_WRITER_SPIRV_OPERAND_H_
+#include <cstdint>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc b/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
index a3099e15db..2e6f0eea70 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
+++ b/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
@@ -30,6 +30,7 @@
#include <cstddef>
#include <cstdint>
#include <cstring>
+#include <cstdio>
#include <new>
#include <utility>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h b/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
index d2731dac7a..46bc87ef92 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
@@ -5,6 +5,8 @@
#ifndef CONSTANTS_ANNOTATION_FLAGS_H_
#define CONSTANTS_ANNOTATION_FLAGS_H_
+#include <cstdint>
+
namespace pdfium {
namespace annotation_flags {
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
index 1b4c53815b..472042fabc 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
@@ -18,6 +18,7 @@
#define INCLUDE_PERFETTO_EXT_BASE_UUID_H_
#include <array>
+#include <cstdint>
#include <string>
#include "perfetto/ext/base/optional.h"
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
index c56f0344f9..cd7824929e 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
@@ -20,6 +20,8 @@
#include "perfetto/ext/base/optional.h"
#include "perfetto/trace_processor/status.h"
+#include <cstdint>
+
namespace perfetto {
namespace protos {
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp b/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
index 3164650728..512a26943d 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
+++ b/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
@@ -10,6 +10,10 @@
#include <algorithm> // std::lower_bound
+#include <string.h>
+#include <algorithm>
+#include <iterator>
+
static constexpr const char* gColorNames[] = {
"aliceblue",
"antiquewhite",
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h b/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
index b7c586b80e..19ccbb024a 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
@@ -146,6 +146,7 @@ available through VmaAllocatorCreateInfo::pRecordSettings.
#endif // #if VMA_VULKAN_VERSION >= 1001000
#endif // #if defined(__ANDROID__) && VMA_STATIC_VULKAN_FUNCTIONS && VK_NO_PROTOTYPES
+#include <cstdio>
#ifndef VULKAN_H_
#include <vulkan/vulkan.h>
#endif
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
index 5fd37b4613..ce70405dd2 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
@@ -11,6 +11,7 @@
#ifndef CALL_RTP_DEMUXER_H_
#define CALL_RTP_DEMUXER_H_
+#include <cstdint>
#include <map>
#include <string>
#include <utility>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
index b70ac4aa59..7ba5555647 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
@@ -13,6 +13,7 @@
#include <gio/gio.h>
+#include <cstdint>
#include <string>
namespace webrtc {
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
index ca249541d0..534214dbfa 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
@@ -12,6 +12,7 @@
#ifndef RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
#define RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
+#include <cstdint>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h b/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
index 708d6c98ac..898016d886 100644
--- a/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
+++ b/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
@@ -8,6 +8,7 @@
#include <string>
#include <vector>
+#include <cstdint>
#include "base/component_export.h"
#include "ui/base/ime/text_input_type.h"
diff --git a/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h b/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
index d97a696fd5..68b18d80cd 100644
--- a/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
+++ b/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
@@ -5,6 +5,7 @@
#ifndef UI_EVENTS_GESTURE_EVENT_DETAILS_H_
#define UI_EVENTS_GESTURE_EVENT_DETAILS_H_
+#include <cstdint>
#include <string.h>
#include "base/check_op.h"
diff --git a/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h b/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h
index 7ff15f0fc5..136cebc09e 100644
--- a/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h
+++ b/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h
@@ -5,6 +5,8 @@
#ifndef UI_EVENTS_TYPES_SCROLL_TYPES_H_
#define UI_EVENTS_TYPES_SCROLL_TYPES_H_
+#include <cstdint>
+
namespace ui {
enum class ScrollGranularity : uint8_t {
diff --git a/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h b/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
index 1ad025fec1..adadf96190 100644
--- a/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
+++ b/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
@@ -5,6 +5,7 @@
#ifndef UI_GFX_LINEAR_GRADIENT_H_
#define UI_GFX_LINEAR_GRADIENT_H_
+#include <cstdint>
#include <array>
#include <string>
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h b/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
index fdac44e31e..a752dba6a2 100644
--- a/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
@@ -5,6 +5,7 @@
#ifndef V8_BASE_LOGGING_H_
#define V8_BASE_LOGGING_H_
+#include <cstdint>
#include <cstring>
#include <sstream>
#include <string>
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h b/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
index 61644ffe05..6fbc037437 100644
--- a/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
@@ -5,6 +5,7 @@
#ifndef V8_BASE_MACROS_H_
#define V8_BASE_MACROS_H_
+#include <cstdint>
#include <limits>
#include <type_traits>
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h b/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
index c1d69c18f0..eb33c6816a 100644
--- a/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
@@ -5,6 +5,7 @@
#ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
#define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
+#include <cstdint>
#include <string>
// Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may
diff --git a/qtwebengine/src/core/browsing_data_remover_delegate_qt.h b/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
index 4e690ffb19..dfa884cd65 100644
--- a/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
+++ b/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
@@ -6,6 +6,8 @@
#include "content/public/browser/browsing_data_remover_delegate.h"
+#include <cstdint>
+
namespace QtWebEngineCore {
class BrowsingDataRemoverDelegateQt : public content::BrowsingDataRemoverDelegate {

View File

@ -1,52 +0,0 @@
From f4410fcbb093f259eaff4a20fc4266a535479235 Mon Sep 17 00:00:00 2001
From: Sebastien Blin <sebastien.blin@savoirfairelinux.com>
Date: Mon, 29 May 2023 13:09:53 -0400
Subject: [PATCH] OpenFile portal: do not use O_PATH fds
Using O_PATH requires correctly specifying whether the fd is writable or
not. Stating that the fd is writable without it actually being writable
results into rejection on xdg-desktop-portal side. Other implementations
like xdg-open or gtk have also moved away from O_PATH fds so this will
make a matching implementation and avoid possible rejections from xdp.
Fixes: QTBUG-113143
Original: https://codereview.qt-project.org/c/qt/qtbase/+/475425
---
qtbase/src/gui/platform/unix/qgenericunixservices.cpp | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/qtbase/src/gui/platform/unix/qgenericunixservices.cpp b/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
index a0e5466c58..fe0fdaa625 100644
--- a/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
+++ b/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
@@ -163,8 +163,7 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
// handle_token (s) - A string that will be used as the last element of the @handle.
// writable (b) - Whether to allow the chosen application to write to the file.
-#ifdef O_PATH
- const int fd = qt_safe_open(QFile::encodeName(url.toLocalFile()), O_PATH);
+ const int fd = qt_safe_open(QFile::encodeName(url.toLocalFile()), O_RDONLY);
if (fd != -1) {
QDBusMessage message = QDBusMessage::createMethodCall("org.freedesktop.portal.Desktop"_L1,
"/org/freedesktop/portal/desktop"_L1,
@@ -174,16 +173,13 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
QDBusUnixFileDescriptor descriptor;
descriptor.giveFileDescriptor(fd);
- const QVariantMap options = {{"writable"_L1, true}};
+ const QVariantMap options = {};
// FIXME parent_window_id
message << QString() << QVariant::fromValue(descriptor) << options;
return QDBusConnection::sessionBus().call(message);
}
-#else
- Q_UNUSED(url);
-#endif
return QDBusMessage::createError(QDBusError::InternalError, qt_error_string());
}
--
2.40.1

View File

@ -1,2 +0,0 @@
0001-fix-gcc13.patch
0002-OpenFile-portal-do-not-use-O_PATH-fds.patch

View File

@ -68,7 +68,7 @@ Depends: gnupg,
Replaces: jami,
jami-libclient,
jami-daemon,
libqt-jami (>= 6.4.3),
libqt-jami (>= 6.6.1),
Conflicts: jami,
jami-libclient,
jami-libclient-gnome,
@ -84,7 +84,7 @@ Architecture: any
Depends: ${shlibs:Depends},
${misc:Depends},
jami-daemon (=${binary:Version}),
libqt-jami (>= 6.4.3)
libqt-jami (>= 6.6.1)
Provides: jami-qt
Replaces: jami-all,
jami-libclient (<= 20220516.0214.9b42ad3~dfsg1-1)

View File

@ -3,7 +3,7 @@ Upstream-Name: jami
Upstream-Contact: Amin Bandali <bandali@gnu.org>
Source: https://dl.jami.net/release/tarballs/
Files: *
Copyright: 2004-2023 Savoir-faire Linux Inc.
Copyright: 2004-2024 Savoir-faire Linux Inc.
License: GPL-3+
Comment: Upstream embeds everything that is needed to build Jami inside the release tarball.
Everything that is already in Debian has been removed.
@ -50,7 +50,7 @@ Files: daemon/src/media/audio/opensl/audio_common.h
daemon/src/media/audio/opensl/audio_recorder.h
daemon/src/media/audio/opensl/buf_manager.h
Copyright: 2015 The Android Open Source Project
2015-2023 Savoir-faire Linux Inc.
2015-2024 Savoir-faire Linux Inc.
License: Apache-2.0
Files: daemon/extras/tools/bootstrap

View File

@ -101,6 +101,8 @@ if [ -f /etc/os-release ]; then
ENDTAG="ubuntu_22.04"
elif [ "${UBUNTU_CODENAME}" = "lunar" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_23.04" ]; then
ENDTAG="ubuntu_23.04"
elif [ "${UBUNTU_CODENAME}" = "mantic" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_23.10" ]; then
ENDTAG="ubuntu_23.10"
elif [ "${ID}" = "debian" ] && \
[ "$(command -v lsb_release)" ] && \
[ "$(lsb_release -rs)" = "testing" ]; then

View File

@ -26,8 +26,6 @@ License: GPLv3+
Vendor: Savoir-faire Linux Inc.
URL: https://jami.net/
Source: jami-libqt-%{version}.tar.xz
Patch0: 0001-fix-gcc13.patch
Patch1: 0002-OpenFile-portal-do-not-use-O_PATH-fds.patch
%global gst 0.10
%if 0%{?fedora} || 0%{?rhel} > 7
@ -48,6 +46,7 @@ BuildRequires: ffmpeg
BuildRequires: python-xml
BuildRequires: mozilla-nss-devel
%else
BuildRequires: python-six
BuildRequires: pkgconfig(gstreamer-%{gst})
BuildRequires: pkgconfig(gstreamer-app-%{gst})
BuildRequires: pkgconfig(gstreamer-audio-%{gst})
@ -62,8 +61,6 @@ This package contains Qt libraries for Jami.
%prep
%setup -n qt-everywhere-src-%{version}
%patch0 -p1
%patch1 -p1
%build
echo "Building Qt using %{job_count} parallel jobs"
@ -84,6 +81,15 @@ cat qtbase/src/corelib/global/qendian.h
sed -i 's,#include <string.h>,#include <string.h>\n#include <limits>,g' qtbase/src/corelib/global/qfloat16.h
sed -i 's,#include <QtCore/qbytearray.h>,#include <QtCore/qbytearray.h>\n#include <limits>,g' qtbase/src/corelib/text/qbytearraymatcher.h
cat qtwebengine/configure.cmake
#https://bugreports.qt.io/browse/QTBUG-117979
if test -f "/usr/bin/python3.10"; then
/usr/bin/python3.10 -m venv env
source env/bin/activate
python -m pip install html5lib
python -m pip install six
fi
# recent gcc version do not like lto from qt
CXXFLAGS="${CXXFLAGS} -fno-lto" CFLAGS="${CFLAGS} -fno-lto" LDFLAGS="$(CFLAGS) ${LDFLAGS}" ./configure \
-opensource \

View File

@ -1,740 +0,0 @@
qtwebengine/src/3rdparty/chromium/base/debug/profiler.h | 1 +
qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h | 1 +
qtwebengine/src/3rdparty/chromium/base/logging.h | 2 ++
qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc | 2 ++
qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h | 1 +
qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h | 1 +
qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc | 1 +
qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h | 1 +
qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h | 1 +
qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h | 1 +
qtwebengine/src/3rdparty/chromium/extensions/common/constants.h | 2 ++
qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h | 1 +
qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h | 2 ++
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h | 1 +
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h | 1 +
qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h | 2 ++
qtwebengine/src/3rdparty/chromium/net/base/parse_number.h | 1 +
qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h | 1 +
qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h | 1 +
qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h | 1 +
qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h | 1 +
qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h | 6 ++++--
qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h | 2 +-
qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h | 2 ++
qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h | 4 ++--
qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc | 1 +
qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc | 1 +
qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h | 2 ++
qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h | 2 ++
qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp | 4 ++++
qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h | 1 +
qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h | 1 +
qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h | 1 +
qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h | 1 +
qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h | 2 ++
qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h | 1 +
qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h | 1 +
qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h | 1 +
qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h | 1 +
qtwebengine/src/core/browsing_data_remover_delegate_qt.h | 2 ++
54 files changed, 71 insertions(+), 5 deletions(-)
diff --git a/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h b/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h
index 1229e06234..c7ed55e70f 100644
--- a/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h
+++ b/qtwebengine/src/3rdparty/chromium/base/debug/profiler.h
@@ -5,6 +5,7 @@
#ifndef BASE_DEBUG_PROFILER_H_
#define BASE_DEBUG_PROFILER_H_
+#include <cstdint>
#include <stddef.h>
#include <string>
diff --git a/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h b/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
index 60c3c5c474..6c8021cfde 100644
--- a/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
+++ b/qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.h
@@ -7,6 +7,7 @@
#include <stddef.h>
+#include <cstdint>
#include <iosfwd>
#include <string>
diff --git a/qtwebengine/src/3rdparty/chromium/base/logging.h b/qtwebengine/src/3rdparty/chromium/base/logging.h
index a3ff92f0fd..c272f796a9 100644
--- a/qtwebengine/src/3rdparty/chromium/base/logging.h
+++ b/qtwebengine/src/3rdparty/chromium/base/logging.h
@@ -7,6 +7,8 @@
#include <stddef.h>
+
+#include <cstdint>
#include <cassert>
#include <cstdint>
#include <sstream>
diff --git a/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc b/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc
index 96f8c3bd7c..c3f087b1a9 100644
--- a/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc
+++ b/qtwebengine/src/3rdparty/chromium/cc/trees/target_property.cc
@@ -6,6 +6,8 @@
#include "ui/gfx/animation/keyframe/target_property.h"
+#include <cstdint>
+
namespace cc {
static_assert(TargetProperty::LAST_TARGET_PROPERTY <
diff --git a/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h b/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
index 2aba73ebcb..2e028fddcf 100644
--- a/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
+++ b/qtwebengine/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
@@ -5,6 +5,7 @@
#ifndef COMPONENTS_VIZ_COMMON_SHARED_ELEMENT_RESOURCE_ID_H_
#define COMPONENTS_VIZ_COMMON_SHARED_ELEMENT_RESOURCE_ID_H_
+#include <cstdint>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h b/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
index 3069c858d3..f4614b73c6 100644
--- a/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
+++ b/qtwebengine/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
@@ -5,6 +5,7 @@
#ifndef CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_
#define CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_
+#include <cstdint>
#include <string>
#include <vector>
#include "base/callback_forward.h"
diff --git a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
index 80fd26f4f4..3f08972a7a 100644
--- a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
+++ b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
@@ -3,6 +3,7 @@
// found in the LICENSE file.
#include "device/base/synchronization/one_writer_seqlock.h"
+#include <cstdint>
#include "base/threading/platform_thread.h"
diff --git a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
index 6a3eeda565..525301379c 100644
--- a/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
+++ b/qtwebengine/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
@@ -6,6 +6,7 @@
#define DEVICE_BASE_SYNCHRONIZATION_ONE_WRITER_SEQLOCK_H_
#include <atomic>
+#include <cstdint>
#include "base/atomicops.h"
#include "base/check.h"
diff --git a/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h b/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
index 3cf2914e10..4b0552440c 100644
--- a/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
+++ b/qtwebengine/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
@@ -5,6 +5,7 @@
#ifndef DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_
#define DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_
+#include <cstdint>
#include <ostream>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h b/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
index c24205c402..ee67ecf189 100644
--- a/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
+++ b/qtwebengine/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
@@ -5,6 +5,7 @@
#ifndef EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_
#define EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_
+#include <cstdint>
#include <map>
#include <string>
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h b/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
index 9ac68e2be9..ef2761020d 100644
--- a/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
+++ b/qtwebengine/src/3rdparty/chromium/extensions/common/constants.h
@@ -10,6 +10,8 @@
#include "build/chromeos_buildflags.h"
#include "extensions/common/extensions_export.h"
+#include <cstdint>
+
namespace extensions {
// Scheme we serve extension content from.
diff --git a/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h b/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
index 4ba8de8460..6352b90196 100644
--- a/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
+++ b/qtwebengine/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
@@ -5,6 +5,7 @@
#ifndef EXTENSIONS_RENDERER_BINDINGS_API_INVOCATION_ERRORS_H_
#define EXTENSIONS_RENDERER_BINDINGS_API_INVOCATION_ERRORS_H_
+#include <cstdint>
#include <set>
#include <string>
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
index a9c7adb5b5..943bd4e470 100644
--- a/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
+++ b/qtwebengine/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
@@ -7,6 +7,8 @@
#include <stdint.h>
+#include <cstdint>
+
namespace gpu {
namespace webgpu {
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
index 027f1a5af3..70759b2ae4 100644
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
@@ -5,6 +5,7 @@
#ifndef GPU_CONFIG_GPU_FEATURE_INFO_H_
#define GPU_CONFIG_GPU_FEATURE_INFO_H_
+#include <cstdint>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
index 3ea2191b50..0a1ae11202 100644
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_preferences.h
@@ -5,6 +5,7 @@
#ifndef GPU_CONFIG_GPU_PREFERENCES_H_
#define GPU_CONFIG_GPU_PREFERENCES_H_
+#include <cstdint>
#include <stddef.h>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
index f72970c67a..d7f0b7d492 100644
--- a/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
+++ b/qtwebengine/src/3rdparty/chromium/gpu/config/gpu_util.h
@@ -5,6 +5,8 @@
#ifndef GPU_CONFIG_GPU_UTIL_H_
#define GPU_CONFIG_GPU_UTIL_H_
+#include <cstdint>
+
#include "build/build_config.h"
#include "gpu/config/gpu_feature_info.h"
#include "gpu/gpu_export.h"
diff --git a/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h b/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
index 4e49ab7112..e99d2dd7aa 100644
--- a/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
+++ b/qtwebengine/src/3rdparty/chromium/net/base/parse_number.h
@@ -7,6 +7,7 @@
#include "base/strings/string_piece.h"
#include "net/base/net_export.h"
+#include <cstdint>
// This file contains utility functions for parsing numbers, in the context of
// network protocols.
diff --git a/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h b/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
index 2e9c319a3d..4d723d18f2 100644
--- a/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
+++ b/qtwebengine/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
@@ -6,6 +6,7 @@
#define NET_COOKIES_COOKIE_INCLUSION_STATUS_H_
#include <bitset>
+#include <cstdint>
#include <ostream>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
index 6a300ed0c0..3e30f1cb02 100644
--- a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
+++ b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
@@ -5,6 +5,7 @@
#ifndef QUICHE_QUIC_CORE_CRYPTO_QUIC_HKDF_H_
#define QUICHE_QUIC_CORE_CRYPTO_QUIC_HKDF_H_
+#include <cstdint>
#include <vector>
#include "absl/strings/string_view.h"
diff --git a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
index 52f1501728..db4d310849 100644
--- a/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
+++ b/qtwebengine/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
@@ -5,6 +5,7 @@
#ifndef QUICHE_QUIC_CORE_QUIC_CONNECTION_ID_H_
#define QUICHE_QUIC_CORE_QUIC_CONNECTION_ID_H_
+#include <cstdint>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h b/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
index 138ca2efec..08f06e7b8c 100644
--- a/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
+++ b/qtwebengine/src/3rdparty/chromium/pdf/document_attachment_info.h
@@ -5,6 +5,7 @@
#ifndef PDF_DOCUMENT_ATTACHMENT_INFO_H_
#define PDF_DOCUMENT_ATTACHMENT_INFO_H_
+#include <cstdint>
#include <string>
diff --git a/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h b/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
index b4fdb9a6d3..375d3ef327 100644
--- a/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
+++ b/qtwebengine/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
@@ -38,6 +38,10 @@ namespace pp {
/// As a further optimization, we can add support for this later.
class ThreadSafeThreadTraits {
public:
+
+ typedef pp::Lock Lock;
+ typedef pp::AutoLock AutoLock;
+
class RefCount {
public:
/// Default constructor. In debug mode, this checks that the object is being
@@ -67,8 +71,6 @@ class ThreadSafeThreadTraits {
int32_t ref_;
};
- typedef pp::Lock Lock;
- typedef pp::AutoLock AutoLock;
};
/// The non-thread-safe version of thread traits. Using this class as the
diff --git a/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h b/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
index 0aad3ac782..7f7a1057d7 100644
--- a/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
+++ b/qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
@@ -5,6 +5,7 @@
#ifndef SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
#define SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
+#include <cstdint>
#include <bitset>
#include <string>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h b/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
index c47536d63e..443f47afd0 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
@@ -18,6 +18,7 @@
#include <limits.h>
+#include <cstdint>
#include <cstddef>
#include <cstring>
#include <ostream>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
index e13aa2221d..0ce848486d 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h
@@ -7,7 +7,7 @@
#define GLSLANG_SHADERLANG_H_
#include <stddef.h>
-
+#include <cstdint>
#include "KHR/khrplatform.h"
#include <array>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
index 18175e15c7..28332857bc 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
@@ -14,6 +14,7 @@
#include <array>
#include <string>
#include <vector>
+#include <cstdint>
// This type is defined here to simplify ANGLE's integration with glslang for SPIR-V.
using ShCompileOptions = uint64_t;
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
index c63049b174..82b27837b5 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
@@ -6,6 +6,7 @@
#define THIRD_PARTY_BLINK_PUBLIC_COMMON_ORIGIN_TRIALS_ORIGIN_TRIAL_PUBLIC_KEY_H_
#include <array>
+#include <cstdint>
namespace blink {
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h
index 14c5548766..43c9a8d6a5 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_types.h
@@ -5,6 +5,8 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_DARK_MODE_TYPES_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_DARK_MODE_TYPES_H_
+#include <cstdint>
+
namespace blink {
enum class DarkModeResult : uint8_t {
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
index 80b3150b67..6377196230 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
@@ -116,7 +116,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
// An identifier for a document transition shared element. `id.valid()`
// returns true if this has been set, and false otherwise.
- DocumentTransitionSharedElementId document_transition_shared_element_id;
+ cc::DocumentTransitionSharedElementId document_transition_shared_element_id;
// An identifier to tag shared element resources generated and cached in the
// Viz process. This generated resource can be used as content for other
@@ -285,7 +285,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
return state_.compositor_element_id;
}
- const blink::DocumentTransitionSharedElementId&
+ const cc::DocumentTransitionSharedElementId&
DocumentTransitionSharedElementId() const {
return state_.document_transition_shared_element_id;
}
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h b/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
index c7e4f2b378..f30ce91b36 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
@@ -34,6 +34,7 @@
#include <sys/types.h>
#include <string>
+#include <cstdint>
#include "client/linux/handler/microdump_extra_info.h"
#include "common/using_std_string.h"
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
index 2d58d76cb6..139af564ea 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/dawn/native/CacheKey.h
@@ -18,6 +18,7 @@
#include "dawn/common/TypedInteger.h"
#include "dawn/common/ityp_array.h"
+#include <cstdint>
#include <bitset>
#include <iostream>
#include <limits>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
index 374bd8302a..0884eb2a19 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/entry_point_info.h
@@ -15,6 +15,7 @@
#ifndef SRC_TINT_READER_SPIRV_ENTRY_POINT_INFO_H_
#define SRC_TINT_READER_SPIRV_ENTRY_POINT_INFO_H_
+#include <cstdint>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
index fa5fc3a7e9..6cec934670 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/spirv/namer.h
@@ -15,6 +15,7 @@
#ifndef SRC_TINT_READER_SPIRV_NAMER_H_
#define SRC_TINT_READER_SPIRV_NAMER_H_
+#include <cstdint>
#include <string>
#include <unordered_map>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
index f378d57817..98d1336f9a 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/lexer.h
@@ -15,6 +15,7 @@
#ifndef SRC_TINT_READER_WGSL_LEXER_H_
#define SRC_TINT_READER_WGSL_LEXER_H_
+#include <cstdint>
#include <string>
#include "src/tint/reader/wgsl/token.h"
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
index 7b5b6754ed..62b1ca7e36 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/reader/wgsl/token.h
@@ -15,6 +15,7 @@
#ifndef SRC_TINT_READER_WGSL_TOKEN_H_
#define SRC_TINT_READER_WGSL_TOKEN_H_
+#include <cstdint>
#include <string>
#include <string_view>
#include <variant> // NOLINT: cpplint doesn't recognise this
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
index 4be648b37a..cac7238ef2 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/instruction.cc
@@ -14,6 +14,7 @@
#include "src/tint/writer/spirv/instruction.h"
+#include <cstdint>
#include <utility>
namespace tint::writer::spirv {
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
index 46a5deb55b..4c3080ff25 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/src/tint/writer/spirv/operand.h
@@ -15,6 +15,7 @@
#ifndef SRC_TINT_WRITER_SPIRV_OPERAND_H_
#define SRC_TINT_WRITER_SPIRV_OPERAND_H_
+#include <cstdint>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc b/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
index a3099e15db..2e6f0eea70 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
+++ b/qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
@@ -30,6 +30,7 @@
#include <cstddef>
#include <cstdint>
#include <cstring>
+#include <cstdio>
#include <new>
#include <utility>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h b/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
index d2731dac7a..46bc87ef92 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
@@ -5,6 +5,8 @@
#ifndef CONSTANTS_ANNOTATION_FLAGS_H_
#define CONSTANTS_ANNOTATION_FLAGS_H_
+#include <cstdint>
+
namespace pdfium {
namespace annotation_flags {
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
index 1b4c53815b..472042fabc 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
@@ -18,6 +18,7 @@
#define INCLUDE_PERFETTO_EXT_BASE_UUID_H_
#include <array>
+#include <cstdint>
#include <string>
#include "perfetto/ext/base/optional.h"
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
index c56f0344f9..cd7824929e 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
@@ -20,6 +20,8 @@
#include "perfetto/ext/base/optional.h"
#include "perfetto/trace_processor/status.h"
+#include <cstdint>
+
namespace perfetto {
namespace protos {
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp b/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
index 3164650728..512a26943d 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
+++ b/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
@@ -10,6 +10,10 @@
#include <algorithm> // std::lower_bound
+#include <string.h>
+#include <algorithm>
+#include <iterator>
+
static constexpr const char* gColorNames[] = {
"aliceblue",
"antiquewhite",
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h b/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
index b7c586b80e..19ccbb024a 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
@@ -146,6 +146,7 @@ available through VmaAllocatorCreateInfo::pRecordSettings.
#endif // #if VMA_VULKAN_VERSION >= 1001000
#endif // #if defined(__ANDROID__) && VMA_STATIC_VULKAN_FUNCTIONS && VK_NO_PROTOTYPES
+#include <cstdio>
#ifndef VULKAN_H_
#include <vulkan/vulkan.h>
#endif
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
index 5fd37b4613..ce70405dd2 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
@@ -11,6 +11,7 @@
#ifndef CALL_RTP_DEMUXER_H_
#define CALL_RTP_DEMUXER_H_
+#include <cstdint>
#include <map>
#include <string>
#include <utility>
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
index b70ac4aa59..7ba5555647 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/xdg_session_details.h
@@ -13,6 +13,7 @@
#include <gio/gio.h>
+#include <cstdint>
#include <string>
namespace webrtc {
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
index ca249541d0..534214dbfa 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
@@ -12,6 +12,7 @@
#ifndef RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
#define RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
+#include <cstdint>
#include <string>
#include <vector>
diff --git a/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h b/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
index 708d6c98ac..898016d886 100644
--- a/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
+++ b/qtwebengine/src/3rdparty/chromium/ui/base/ime/linux/linux_input_method_context.h
@@ -8,6 +8,7 @@
#include <string>
#include <vector>
+#include <cstdint>
#include "base/component_export.h"
#include "ui/base/ime/text_input_type.h"
diff --git a/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h b/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
index d97a696fd5..68b18d80cd 100644
--- a/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
+++ b/qtwebengine/src/3rdparty/chromium/ui/events/gesture_event_details.h
@@ -5,6 +5,7 @@
#ifndef UI_EVENTS_GESTURE_EVENT_DETAILS_H_
#define UI_EVENTS_GESTURE_EVENT_DETAILS_H_
+#include <cstdint>
#include <string.h>
#include "base/check_op.h"
diff --git a/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h b/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h
index 7ff15f0fc5..136cebc09e 100644
--- a/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h
+++ b/qtwebengine/src/3rdparty/chromium/ui/events/types/scroll_types.h
@@ -5,6 +5,8 @@
#ifndef UI_EVENTS_TYPES_SCROLL_TYPES_H_
#define UI_EVENTS_TYPES_SCROLL_TYPES_H_
+#include <cstdint>
+
namespace ui {
enum class ScrollGranularity : uint8_t {
diff --git a/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h b/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
index 1ad025fec1..adadf96190 100644
--- a/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
+++ b/qtwebengine/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
@@ -5,6 +5,7 @@
#ifndef UI_GFX_LINEAR_GRADIENT_H_
#define UI_GFX_LINEAR_GRADIENT_H_
+#include <cstdint>
#include <array>
#include <string>
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h b/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
index fdac44e31e..a752dba6a2 100644
--- a/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/base/logging.h
@@ -5,6 +5,7 @@
#ifndef V8_BASE_LOGGING_H_
#define V8_BASE_LOGGING_H_
+#include <cstdint>
#include <cstring>
#include <sstream>
#include <string>
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h b/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
index 61644ffe05..6fbc037437 100644
--- a/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/base/macros.h
@@ -5,6 +5,7 @@
#ifndef V8_BASE_MACROS_H_
#define V8_BASE_MACROS_H_
+#include <cstdint>
#include <limits>
#include <type_traits>
diff --git a/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h b/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
index c1d69c18f0..eb33c6816a 100644
--- a/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
+++ b/qtwebengine/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
@@ -5,6 +5,7 @@
#ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
#define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
+#include <cstdint>
#include <string>
// Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may
diff --git a/qtwebengine/src/core/browsing_data_remover_delegate_qt.h b/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
index 4e690ffb19..dfa884cd65 100644
--- a/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
+++ b/qtwebengine/src/core/browsing_data_remover_delegate_qt.h
@@ -6,6 +6,8 @@
#include "content/public/browser/browsing_data_remover_delegate.h"
+#include <cstdint>
+
namespace QtWebEngineCore {
class BrowsingDataRemoverDelegateQt : public content::BrowsingDataRemoverDelegate {

View File

@ -1,52 +0,0 @@
From f4410fcbb093f259eaff4a20fc4266a535479235 Mon Sep 17 00:00:00 2001
From: Sebastien Blin <sebastien.blin@savoirfairelinux.com>
Date: Mon, 29 May 2023 13:09:53 -0400
Subject: [PATCH] OpenFile portal: do not use O_PATH fds
Using O_PATH requires correctly specifying whether the fd is writable or
not. Stating that the fd is writable without it actually being writable
results into rejection on xdg-desktop-portal side. Other implementations
like xdg-open or gtk have also moved away from O_PATH fds so this will
make a matching implementation and avoid possible rejections from xdp.
Fixes: QTBUG-113143
Original: https://codereview.qt-project.org/c/qt/qtbase/+/475425
---
qtbase/src/gui/platform/unix/qgenericunixservices.cpp | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/qtbase/src/gui/platform/unix/qgenericunixservices.cpp b/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
index a0e5466c58..fe0fdaa625 100644
--- a/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
+++ b/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
@@ -163,8 +163,7 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
// handle_token (s) - A string that will be used as the last element of the @handle.
// writable (b) - Whether to allow the chosen application to write to the file.
-#ifdef O_PATH
- const int fd = qt_safe_open(QFile::encodeName(url.toLocalFile()), O_PATH);
+ const int fd = qt_safe_open(QFile::encodeName(url.toLocalFile()), O_RDONLY);
if (fd != -1) {
QDBusMessage message = QDBusMessage::createMethodCall("org.freedesktop.portal.Desktop"_L1,
"/org/freedesktop/portal/desktop"_L1,
@@ -174,16 +173,13 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
QDBusUnixFileDescriptor descriptor;
descriptor.giveFileDescriptor(fd);
- const QVariantMap options = {{"writable"_L1, true}};
+ const QVariantMap options = {};
// FIXME parent_window_id
message << QString() << QVariant::fromValue(descriptor) << options;
return QDBusConnection::sessionBus().call(message);
}
-#else
- Q_UNUSED(url);
-#endif
return QDBusMessage::createError(QDBusError::InternalError, qt_error_string());
}
--
2.40.1

View File

@ -1,4 +1,4 @@
# Copyright (C) 2019-2023 Savoir-faire Linux Inc.
# Copyright (C) 2019-2024 Savoir-faire Linux Inc.
#
# Author: Sébastien Blin <sebastien.blin@savoirfairelinux.com>
# Author: Amin Bandali <amin.bandali@savoirfairelinux.com>

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
#
# Copyright (C) 2016-2023 Savoir-faire Linux Inc.
# Copyright (C) 2016-2024 Savoir-faire Linux Inc.
#
# Author: Alexandre Viau <alexandre.viau@savoirfairelinux.com>
# Author: Amin Bandali <amin.bandali@savoirfairelinux.com>

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
#
# Copyright (C) 2016-2023 Savoir-faire Linux Inc.
# Copyright (C) 2016-2024 Savoir-faire Linux Inc.
#
# Author: Alexandre Viau <alexandre.viau@savoirfairelinux.com>
# Author: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
@ -36,17 +36,15 @@ rpmdev-setuptree
# Copy the source tarball.
cp --reflink=auto "/src/$RELEASE_TARBALL_FILENAME" /root/rpmbuild/SOURCES
cp patches/*.patch /root/rpmbuild/SOURCES/
QT_JAMI_PREFIX="/usr/lib64/qt-jami"
PATH="${QT_JAMI_PREFIX}/bin:${PATH}"
LD_LIBRARY_PATH="${QT_JAMI_PREFIX}/lib:${LD_LIBRARY_PATH}"
PKG_CONFIG_PATH="${QT_JAMI_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}"
CMAKE_PREFIX_PATH="${QT_JAMI_PREFIX}/lib/cmake:${CMAKE_PREFIX_PATH}"
QT_MAJOR=6
QT_MINOR=4
QT_PATCH=3
QT_RELEASE_PATCH=2
QT_MINOR=6
QT_PATCH=1
QT_RELEASE_PATCH=0
QT_MAJOR_MINOR=${QT_MAJOR}.${QT_MINOR}
QT_MAJOR_MINOR_PATCH=${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}
@ -54,7 +52,7 @@ QT_MAJOR_MINOR_PATCH=${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}
QT_TARBALL_URL=https://download.qt.io/archive/qt/$QT_MAJOR_MINOR/\
$QT_MAJOR_MINOR_PATCH/single/qt-everywhere-src-$QT_MAJOR_MINOR_PATCH.tar.xz
QT_TARBALL_SHA256="29a7eebdbba0ea57978dea6083709c93593a60f0f3133a3de08b9571ee8eaab4"
QT_TARBALL_SHA256="dd3668f65645fe270bc615d748bd4dc048bd17b9dc297025106e6ecc419ab95d"
QT_TARBALL_FILE_NAME=$(basename "$QT_TARBALL_URL")
CACHED_QT_TARBALL=$TARBALLS/$QT_TARBALL_FILE_NAME
@ -105,18 +103,16 @@ if [ ! -f "${RPM_PATH}" ]; then
# Cache the built Qt RPM package.
if [[ "${DISTRIBUTION:0:4}" == "rhel" ]]; then
cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.el8.x86_64.rpm "${RPM_PATH}"
elif [[ "${DISTRIBUTION}" == "fedora_33" ]]; then
cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc33.x86_64.rpm "${RPM_PATH}"
elif [[ "${DISTRIBUTION}" == "fedora_34" ]]; then
cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc34.x86_64.rpm "${RPM_PATH}"
elif [[ "${DISTRIBUTION}" == "fedora_35" ]]; then
cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc35.x86_64.rpm "${RPM_PATH}"
elif [[ "${DISTRIBUTION}" == "fedora_36" ]]; then
cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc36.x86_64.rpm "${RPM_PATH}"
elif [[ "${DISTRIBUTION}" == "fedora_37" ]]; then
cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc37.x86_64.rpm "${RPM_PATH}"
elif [[ "${DISTRIBUTION}" == "fedora_38" ]]; then
cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc38.x86_64.rpm "${RPM_PATH}"
elif [[ "${DISTRIBUTION}" == "fedora_39" ]]; then
cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc39.x86_64.rpm "${RPM_PATH}"
elif [[ "${DISTRIBUTION}" == "alma_9" ]]; then
cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.el9.x86_64.rpm "${RPM_PATH}"
else
cp /root/rpmbuild/RPMS/x86_64/jami-libqt-*.rpm "${RPM_PATH}"
fi

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
#
# Copyright (C) 2020-2023 Savoir-faire Linux Inc.
# Copyright (C) 2020-2024 Savoir-faire Linux Inc.
#
# Author: Amin Bandali <amin.bandali@savoirfairelinux.com>
#

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
#
# Copyright (C) 2016-2023 Savoir-faire Linux Inc.
# Copyright (C) 2016-2024 Savoir-faire Linux Inc.
#
# Author: Alexandre Viau <alexandre.viau@savoirfairelinux.com>
# Author: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>

View File

@ -7,9 +7,9 @@ then
apt-get remove cmake cmake-data -y
fi
wget https://github.com/Kitware/CMake/releases/download/v3.19.8/cmake-3.19.8-Linux-x86_64.sh \
wget https://github.com/Kitware/CMake/releases/download/v3.21.4/cmake-3.21.4-linux-x86_64.sh\
-q -O /tmp/cmake-install.sh
echo "aa5a0e0dd5594b7fd7c107a001a2bfb5f83d9b5d89cf4acabf423c5d977863ad /tmp/cmake-install.sh" | sha256sum --check
echo "63cb3406f5320edc94504212fe75e8625751ec21e8d5dab76d8ed67ed780066e /tmp/cmake-install.sh" | sha256sum --check
chmod u+x /tmp/cmake-install.sh
/tmp/cmake-install.sh --skip-license --prefix=/usr/local/
rm /tmp/cmake-install.sh

View File

@ -0,0 +1,11 @@
#!/usr/bin/env bash
VERSION=$1
apt-get install -y -o Acquire::Retries=10 \
gcc-$VERSION \
g++-$VERSION
rm /usr/bin/gcc /usr/bin/g++
ln -s /usr/bin/gcc-$VERSION /usr/bin/gcc
ln -s /usr/bin/g++-$VERSION /usr/bin/g++

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
#
# Copyright (C) 2021-2023 Savoir-faire Linux Inc.
# Copyright (C) 2021-2024 Savoir-faire Linux Inc.
#
# Author: Amin Bandali <amin.bandali@savoirfairelinux.com>
#

View File

@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2023 Savoir-faire Linux Inc.
# Copyright (C) 2024 Savoir-faire Linux Inc.
#
# Author: Amin Bandali <amin.bandali@savoirfairelinux.com>
#

View File

@ -0,0 +1,25 @@
From 161d28abb6784115ad71fcb6977e112e9d5756d4 Mon Sep 17 00:00:00 2001
From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
Date: Tue, 23 Jan 2024 15:38:34 -0500
Subject: [PATCH] fix-fedora-fc-build
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0fb89c8..3a6ad6d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -65,7 +65,7 @@ if(NOT TARGET qmsetup::library)
)
# Find package again
- find_package(qmsetup REQUIRED PATHS ${_package_path})
+ find_package(qmsetup REQUIRED PATHS ${_package_path} ${qmsetup_cmake_path})
# Update import path
set(qmsetup_DIR ${_package_path} CACHE PATH "" FORCE)
--
2.34.1

View File

@ -0,0 +1,34 @@
From ca2be6466c150d1b82a646d97b27df35b45d90f1 Mon Sep 17 00:00:00 2001
From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
Date: Tue, 9 Jan 2024 15:25:19 -0500
Subject: [PATCH] workaround right margin
---
src/core/contexts/win32windowcontext.cpp | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/core/contexts/win32windowcontext.cpp b/src/core/contexts/win32windowcontext.cpp
index 3f6623e..9ee7752 100644
--- a/src/core/contexts/win32windowcontext.cpp
+++ b/src/core/contexts/win32windowcontext.cpp
@@ -402,6 +402,17 @@ namespace QWK {
return true;
}
}
+
+#if !QWINDOWKIT_CONFIG(ENABLE_WINDOWS_SYSTEM_BORDERS)
+ if (msg->message == WM_MOVE || msg->message == WM_SIZE ||
+ (msg->message == WM_IME_SETCONTEXT && (GetForegroundWindow() == msg->hwnd))) {
+ static const auto flags = SWP_FRAMECHANGED | SWP_NOMOVE |
+ SWP_NOSIZE | SWP_NOZORDER |
+ SWP_NOOWNERZORDER;
+ SetWindowPos(msg->hwnd, NULL, 0, 0, 0, 0, flags);
+ }
+#endif
+
return false;
}
--
2.7.4

View File

@ -1,5 +1,5 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Build, test, and package the project.
@ -28,7 +28,7 @@ mutually exclusive required arguments:
-z, --zip Build portable archive
examples:
1. build.py --qt=C:/Qt/6.4.3/msvc2019_64 # Build the app using a specific Qt
1. build.py --qt=C:/Qt/6.6.1/msvc2019_64 # Build the app using a specific Qt
2. build.py --init pack --msi # Build the app and an MSI installer
3. build.py --init --tests # Build the app and run tests
build.py pack --zip --skip-build # Generate a 7z archive of the app
@ -65,6 +65,20 @@ this_dir = os.path.dirname(os.path.realpath(__file__))
repo_root_dir = os.path.abspath(os.path.join(this_dir, os.pardir, os.pardir))
build_dir = os.path.join(repo_root_dir, "build")
def get_latest_toolset_version():
"""Get the latest toolset version."""
# Get the visual studio version. Use only the major version number.
# Then: toolset = 2022 ? "v143" : 2019 ? "v142" : 2017 ? "v141" : "v140"
vs_ver = get_vs_prop("installationVersion")
if vs_ver is None:
return None
vs_ver = int(vs_ver.split(".")[0])
if vs_ver == 17:
return "v143"
elif vs_ver == 16:
return "v142"
else:
return "v141"
def find_latest_qt_path():
"""Find the latest Qt installation path."""
@ -190,40 +204,31 @@ def init_submodules():
"""Initialize any git submodules in the project."""
print("Initializing submodules...")
if execute_cmd(["git", "submodule", "update", "--init"], False):
# Init the client submodules for Windows other than the daemon.
submodules = [
"3rdparty/qrencode-win32",
"3rdparty/SortFilterProxyModel",
"3rdparty/md4c",
"3rdparty/tidy-html5",
]
if execute_cmd(["git", "submodule", "update", "--init" ] + submodules,
False):
print("Submodule initialization error.")
else:
if execute_cmd(["git", "submodule", "update", "--recursive"], False):
print("Submodule recursive checkout error.")
else:
print("Submodule recursive checkout finished.")
sys.exit(1)
def build_deps():
"""Build the dependencies for the project."""
print('Patching and building qrencode')
apply_cmd = [
'git',
'apply',
'--reject',
'--ignore-whitespace',
'--whitespace=fix'
]
print('Building qrencode')
qrencode_dir = os.path.join(repo_root_dir, '3rdparty', 'qrencode-win32')
patch_file = os.path.join(repo_root_dir, 'qrencode-win32.patch')
apply_cmd.append(patch_file)
if execute_cmd(apply_cmd, False, None, qrencode_dir):
print("Couldn't patch qrencode-win32.")
vs_env_vars = {}
vs_env_vars.update(get_vs_env())
msbuild_args = get_ms_build_args("x64", "Release-Lib")
toolset = get_latest_toolset_version()
print(f'Using toolset {toolset}')
msbuild_args = get_ms_build_args("x64", "Release-Lib", toolset)
proj_path = os.path.join(
qrencode_dir, "qrencode-win32", "vc8", "qrcodelib", "qrcodelib.vcxproj"
qrencode_dir, "qrencode-win32", "vc15", "qrcodelib", "qrcodelib.vcxproj"
)
build_project(msbuild_args, proj_path, vs_env_vars)
@ -264,17 +269,15 @@ def build(config_str, qt_dir, tests):
# Get the daemon bin/include directories.
daemon_dir = os.path.join(repo_root_dir, "daemon")
daemon_bin_dir = os.path.join(
daemon_dir, "build", "x64", "ReleaseLib_win32", "bin")
daemon_bin_dir = os.path.join(daemon_dir, "build", "lib")
# We need to update the minimum SDK version to be able to
# build with system theme support
cmake_options = [
"-DWITH_DAEMON_SUBMODULE=ON",
"-DJAMICORE_AS_SUBDIR=ON",
"-DCMAKE_PREFIX_PATH=" + qt_dir,
"-DCMAKE_MSVCIDE_RUN_PATH=" + qt_dir + "\\bin",
"-DCMAKE_INSTALL_PREFIX=" + daemon_bin_dir,
"-DLIBJAMI_INCLUDE_DIR=" + daemon_dir + "\\src\\jami",
"-DCMAKE_INSTALL_PREFIX=" + os.getcwd(),
"-DCMAKE_SYSTEM_VERSION=" + WIN_SDK_VERSION,
"-DCMAKE_BUILD_TYPE=" + "Release",
"-DENABLE_TESTS=" + str(tests).lower(),

View File

@ -1,7 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright (C) 2022-2023 Savoir-faire Linux Inc.
# Copyright (C) 2022-2024 Savoir-faire Linux Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -62,7 +62,8 @@ def gen_qml_qrc(with_webengine):
continue
filtered = [k for k in files if k.endswith('.qml') or
k.endswith('.js') or k.endswith('.html') or
k.endswith('.css') or k.endswith('.conf')]
k.endswith('.css') or k.endswith('.conf') or
k == 'qmldir']
# if there are no files of interest in this directory, skip it
if not filtered:
continue

View File

@ -1,7 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright (C) 2021-2023 Savoir-faire Linux Inc.
# Copyright (C) 2021-2024 Savoir-faire Linux Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -32,7 +32,7 @@ import re
# script as set in the project CMakeLists, which should in turn be
# where the resources.qrc will be located (currently 'src/app').
resdir = os.path.join('..', '..', 'resources')
qmlfile = os.path.join('constant', 'JamiResources.qml')
qmlfile = os.path.join('net/jami/Constants', 'JamiResources.qml')
resfile = os.path.join('resources.qrc')
print("Generating resource.qrc file ...")

View File

@ -1,4 +1,4 @@
# Copyright (C) 2019-2023 Savoir-faire Linux Inc.
# Copyright (C) 2019-2024 Savoir-faire Linux Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash
# install.sh --- build and install Jami daemon and client
# Copyright (C) 2016-2023 Savoir-faire Linux Inc.
# Copyright (C) 2016-2024 Savoir-faire Linux Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -29,6 +29,8 @@ export OSTYPE
# -W: disable libwrap and shared library
# -w: do not use Qt WebEngine
# -a: arch to build
# -A: enable AddressSanitizer
# -D: extra CMake flags for the client
set -ex
@ -43,9 +45,11 @@ proc='1'
priv_install=true
enable_libwrap=true
enable_webengine=true
asan=
extra_cmake_flags=''
arch=''
while getopts gsc:dQ:P:p:uWwa: OPT; do
while getopts gsc:dQ:P:p:uWwa:AD: OPT; do
case "$OPT" in
g)
global='true'
@ -77,6 +81,12 @@ while getopts gsc:dQ:P:p:uWwa: OPT; do
a)
arch="${OPTARG}"
;;
A)
asan='true'
;;
D)
extra_cmake_flags="${OPTARG}"
;;
\?)
exit 1
;;
@ -116,7 +126,7 @@ else
mkdir -p contrib/native
(
cd contrib/native
../bootstrap ${prefix:+"--prefix=$prefix"}
../bootstrap ${prefix:+"--prefix=$prefix"} ${asan:+"--enable-asan"}
make -j"${proc}"
)
@ -135,6 +145,10 @@ else
CONFIGURE_FLAGS+=" --enable-debug"
fi
if [ "${asan}" = "true" ]; then
CONFIGURE_FLAGS+=" --enable-asan"
fi
# Build the daemon itself.
test -f configure || ./autogen.sh
@ -183,6 +197,11 @@ client_cmake_flags=(-DCMAKE_BUILD_TYPE="${BUILD_TYPE}"
-DCMAKE_PREFIX_PATH="${qtpath}"
-DENABLE_LIBWRAP="${enable_libwrap}"
-DWITH_WEBENGINE="${enable_webengine}")
if [ "${asan}" = "true" ]; then
client_cmake_flags+=(-DENABLE_ASAN=true)
fi
if [[ "$OSTYPE" == "darwin"* ]]; then
#detect arch for macos
CMAKE_OSX_ARCHITECTURES="arm64"
@ -207,6 +226,11 @@ else
-DWITH_DAEMON_SUBMODULE=true)
fi
# Add extra flags for the client
if [ -n "${extra_cmake_flags}" ]; then
client_cmake_flags+=(${extra_cmake_flags})
fi
echo "info: Configuring $client client with flags: ${client_cmake_flags[*]}"
cmake .. "${client_cmake_flags[@]}"
make -j"${proc}" V=1

View File

@ -20,6 +20,8 @@ rm -rf Jami.app/Contents/Frameworks/QtWebEngineQuickDelegatesQml.framework
rm -rf Jami.app/Contents/Frameworks/QtWebEngineQuick.framework
rm -rf Jami.app/Contents/Frameworks/QtWebEngineCore.framework
rm -rf Jami.app/Contents/Frameworks/QtWebChannel.framework
echo "remove web dSYM files"
find Jami.app/Contents/Resources/qml -type d -name "*.dSYM" -exec rm -r {} \;
codesign --force --sign "${APP_CERTIFICATE}" --entitlements ../resources/entitlements/appstore/Jami.entitlements Jami.app
codesign --verify Jami.app
echo "create .pkg"

View File

@ -1,7 +1,7 @@
#!/usr/bin/python
##
## Copyright (C) 2016-2023 Savoir-faire Linux Inc.
## Copyright (C) 2016-2024 Savoir-faire Linux Inc.
##
## Author: Edric Milaret <edric.ladent-milaret@savoirfairelinux.com>
## Author: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>

View File

@ -1,243 +0,0 @@
From 261d830b9b4126d76519db0e6b6b51b5a730eb40 Mon Sep 17 00:00:00 2001
From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
Date: Tue, 4 Dec 2018 17:42:43 -0500
Subject: [PATCH] b
---
.../vc8/qrcodelib/qrcodelib.vcxproj | 129 +++++++++++++++++-
1 file changed, 125 insertions(+), 4 deletions(-)
diff --git a/qrencode-win32/vc8/qrcodelib/qrcodelib.vcxproj b/qrencode-win32/vc8/qrcodelib/qrcodelib.vcxproj
index aabc6b6..8d8293b 100644
--- a/qrencode-win32/vc8/qrcodelib/qrcodelib.vcxproj
+++ b/qrencode-win32/vc8/qrcodelib/qrcodelib.vcxproj
@@ -5,45 +5,84 @@
<Configuration>Debug-Dll</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Debug-Dll|x64">
+ <Configuration>Debug-Dll</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Debug-Lib|Win32">
<Configuration>Debug-Lib</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Debug-Lib|x64">
+ <Configuration>Debug-Lib</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Release-Dll|Win32">
<Configuration>Release-Dll</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Release-Dll|x64">
+ <Configuration>Release-Dll</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Release-Lib|Win32">
<Configuration>Release-Lib</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Release-Lib|x64">
+ <Configuration>Release-Lib</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{9A90BF5C-84B0-41F6-B83C-C20EADC1F46C}</ProjectGuid>
<RootNamespace>qrcodelib</RootNamespace>
<Keyword>Win32Proj</Keyword>
+ <WindowsTargetPlatformVersion>10.0.18362.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
- <PlatformToolset>v110_xp</PlatformToolset>
+ <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
- <PlatformToolset>v110_xp</PlatformToolset>
+ <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110_xp</PlatformToolset>
+ <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110_xp</PlatformToolset>
+ <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
@@ -52,15 +91,27 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>11.0.50727.1</_ProjectFileVersion>
@@ -70,11 +121,17 @@
<IntDir>../.build/$(ProjectName)/$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|Win32'">
<OutDir>../.build/$(Configuration)\</OutDir>
<IntDir>../.build/$(ProjectName)/$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'">
<OutDir>../.build/$(Configuration)\</OutDir>
<IntDir>../.build/$(ProjectName)/$(Configuration)\</IntDir>
@@ -104,6 +161,26 @@
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.\;..\qrcode;..\qrcode\png;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;QRCODELIB_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>libpng15d.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>..\qrcode\png;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ModuleDefinitionFile>qrcodelib.def</ModuleDefinitionFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>.\;..\qrcode;..\qrcode\png;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -124,6 +201,26 @@
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|x64'">
+ <ClCompile>
+ <AdditionalIncludeDirectories>.\;..\qrcode;..\qrcode\png;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;QRCODELIB_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>libpng15.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>..\qrcode\png;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ModuleDefinitionFile>qrcodelib.def</ModuleDefinitionFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
@@ -137,6 +234,19 @@
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>.\;..\qrcode;..\qrcode\png;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;QRCODELIB_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>.\;..\qrcode;..\qrcode\png;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -147,6 +257,17 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|x64'">
+ <ClCompile>
+ <AdditionalIncludeDirectories>.\;..\qrcode;..\qrcode\png;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;QRCODELIB_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ </ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="qrcodelib.cpp" />
<ClCompile Include="..\..\bitstream.c" />
--
2.19.0.windows.1

View File

@ -36,5 +36,7 @@
<string>Jami requires to access your microphone to make calls and record audio</string>
<key>ITSAppUsesNonExemptEncryption</key>
<true/>
<key>NSAppleEventsUsageDescription</key>
<string>Jami requires to monitor global key events for push-to-talk functionality.</string>
</dict>
</plist>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<path id="noun-connection-5025318" d="M18,6.3c1.2,0,2.2-1,2.2-2.1C20.1,3,19.2,2,18,2c-1.2,0-2.2,1-2.2,2.1c0,0.5,0.2,1.1,0.6,1.5
l-3.3,3.8c-0.8-0.6-2-0.5-2.7,0.2L7.3,7.1c0.5-0.8,0.2-1.9-0.6-2.4C5.9,4.2,4.8,4.5,4.3,5.3C3.8,6.1,4,7.2,4.9,7.7
C5.6,8.1,6.4,8,7,7.5l3.1,2.5c-0.5,0.8-0.4,1.9,0.3,2.6l-2.9,2.9c-1.1-0.7-2.5-0.4-3.2,0.7c-0.7,1.1-0.4,2.5,0.7,3.2
c1.1,0.7,2.5,0.4,3.2-0.7c0.6-0.9,0.5-2.1-0.3-2.9l2.9-2.9c0.3,0.2,0.7,0.3,1.2,0.3c0,0,0.1,0,0.1,0l0.8,4.8
c-1.1,0.3-1.7,1.4-1.4,2.5c0.3,1.1,1.4,1.7,2.5,1.4c1.1-0.3,1.7-1.4,1.4-2.5c-0.3-0.9-1-1.4-1.9-1.4c0,0-0.1,0-0.1,0l-0.8-4.8
c0.4-0.1,0.7-0.3,0.9-0.6l3.6,2.7c-0.4,0.8-0.2,1.8,0.6,2.2c0.8,0.4,1.8,0.2,2.2-0.6c0.4-0.8,0.2-1.8-0.6-2.2
c-0.6-0.4-1.4-0.3-1.9,0.2l-3.6-2.7c0.2-0.3,0.3-0.7,0.3-1.1c0-0.5-0.2-1.1-0.6-1.5l3.3-3.8C17.1,6.2,17.5,6.3,18,6.3L18,6.3z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<g id="noun-waiting-3611673" transform="translate(-13.64 -30.48)">
<path id="Path_278" d="M25.9,34.5c0.5,0,0.8-0.4,0.8-0.8c0-0.5-0.4-0.8-0.8-0.8c-0.5,0-0.8,0.4-0.8,0.8c0,0.2,0.1,0.4,0.2,0.6
C25.4,34.4,25.6,34.5,25.9,34.5z"/>
<path id="Path_279" d="M32.7,36.9c0.4-0.4,0.4-1.1,0-1.5c-0.4-0.4-1.1-0.4-1.5,0c-0.4,0.4-0.4,1.1,0,1.5c0.2,0.2,0.5,0.3,0.8,0.3
C32.2,37.2,32.5,37.1,32.7,36.9z"/>
<path id="Path_280" d="M34.5,41c-0.7,0-1.2,0.5-1.2,1.2s0.5,1.2,1.2,1.2c0.7,0,1.2-0.5,1.2-1.2c0-0.3-0.1-0.6-0.3-0.8
C35.1,41.1,34.8,41,34.5,41z"/>
<path id="Path_281" d="M31.9,47c-0.7,0-1.3,0.6-1.3,1.3c0,0.7,0.6,1.3,1.3,1.3c0.7,0,1.3-0.6,1.3-1.3c0-0.3-0.1-0.7-0.4-0.9
C32.6,47.1,32.3,47,31.9,47z"/>
<path id="Path_282" d="M25.9,49.4c-0.8,0-1.4,0.6-1.4,1.4c0,0.8,0.6,1.4,1.4,1.4c0.8,0,1.4-0.6,1.4-1.4c0-0.4-0.1-0.7-0.4-1
C26.6,49.5,26.2,49.4,25.9,49.4z"/>
<path id="Path_283" d="M18.7,47.2L18.7,47.2c-0.6,0.6-0.6,1.6,0,2.2c0.6,0.6,1.6,0.6,2.2,0c0.6-0.6,0.6-1.6,0-2.2
c-0.3-0.3-0.7-0.5-1.1-0.5C19.4,46.7,19,46.9,18.7,47.2z"/>
<path id="Path_284" d="M18.9,42.2c0-0.9-0.7-1.7-1.6-1.7s-1.7,0.7-1.7,1.6c0,0.9,0.7,1.7,1.6,1.7c0.4,0,0.9-0.2,1.2-0.5
C18.8,43,18.9,42.6,18.9,42.2z"/>
<path id="Path_285" d="M21.1,34.9c-0.7-0.3-1.5-0.1-1.9,0.6c-0.3,0.7-0.1,1.5,0.6,1.9c0.7,0.3,1.5,0.1,1.9-0.6
c0.1-0.2,0.2-0.5,0.1-0.7C21.8,35.5,21.5,35.1,21.1,34.9z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,15 +1,21 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="43" height="52.655" viewBox="0 0 43 52.655">
<defs>
<clipPath id="clip-path">
<rect id="Rectangle_268" data-name="Rectangle 268" width="38" height="24" transform="translate(-0.407 0.083)" fill="#fff" stroke="#707070" stroke-width="1"/>
</clipPath>
</defs>
<g id="Icon_Donate" transform="translate(-22 -189.345)">
<rect id="Rectangle_267" data-name="Rectangle 267" width="43" height="10" rx="5" transform="translate(22 232)" fill="#9eb3c3"/>
<path id="Path_459" data-name="Path 459" d="M9.674,17.083,8.562,16.07C4.609,12.486,2,10.122,2,7.221A4.18,4.18,0,0,1,6.221,3,4.6,4.6,0,0,1,9.674,4.6,4.6,4.6,0,0,1,13.128,3a4.18,4.18,0,0,1,4.221,4.221c0,2.9-2.609,5.265-6.562,8.856Z" transform="translate(22.407 199.828)" fill="#ff0045" opacity="0.3"/>
<path id="Path_460" data-name="Path 460" d="M6.953,12.088l-.718-.654C3.684,9.122,2,7.6,2,5.724A2.7,2.7,0,0,1,4.724,3,2.966,2.966,0,0,1,6.953,4.035,2.966,2.966,0,0,1,9.182,3a2.7,2.7,0,0,1,2.724,2.724c0,1.872-1.684,3.4-4.235,5.716Z" transform="translate(45.571 186.345)" fill="#ff0045" opacity="0.16"/>
<g id="Mask_Group_38" data-name="Mask Group 38" transform="translate(24.407 213.918)" clip-path="url(#clip-path)">
<path id="Path_270" data-name="Path 270" d="M12.649,22.542l-1.544-1.406C5.621,16.163,2,12.883,2,8.857A5.8,5.8,0,0,1,7.857,3a6.377,6.377,0,0,1,4.792,2.226A6.377,6.377,0,0,1,17.442,3,5.8,5.8,0,0,1,23.3,8.857c0,4.025-3.621,7.306-9.105,12.289Z" transform="translate(5.992 5.54)" fill="#ff0045"/>
</g>
</g>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 28.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 43 52.7" style="enable-background:new 0 0 43 52.7;" xml:space="preserve">
<style type="text/css">
.st0{fill:#9EB3C3;}
.st1{opacity:0.3;fill:#FF0045;enable-background:new ;}
.st2{opacity:0.16;fill:#FF0045;enable-background:new ;}
.st3{fill:#FF0045;}
</style>
<g id="Icon_Donate" transform="translate(-22 -189.345)">
<path id="Rectangle_267" class="st0" d="M27,232h33c2.8,0,5,2.2,5,5l0,0c0,2.8-2.2,5-5,5H27c-2.8,0-5-2.2-5-5l0,0
C22,234.2,24.2,232,27,232z"/>
<path id="Path_459" class="st1" d="M32.1,216.9l-1.1-1c-4-3.6-6.6-5.9-6.6-8.8c0-2.3,1.8-4.2,4.1-4.2c0,0,0.1,0,0.1,0
c1.3,0,2.6,0.6,3.5,1.6c0.9-1,2.1-1.6,3.5-1.6c2.3,0,4.2,1.8,4.2,4.1c0,0,0,0.1,0,0.1c0,2.9-2.6,5.3-6.6,8.9L32.1,216.9z"/>
<path id="Path_460" class="st2" d="M52.5,198.4l-0.7-0.7c-2.6-2.3-4.2-3.8-4.2-5.7c0-1.5,1.2-2.7,2.7-2.7c0,0,0,0,0,0
c0.9,0,1.7,0.4,2.2,1c0.6-0.7,1.4-1,2.2-1c1.5,0,2.7,1.2,2.7,2.7c0,0,0,0,0,0c0,1.9-1.7,3.4-4.2,5.7L52.5,198.4z"/>
<path class="st3" d="M37.3,236.7h11.4c3.1-3,4.9-5.5,4.9-8.4c0,0,0-0.1,0-0.1c0-3.2-2.7-5.8-5.9-5.7c-1.8,0-3.6,0.8-4.8,2.2
c-1.2-1.4-2.9-2.2-4.8-2.2c0,0-0.1,0-0.1,0c-3.2,0-5.8,2.7-5.7,5.9C32.4,231.2,34.3,233.7,37.3,236.7z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<g id="add_a_photo_black_24dp" opacity="1">
<path id="Path_248" data-name="Path 248" d="M0,0H24V24H0Z" fill="none"/>
<path id="Path_249" data-name="Path 249" d="M21,6H17.83L16,4H10V6h5.12l1.83,2H21V20H5V11H3v9a2.006,2.006,0,0,0,2,2H21a2.006,2.006,0,0,0,2-2V8A2.006,2.006,0,0,0,21,6ZM8,14a5,5,0,1,0,5-5A5,5,0,0,0,8,14Zm5-3a3,3,0,1,1-3,3A3.009,3.009,0,0,1,13,11ZM5,6H8V4H5V1H3V4H0V6H3V9H5Z" fill="black"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 512 B

View File

@ -0,0 +1,4 @@
<svg id="add_photo_alternate_black_24dp" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path id="Path_250" data-name="Path 250" d="M0,0H24V24H0Z" fill="none"/>
<path id="Path_251" data-name="Path 251" d="M18,20H4V6h9V4H4A2.006,2.006,0,0,0,2,6V20a2.006,2.006,0,0,0,2,2H18a2.006,2.006,0,0,0,2-2V11H18Zm-7.79-3.17L8.25,14.47,5.5,18h11l-3.54-4.71ZM20,4V1H18V4H15c.01.01,0,2,0,2h3V8.99c.01.01,2,0,2,0V6h3V4Z" fill="#fff"/>
</svg>

After

Width:  |  Height:  |  Size: 462 B

View File

@ -0,0 +1,4 @@
<svg id="assignment_ind_black_24dp" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path id="Path_311" data-name="Path 311" d="M0,0H24V24H0Z" fill="none"/>
<path id="Path_312" data-name="Path 312" d="M19,3H14.82A2.988,2.988,0,0,0,9.18,3H5A2.006,2.006,0,0,0,3,5V19a2.006,2.006,0,0,0,2,2H19a2.006,2.006,0,0,0,2-2V5A2.006,2.006,0,0,0,19,3Zm-7-.25a.767.767,0,1,1-.55.25A.749.749,0,0,1,12,2.75ZM19,19H5V5H19ZM12,6a3,3,0,1,0,3,3A3.009,3.009,0,0,0,12,6Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,12,10ZM6,16.47V18H18V16.47c0-2.5-3.97-3.58-6-3.58S6,13.96,6,16.47ZM8.31,16A7.011,7.011,0,0,1,12,14.88,6.982,6.982,0,0,1,15.69,16Z" fill="#005699"/>
</svg>

After

Width:  |  Height:  |  Size: 666 B

View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<g id="brush_black_24dp" opacity="1">
<path id="Path_323" data-name="Path 323" d="M0,0H24V24H0Z" fill="none"/>
<path id="Path_324" data-name="Path 324" d="M7,16a1,1,0,0,1,1,1,2.006,2.006,0,0,1-2,2,2.825,2.825,0,0,1-.5-.05A3.947,3.947,0,0,0,6,17a1,1,0,0,1,1-1M18.67,3a1.024,1.024,0,0,0-.71.29L9,12.25,11.75,15l8.96-8.96a1,1,0,0,0,0-1.41L19.37,3.29a.976.976,0,0,0-.7-.29ZM7,14a3,3,0,0,0-3,3,2.029,2.029,0,0,1-2,2,5.174,5.174,0,0,0,4,2,4,4,0,0,0,4-4A3,3,0,0,0,7,14Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 574 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
<path id="check_circle_FILL0_wght400_GRAD0_opsz24" d="M88.6-865.4l7.05-7.05-1.4-1.4L88.6-868.2l-2.85-2.85-1.4,1.4ZM90-860a9.738,9.738,0,0,1-3.9-.787,10.1,10.1,0,0,1-3.175-2.138,10.1,10.1,0,0,1-2.138-3.175A9.738,9.738,0,0,1,80-870a9.738,9.738,0,0,1,.787-3.9,10.1,10.1,0,0,1,2.138-3.175,10.1,10.1,0,0,1,3.175-2.138A9.738,9.738,0,0,1,90-880a9.738,9.738,0,0,1,3.9.787,10.1,10.1,0,0,1,3.175,2.138,10.1,10.1,0,0,1,2.138,3.175A9.738,9.738,0,0,1,100-870a9.738,9.738,0,0,1-.787,3.9,10.1,10.1,0,0,1-2.138,3.175,10.1,10.1,0,0,1-3.175,2.138A9.738,9.738,0,0,1,90-860Zm0-2a7.721,7.721,0,0,0,5.675-2.325A7.721,7.721,0,0,0,98-870a7.721,7.721,0,0,0-2.325-5.675A7.721,7.721,0,0,0,90-878a7.721,7.721,0,0,0-5.675,2.325A7.721,7.721,0,0,0,82-870a7.721,7.721,0,0,0,2.325,5.675A7.721,7.721,0,0,0,90-862ZM90-870Z" transform="translate(-80 880)" fill="#fff"/>
</svg>

After

Width:  |  Height:  |  Size: 927 B

View File

@ -1,9 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<path d="M20.4,2.2H8.5c-0.9,0-1.6,0.7-1.6,1.6v2.9H3.6C2.7,6.7,2,7.4,2,8.3v11.9c0,0.9,0.7,1.6,1.6,1.6h11.9c0.9,0,1.6-0.7,1.6-1.6
v-2.9h3.3c0.9,0,1.6-0.7,1.6-1.6V3.8C22,2.9,21.3,2.2,20.4,2.2z M15.8,20.2c0,0.2-0.1,0.3-0.3,0.3H3.6c-0.2,0-0.3-0.1-0.3-0.3V8.3
C3.3,8.2,3.4,8,3.6,8h11.9c0.2,0,0.3,0.1,0.3,0.3V20.2z M20.7,15.7c0,0.2-0.1,0.3-0.3,0.3h-3.3V8.3c0-0.9-0.7-1.6-1.6-1.6H8.2V3.8
c0-0.2,0.1-0.3,0.3-0.3h11.9c0.2,0,0.3,0.1,0.3,0.3V15.7z"/>
</svg>
<svg id="content_copy_24dp" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path id="Path_305" data-name="Path 305" d="M0,0H24V24H0Z" fill="none"/>
<path id="Path_306" data-name="Path 306" d="M16,1H4A2.006,2.006,0,0,0,2,3V17H4V3H16Zm3,4H8A2.006,2.006,0,0,0,6,7V21a2.006,2.006,0,0,0,2,2H19a2.006,2.006,0,0,0,2-2V7A2.006,2.006,0,0,0,19,5Zm0,16H8V7H19Z" fill="#005699"/>
</svg>

Before

Width:  |  Height:  |  Size: 793 B

After

Width:  |  Height:  |  Size: 411 B

View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="21.5" height="20.112" viewBox="0 0 21.5 20.112">
<g id="favorite_black_24dp" transform="translate(-1.25 -2.25)">
<path id="Path_270" data-name="Path 270" d="M12,21.35l-1.45-1.32C5.4,15.36,2,12.28,2,8.5A5.447,5.447,0,0,1,7.5,3,5.988,5.988,0,0,1,12,5.09,5.988,5.988,0,0,1,16.5,3,5.447,5.447,0,0,1,22,8.5c0,3.78-3.4,6.86-8.55,11.54Z" fill="none" stroke="#03b9e9" stroke-width="1.5"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 448 B

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M24 24H0V0h24v24z"/><circle fill="#ff0000" cx="12" cy="12" r="8"/></svg>

Before

Width:  |  Height:  |  Size: 176 B

View File

@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<g id="manage_accounts_black_24dp" opacity="1">
<g id="Group_82" data-name="Group 82">
<path id="Path_314" data-name="Path 314" d="M0,0H24V24H0Z" fill="none"/>
</g>
<g id="Group_84" data-name="Group 84">
<g id="Group_83" data-name="Group 83">
<path id="Path_315" data-name="Path 315" d="M4,18v-.65a.946.946,0,0,1,.41-.81A10.889,10.889,0,0,1,10,15a.22.22,0,0,1,.08.01,6.886,6.886,0,0,1,.59-1.98c-.22-.02-.44-.03-.67-.03a12.876,12.876,0,0,0-6.61,1.82A2.922,2.922,0,0,0,2,17.35V20h9.26a7.133,7.133,0,0,1-.97-2Z" fill="black"/>
<path id="Path_316" data-name="Path 316" d="M10,12A4,4,0,1,0,6,8,4,4,0,0,0,10,12Zm0-6A2,2,0,1,1,8,8,2.006,2.006,0,0,1,10,6Z" fill="black"/>
<path id="Path_317" data-name="Path 317" d="M20.75,16a4.338,4.338,0,0,0-.06-.63l1.14-1.01-1-1.73-1.45.49a3.647,3.647,0,0,0-1.08-.63L18,11H16l-.3,1.49a3.647,3.647,0,0,0-1.08.63l-1.45-.49-1,1.73,1.14,1.01a4.338,4.338,0,0,0-.06.63,4.338,4.338,0,0,0,.06.63l-1.14,1.01,1,1.73,1.45-.49a3.647,3.647,0,0,0,1.08.63L16,21h2l.3-1.49a3.647,3.647,0,0,0,1.08-.63l1.45.49,1-1.73-1.14-1.01A4.338,4.338,0,0,0,20.75,16ZM17,18a2,2,0,1,1,2-2A2.006,2.006,0,0,1,17,18Z" fill="black"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="21.5" viewBox="0 0 18 21.5">
<path id="notification_important_black_24dp" d="M10.01,21.01a1.99,1.99,0,0,0,3.98,0ZM12,6a5,5,0,0,1,5,5v7H7V11A5,5,0,0,1,12,6Zm0-4.5A1.5,1.5,0,0,0,10.5,3V4.17A6.993,6.993,0,0,0,5,11v6L3,19v1H21V19l-2-2V11a6.993,6.993,0,0,0-5.5-6.83V3A1.5,1.5,0,0,0,12,1.5ZM11,8h2v4H11Zm0,6h2v2H11Z" transform="translate(-3 -1.5)" fill="#c02"/>
</svg>

After

Width:  |  Height:  |  Size: 424 B

View File

@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<g id="person_add_alt_black_24dp" opacity="1">
<g id="Group_80" data-name="Group 80">
<rect id="Rectangle_324" data-name="Rectangle 324" width="24" height="24" fill="none"/>
</g>
<g id="Group_81" data-name="Group 81">
<path id="Path_313" data-name="Path 313" d="M20,9V6H18V9H15v2h3v3h2V11h3V9ZM9,12A4,4,0,1,0,5,8,4,4,0,0,0,9,12ZM9,6A2,2,0,1,1,7,8,2.006,2.006,0,0,1,9,6Zm6.39,8.56a13.867,13.867,0,0,0-12.78,0A2.971,2.971,0,0,0,1,17.22V20H17V17.22A2.971,2.971,0,0,0,15.39,14.56ZM15,18H3v-.78a.971.971,0,0,1,.52-.88A12.108,12.108,0,0,1,9,15a12.108,12.108,0,0,1,5.48,1.34.971.971,0,0,1,.52.88Z" fill="black"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 739 B

View File

@ -0,0 +1,4 @@
<svg id="person_outline_black_24dp_1_" data-name="person_outline_black_24dp (1)" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path id="Path_325" data-name="Path 325" d="M0,0H24V24H0Z" fill="none"/>
<path id="Path_326" data-name="Path 326" d="M12,5.9A2.1,2.1,0,1,1,9.9,8,2.1,2.1,0,0,1,12,5.9m0,9c2.97,0,6.1,1.46,6.1,2.1v1.1H5.9V17c0-.64,3.13-2.1,6.1-2.1M12,4a4,4,0,1,0,4,4A4,4,0,0,0,12,4Zm0,9c-2.67,0-8,1.34-8,4v3H20V17C20,14.34,14.67,13,12,13Z"/>
</svg>

After

Width:  |  Height:  |  Size: 493 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<path id="phone_in_talk_FILL0_wght400_GRAD0_opsz24_1_" data-name="phone_in_talk_FILL0_wght400_GRAD0_opsz24 (1)" d="M134.222-832a6,6,0,0,0-1.811-4.411A6,6,0,0,0,128-838.222V-840a7.737,7.737,0,0,1,3.122.633,8.132,8.132,0,0,1,2.533,1.711,8.133,8.133,0,0,1,1.711,2.533A7.74,7.74,0,0,1,136-832Zm-3.556,0a2.572,2.572,0,0,0-.778-1.889,2.571,2.571,0,0,0-1.889-.778v-1.778a4.283,4.283,0,0,1,3.144,1.3,4.283,4.283,0,0,1,1.3,3.144Zm4.4,8a13.343,13.343,0,0,1-5.489-1.211,16.42,16.42,0,0,1-4.933-3.433,16.42,16.42,0,0,1-3.433-4.933A13.343,13.343,0,0,1,120-839.067a.9.9,0,0,1,.267-.667.9.9,0,0,1,.667-.267h3.6a.827.827,0,0,1,.556.211.812.812,0,0,1,.289.5l.578,3.111a1.567,1.567,0,0,1-.022.6.934.934,0,0,1-.244.422l-2.156,2.178a10.745,10.745,0,0,0,1.056,1.589,15.638,15.638,0,0,0,1.344,1.478,15.651,15.651,0,0,0,1.444,1.278,14.051,14.051,0,0,0,1.6,1.078l2.089-2.089a1.245,1.245,0,0,1,.522-.3,1.431,1.431,0,0,1,.633-.056l3.067.622a1.029,1.029,0,0,1,.511.322.782.782,0,0,1,.2.522v3.6a.9.9,0,0,1-.267.667A.9.9,0,0,1,135.067-824Zm-12.378-10.667,1.467-1.467-.378-2.089H121.8a18.259,18.259,0,0,0,.311,1.8A9.736,9.736,0,0,0,122.689-834.667Zm7.956,7.956a11.029,11.029,0,0,0,1.767.6,10.838,10.838,0,0,0,1.811.289v-1.956l-2.089-.422ZM122.689-834.667ZM130.644-826.711Z" transform="translate(-120 840)"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<path d="M20.2,6.5c-1.4-2.2-3.6-3.7-6-4.2C9,1.1,3.9,4.2,2.7,9.3c0,0,0,0,0,0l0,0.1c-0.6,2.4-0.1,4.9,1.2,6.9c1.2,1.9,3,3.3,5.1,4
l-0.4,0.3c-0.1,0-0.1,0.1-0.2,0.1C8,20.9,8,21.4,8.2,21.7C8.3,21.9,8.5,22,8.7,22c0,0,0.1,0,0.1,0c0.2,0,0.3-0.1,0.4-0.1l2-1.2
c0.2-0.1,0.3-0.3,0.3-0.5s0-0.4-0.1-0.6l-1.3-2c-0.2-0.3-0.6-0.4-1-0.2c-0.4,0.2-0.5,0.7-0.3,1l0.2,0.4c-1.7-0.6-3.1-1.7-4.1-3.3
c-1.1-1.7-1.4-3.8-1-5.9c0,0,0,0,0,0l0-0.1c1-4.2,5.3-6.8,9.7-5.9c2.1,0.5,3.9,1.8,5.1,3.6c1.1,1.7,1.4,3.8,1,5.9
c-0.6,2.7-2.8,4.9-5.6,5.8c-0.4,0.1-0.6,0.5-0.5,0.9c0.1,0.4,0.5,0.6,0.9,0.5c3.3-1,5.9-3.7,6.7-6.9l0-0.1
C21.9,11,21.5,8.5,20.2,6.5z"/>
</svg>

Before

Width:  |  Height:  |  Size: 976 B

View File

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
<g id="Picture_FILLO" transform="translate(-378.5 -900)">
<circle id="Oval" cx="7.222" cy="7.222" r="7.222" transform="translate(381.278 902.778)" fill="#fff"/>
<g id="Oval-2" data-name="Oval" transform="translate(378.5 900)" fill="none" stroke="#fff" stroke-width="1">
<circle cx="10" cy="10" r="10" stroke="none"/>
<circle cx="10" cy="10" r="9.5" fill="none"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 492 B

View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<g id="remove_circle_outline_black_24dp" opacity="1">
<path id="Path_252" data-name="Path 252" d="M0,0H24V24H0Z" fill="none"/>
<path id="Path_253" data-name="Path 253" d="M7,11v2H17V11Zm5-9A10,10,0,1,0,22,12,10,10,0,0,0,12,2Zm0,18a8,8,0,1,1,8-8A8.011,8.011,0,0,1,12,20Z" fill="black"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 394 B

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="48" width="48"><path d="M39 38v-8.7q0-2.7-1.9-4.6-1.9-1.9-4.6-1.9H11.7l7.7 7.7-2.1 2.1L6 21.3 17.3 10l2.1 2.1-7.7 7.7h20.8q3.9 0 6.7 2.775Q42 25.35 42 29.3V38Z"/></svg>

Before

Width:  |  Height:  |  Size: 216 B

View File

@ -0,0 +1,4 @@
<svg id="reply_black_24dp" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path id="Path_333" data-name="Path 333" d="M0,0H24V24H0Z" fill="none"/>
<path id="Path_334" data-name="Path 334" d="M10,9V5L3,12l7,7V14.9c5,0,8.5,1.6,11,5.1C20,15,17,10,10,9Z" fill="none" stroke="#000" stroke-linecap="round" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 364 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
<path id="refresh_FILL0_wght400_GRAD0_opsz24" d="M170-780a9.651,9.651,0,0,0,7.094-2.906A9.651,9.651,0,0,0,180-790a9.651,9.651,0,0,0-2.906-7.094A9.651,9.651,0,0,0,170-800a9.9,9.9,0,0,0-4.125.891,9.528,9.528,0,0,0-3.375,2.547V-800H160v8.75h8.75v-2.5H163.5a7.3,7.3,0,0,1,2.734-2.75,7.409,7.409,0,0,1,3.766-1,7.233,7.233,0,0,1,5.313,2.188A7.233,7.233,0,0,1,177.5-790a7.233,7.233,0,0,1-2.187,5.313A7.233,7.233,0,0,1,170-782.5a7.328,7.328,0,0,1-4.344-1.375,7.261,7.261,0,0,1-2.719-3.625h-2.625a9.87,9.87,0,0,0,3.563,5.406A9.7,9.7,0,0,0,170-780Z" transform="translate(-160 800)" fill="#fff"/>
</svg>

After

Width:  |  Height:  |  Size: 679 B

View File

@ -1,13 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Settings</title>
<g id="Icones" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Settings" fill="#000000" fill-rule="nonzero">
<g id="Shape" transform="translate(2.000000, 2.000000)">
<path d="M0.833333333,4.16666667 L3.45208333,4.16666667 C3.82561804,5.63721759 5.14941646,6.66679689 6.66666667,6.66679689 C8.18391688,6.66679689 9.5077153,5.63721759 9.88125,4.16666667 L19.1666667,4.16666667 C19.626904,4.16666667 20,3.79357062 20,3.33333333 C20,2.87309604 19.626904,2.5 19.1666667,2.5 L9.88125,2.5 C9.5077153,1.02944908 8.18391688,-0.000130218715 6.66666667,-0.000130218715 C5.14941646,-0.000130218715 3.82561804,1.02944908 3.45208333,2.5 L0.833333333,2.5 C0.373096042,2.5 0,2.87309604 0,3.33333333 C0,3.79357062 0.373096042,4.16666667 0.833333333,4.16666667 L0.833333333,4.16666667 Z M6.66666667,1.66666667 C7.58714125,1.66666667 8.33333333,2.41285875 8.33333333,3.33333333 C8.33333333,4.25380792 7.58714125,5 6.66666667,5 C5.74619208,5 5,4.25380792 5,3.33333333 C5,2.41285875 5.74619208,1.66666667 6.66666667,1.66666667 Z"></path>
<path d="M0.833333333,10.8333333 L10.11875,10.8333333 C10.4922847,12.3038843 11.8160831,13.3334636 13.3333333,13.3334636 C14.8505835,13.3334636 16.174382,12.3038843 16.5479167,10.8333333 L19.1666667,10.8333333 C19.626904,10.8333333 20,10.4602373 20,10 C20,9.53976271 19.626904,9.16666667 19.1666667,9.16666667 L16.5479167,9.16666667 C16.174382,7.69611574 14.8505835,6.66653645 13.3333333,6.66653645 C11.8160831,6.66653645 10.4922847,7.69611574 10.11875,9.16666667 L0.833333333,9.16666667 C0.373096042,9.16666667 0,9.53976271 0,10 C0,10.4602373 0.373096042,10.8333333 0.833333333,10.8333333 L0.833333333,10.8333333 Z M13.3333333,8.33333333 C14.2538079,8.33333333 15,9.07952542 15,10 C15,10.9204746 14.2538079,11.6666667 13.3333333,11.6666667 C12.4128588,11.6666667 11.6666667,10.9204746 11.6666667,10 C11.6666667,9.07952542 12.4128588,8.33333333 13.3333333,8.33333333 Z"></path>
<path d="M0.833333333,17.5 L3.45208333,17.5 C3.82561804,18.9705509 5.14941646,20.0001302 6.66666667,20.0001302 C8.18391688,20.0001302 9.5077153,18.9705509 9.88125,17.5 L19.1666667,17.5 C19.626904,17.5 20,17.126904 20,16.6666667 C20,16.2064294 19.626904,15.8333333 19.1666667,15.8333333 L9.88125,15.8333333 C9.5077153,14.3627824 8.18391688,13.3332031 6.66666667,13.3332031 C5.14941646,13.3332031 3.82561804,14.3627824 3.45208333,15.8333333 L0.833333333,15.8333333 C0.373096042,15.8333333 0,16.2064294 0,16.6666667 C0,17.126904 0.373096042,17.5 0.833333333,17.5 Z M6.66666667,15 C7.58714125,15 8.33333333,15.7461921 8.33333333,16.6666667 C8.33333333,17.5871412 7.58714125,18.3333333 6.66666667,18.3333333 C5.74619208,18.3333333 5,17.5871412 5,16.6666667 C5,15.7461921 5.74619208,15 6.66666667,15 Z"></path>
</g>
</g>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="19.901" viewBox="0 0 20 19.901">
<path id="settings_FILL0_wght400_GRAD0_opsz24_1_" data-name="settings_FILL0_wght400_GRAD0_opsz24 (1)" d="M85.264-860.1l-.4-3.184a3.774,3.774,0,0,1-.609-.3q-.286-.174-.56-.373l-2.96,1.244L78-867.438l2.562-1.94a2.375,2.375,0,0,1-.025-.336v-.672a2.375,2.375,0,0,1,.025-.336L78-872.662l2.736-4.726,2.96,1.244a6.791,6.791,0,0,1,.572-.373,5.014,5.014,0,0,1,.6-.3l.4-3.184h5.473l.4,3.184a3.779,3.779,0,0,1,.609.3q.286.174.56.373l2.96-1.244L98-872.662l-2.562,1.94a2.375,2.375,0,0,1,.025.336v.672a1.221,1.221,0,0,1-.05.336l2.562,1.94-2.736,4.726L92.3-863.955a6.776,6.776,0,0,1-.572.373,5.005,5.005,0,0,1-.6.3l-.4,3.184ZM87-862.09H88.97l.348-2.637a5.577,5.577,0,0,0,1.43-.585,5.946,5.946,0,0,0,1.206-.933l2.463,1.02.97-1.692-2.139-1.617a3.51,3.51,0,0,0,.174-.734,6.116,6.116,0,0,0,.05-.784,6.116,6.116,0,0,0-.05-.784,3.511,3.511,0,0,0-.174-.734l2.139-1.617-.97-1.692-2.463,1.045a5.524,5.524,0,0,0-1.206-.958,5.575,5.575,0,0,0-1.43-.585L89-878.01H87.03l-.348,2.637a5.575,5.575,0,0,0-1.43.585,5.946,5.946,0,0,0-1.206.933l-2.463-1.02-.97,1.692,2.139,1.592a4.05,4.05,0,0,0-.174.746,6.031,6.031,0,0,0-.05.8,5.833,5.833,0,0,0,.05.771,4.048,4.048,0,0,0,.174.746l-2.139,1.617.97,1.692,2.463-1.045a5.527,5.527,0,0,0,1.206.958,5.577,5.577,0,0,0,1.43.585Z" transform="translate(-78 880)"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -1,11 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Share</title>
<g id="Icones" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Share" fill="#000000" stroke="#000000" stroke-width="0.75">
<g id="SHARE" transform="translate(4.000000, 2.000000)">
<path d="M13.5,15.00005 C14.6105,15.00005 15.5,15.88955 15.5,17.00005 C15.5,18.1103 14.6105,19.00005 13.5,19.00005 C12.3895,19.00005 11.5,18.1103 11.5,17.00005 C11.5,15.88955 12.3895,15.00005 13.5,15.00005 M3,8.00005 C4.1105,8.00005 5,8.88955 5,10.00005 C5,11.11055 4.1105,12.00005 3,12.00005 C1.8895,12.00005 1,11.11055 1,10.00005 C1,8.88955 1.8895,8.00005 3,8.00005 M13.5,1.00005 C14.6105,1.00005 15.5,1.88955 15.5,3.00005 C15.5,4.11055 14.6105,5.00005 13.5,5.00005 C12.3895,5.00005 11.5,4.11055 11.5,3.00005 C11.5,1.88955 12.3895,1.00005 13.5,1.00005 M13.5,5e-05 C11.849,5e-05 10.5,1.34905 10.5,3.00005 C10.5,3.47555 10.6135,3.92755 10.8125,4.32805 L5.086,7.85155 C4.545,7.3263 3.8095,7.00005 3,7.00005 C1.349,7.00005 0,8.34905 0,10.00005 C0,11.65105 1.349,13.00005 3,13.00005 C3.81525,13.00005 4.552,12.67255 5.09375,12.14055 L10.82025,15.66405 C10.6165,16.0683 10.5,16.51805 10.5,17.00005 C10.5,18.65105 11.849,20.00005 13.5,20.00005 C15.151,20.00005 16.5,18.65105 16.5,17.00005 C16.5,15.34905 15.151,14.00005 13.5,14.00005 C12.6905,14.00005 11.955,14.3263 11.414,14.85155 L5.6875,11.32805 C5.8865,10.92755 6,10.47555 6,10.00005 C6,9.51805 5.8835,9.06855 5.67975,8.66405 L11.40625,5.14055 C11.94825,5.67255 12.68475,6.00005 13.5,6.00005 C15.151,6.00005 16.5,4.65105 16.5,3.00005 C16.5,1.34905 15.151,5e-05 13.5,5e-05" id="Fill-1"></path>
</g>
</g>
<svg id="share_24dp" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<g id="Group_66" data-name="Group 66">
<rect id="Rectangle_305" data-name="Rectangle 305" width="24" height="24" fill="none"/>
</g>
<g id="Group_68" data-name="Group 68">
<g id="Group_67" data-name="Group 67">
<path id="Path_302" data-name="Path 302" d="M3,11h8V3H3ZM5,5H9V9H5Z" fill="#005699"/>
<path id="Path_303" data-name="Path 303" d="M3,21h8V13H3Zm2-6H9v4H5Z" fill="#005699"/>
<path id="Path_304" data-name="Path 304" d="M13,3v8h8V3Zm6,6H15V5h4Z" fill="#005699"/>
<rect id="Rectangle_306" data-name="Rectangle 306" width="2" height="2" transform="translate(19 19)" fill="#005699"/>
<rect id="Rectangle_307" data-name="Rectangle 307" width="2" height="2" transform="translate(13 13)" fill="#005699"/>
<rect id="Rectangle_308" data-name="Rectangle 308" width="2" height="2" transform="translate(15 15)" fill="#005699"/>
<rect id="Rectangle_309" data-name="Rectangle 309" width="2" height="2" transform="translate(13 17)" fill="#005699"/>
<rect id="Rectangle_310" data-name="Rectangle 310" width="2" height="2" transform="translate(15 19)" fill="#005699"/>
<rect id="Rectangle_311" data-name="Rectangle 311" width="2" height="2" transform="translate(17 17)" fill="#005699"/>
<rect id="Rectangle_312" data-name="Rectangle 312" width="2" height="2" transform="translate(17 13)" fill="#005699"/>
<rect id="Rectangle_313" data-name="Rectangle 313" width="2" height="2" transform="translate(19 15)" fill="#005699"/>
</g>
</svg>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M6 6h12v12H6z" fill="#ff0000"/></svg>

Before

Width:  |  Height:  |  Size: 166 B

View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="15" height="16" viewBox="0 0 15 16">
<g id="Stop_FILLO" fill="none" stroke="#fff" stroke-width="1.5">
<rect width="15" height="16" rx="5" stroke="none"/>
<rect x="0.75" y="0.75" width="13.5" height="14.5" rx="4.25" fill="none"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 300 B

View File

@ -0,0 +1,15 @@
<svg id="图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" width="10.88" height="10.88"
viewBox="0 0 10.88 10.88">
<defs>
<style>
.cls-1 {
fill: none;
stroke: white;
stroke-miterlimit: 10;
stroke-width: 1.25px;
}
</style>
</defs>
<line class="cls-1" x1="0.44" y1="0.44" x2="10.44" y2="10.44" />
<line class="cls-1" x1="0.44" y1="10.44" x2="10.44" y2="0.44" />
</svg>

After

Width:  |  Height:  |  Size: 444 B

View File

@ -0,0 +1,11 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1594017175519"
class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1933"
xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16">
<defs>
<style type="text/css"></style>
</defs>
<path
d="M874.666667 128h-170.666667a21.333333 21.333333 0 0 0 0 42.666667h119.168l-176.917333 176.917333a21.333333 21.333333 0 1 0 30.165333 30.165333L853.333333 200.832V320a21.333333 21.333333 0 0 0 42.666667 0V149.333333a21.333333 21.333333 0 0 0-21.333333-21.333333zM347.584 646.250667L170.666667 823.168V704a21.333333 21.333333 0 0 0-42.666667 0v170.666667a21.333333 21.333333 0 0 0 21.333333 21.333333h170.666667a21.333333 21.333333 0 0 0 0-42.666667H200.832l176.917333-176.917333a21.333333 21.333333 0 0 0-30.165333-30.165333zM874.666667 682.666667a21.333333 21.333333 0 0 0-21.333334 21.333333v119.168l-176.917333-176.917333a21.333333 21.333333 0 0 0-30.165333 30.165333L823.168 853.333333H704a21.333333 21.333333 0 0 0 0 42.666667h170.666667a21.333333 21.333333 0 0 0 21.333333-21.333333v-170.666667a21.333333 21.333333 0 0 0-21.333333-21.333333zM200.832 170.666667H320a21.333333 21.333333 0 0 0 0-42.666667H149.333333a21.333333 21.333333 0 0 0-21.333333 21.333333v170.666667a21.333333 21.333333 0 0 0 42.666667 0V200.832l176.917333 176.917333a21.333333 21.333333 0 0 0 30.165333-30.165333z"
fill="#ffffff" p-id="1934"></path>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,12 @@
<svg id="图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 10 10">
<defs>
<style>
.cls-1 {
fill: none;
stroke: white;
stroke-miterlimit: 10;
}
</style>
</defs>
<rect class="cls-1" x="0.5" y="0.5" width="9" height="9" />
</svg>

After

Width:  |  Height:  |  Size: 328 B

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
y="0px" viewBox="0 0 10 10" style="enable-background:new 0 0 10 10;" xml:space="preserve">
<style type="text/css">
.st0 {
fill: white;
}
</style>
<rect y="4.5" class="st0" width="10" height="1" />
</svg>

After

Width:  |  Height:  |  Size: 467 B

View File

@ -0,0 +1,16 @@
<svg id="图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
<defs>
<style>
.cls-1 {
fill: none;
stroke: white;
stroke-miterlimit: 10;
}
</style>
</defs>
<rect class="cls-1" x="0.5" y="2.5" width="9" height="9" />
<line class="cls-1" x1="2.5" y1="2.5" x2="2.5" y2="0.5" />
<line class="cls-1" x1="12" y1="0.5" x2="2" y2="0.5" />
<line class="cls-1" x1="11.5" y1="10" x2="11.5" />
<line class="cls-1" x1="10" y1="9.5" x2="12" y2="9.5" />
</svg>

After

Width:  |  Height:  |  Size: 559 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 779 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 KiB

View File

@ -1,21 +1,27 @@
<h3 align="center"><span style="font-weight:600"> CREATED BY:</span></h3>
<h4 align="left"><span style="font-weight:600"> Created by</span></h4>
<p>Adrien Béraud<br>
Albert Babí<br>
Alexandre Lision<br>
Alexandr Sergheev<br>
Alexandre Viau<br>
Alexander Lussier-Cullen<br>
Aline Bonnet<br>
Aline Gondim Santos<br>
Alireza Toghiani<br>
Amin Bandali<br>
AmirHossein Naghshzan<br>
Amna Snene<br>
Andreas Traczyk<br>
Anthony Léonard<br>
Brando Tovar<br>
Capucine Berthet<br>
Charles-Francis Damedey<br>
Cyrille Béraud<br>
Dorina Mosku<br>
Eden Abitbol<br>
Édric Milaret<br>
Éloi Bail<br>
Emma Falkiewitz<br>
Emmanuel Lepage-Vallée<br>
Fadi Shehadeh<br>
Franck Laurent<br>
@ -26,7 +32,10 @@ Hadrien De Sousa<br>
Hugo Lefeuvre<br>
Julien Grossholtz<br>
Kateryna Kostiuk<br>
Léo Banno-Cloutier<br>
Liam Courdoson<br>
Loïc Siret<br>
Mathéo Joseph<br>
Mingrui Zhang<br>
Mohamed Chibani<br>
Mohamed Amine Younes Bouacida<br>
@ -40,6 +49,7 @@ Peymane Marandi<br>
Philippe Gorley<br>
Pierre Duchemin<br>
Pierre Lespagnol<br>
Pierre Nicolas<br>
Raphaël Brulé<br>
Rayan Osseiran<br>
Romain Bertozzi<br>
@ -53,7 +63,8 @@ Thibault Wittemberg<br>
Thomas Ballasi<br>
Trevor Tabah<br>
Vsevolod Ivanov<br>
Xavier Jouslin de Noray<br>
Yang Wang<br></p>
<h3 align="center"><span style="font-weight:600"> ARTWORK BY:</span></h3>
<h4 align="left"><span style="font-weight:600"> Artwork by</span></h4>
<p>Charlotte Hoffmann<br>
Marianne Forget<br></p>

4
src/app/.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
# auto-gen files
resources.qrc
qml.qrc
net/jami/Constants/JamiResources.qml

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2019-2023 Savoir-faire Linux Inc.
* Copyright (C) 2019-2024 Savoir-faire Linux Inc.
* Author: Yang Wang <yang.wang@savoirfairelinux.com>
*
* This program is free software; you can redistribute it and/or modify

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2020-2023 Savoir-faire Linux Inc.
* Copyright (C) 2020-2024 Savoir-faire Linux Inc.
* Author: Mingrui Zhang <mingrui.zhang@savoirfairelinux.com>
*
* This program is free software; you can redistribute it and/or modify

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2022-2023 Savoir-faire Linux Inc.
* Copyright (C) 2022-2024 Savoir-faire Linux Inc.
* Author: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
*
* This program is free software; you can redistribute it and/or modify
@ -73,17 +73,26 @@ QtObject {
function saveWindowSettings() {
// If closed-to-tray or minimized or fullscreen, save the cached windowedVisibility
// value instead.
if (isHidden || isFullScreen) {
AppSettingsManager.setValue(Settings.WindowState, priv.windowedVisibility)
} else {
AppSettingsManager.setValue(Settings.WindowState, visibility)
}
const visibilityToSave = isHidden || isFullScreen ? priv.windowedVisibility : visibility;
// Likewise, don't save fullscreen geometry.
const geometry = isFullScreen ?
priv.windowedGeometry :
Qt.rect(appWindow.x, appWindow.y,
appWindow.width, appWindow.height)
appWindow.width, appWindow.height);
// QWK: Account for the frameless window's offset.
if (appWindow.useFrameless) {
if (Qt.platform.os.toString() !== "osx") {
// Add [7, 30, 0, 0] on Windows and GNU/Linux.
geometry.x += 7;
geometry.y += 30;
}
}
console.debug("Saving window: " + JSON.stringify(geometry) + " " + visibilityToSave);
AppSettingsManager.setValue(Settings.WindowState, visibilityToSave)
AppSettingsManager.setValue(Settings.WindowGeometry, geometry)
}
@ -111,6 +120,8 @@ QtObject {
const visibilityStr = AppSettingsManager.getValue(Settings.WindowState)
var visibilitySetting = parseInt(visibilityStr)
console.debug("Restoring window: " + JSON.stringify(geometry) + " " + visibilitySetting)
// We should never restore a hidden or fullscreen state here. Default to normal
// windowed state in such a case. This shouldn't happen.
if (visibilitySetting === Window.Hidden || visibilitySetting === Window.FullScreen) {

Some files were not shown because too many files have changed in this diff Show More