>>> quaternion: Building community/quaternion 0.0.95.1_git20221221-r1 (using abuild 3.11.0-r1) started Sat, 13 May 2023 07:04:06 +0000 >>> quaternion: Checking sanity of /home/buildozer/aports/community/quaternion/APKBUILD... >>> quaternion: Analyzing dependencies... >>> quaternion: Installing for build: build-base qt5-qtquickcontrols cmake libquotient-dev libsecret-dev qtkeychain-dev qt5-qtmultimedia-dev qt5-qtquickcontrols2-dev qt5-qttools-dev (1/15) Installing qt5-qtquickcontrols (5.15.9_git20230323-r1) (2/15) Installing olm (3.2.15-r0) (3/15) Installing olm-dev (3.2.15-r0) (4/15) Installing qt5-qtkeychain (0.14.0-r0) (5/15) Installing libb2 (0.98.1-r2) (6/15) Installing double-conversion (3.2.1-r1) (7/15) Installing qt6-qtbase (6.5.0-r4) (8/15) Installing qt6-qtkeychain (0.14.0-r0) (9/15) Installing qtkeychain-dev (0.14.0-r0) (10/15) Installing qt5-qtmultimedia-dev (5.15.9_git20230407-r1) (11/15) Installing libquotient (0.7.2-r2) (12/15) Installing libquotient-dev (0.7.2-r2) (13/15) Installing libsecret (0.20.5-r3) (14/15) Installing libsecret-dev (0.20.5-r3) (15/15) Installing .makedepends-quaternion (20230513.070408) Executing busybox-1.36.0-r9.trigger OK: 1829 MiB in 510 packages >>> quaternion: Cleaning up srcdir >>> quaternion: Cleaning up pkgdir >>> quaternion: Fetching https://distfiles.alpinelinux.org/distfiles/edge//Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 33 1604k 33 544k 0 0 2206k 0 --:--:-- --:--:-- --:--:-- 2202k 100 1604k 100 1604k 0 0 4548k 0 --:--:-- --:--:-- --:--:-- 4544k >>> quaternion: Fetching https://distfiles.alpinelinux.org/distfiles/edge//Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c.tar.gz >>> quaternion: Checking sha512sums... Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c.tar.gz: OK >>> quaternion: Unpacking /var/cache/distfiles/edge//Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c.tar.gz... -- The CXX compiler identification is GNU 12.2.1 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Performing Test Wall_SUPPORTED -- Performing Test Wall_SUPPORTED - Success -- Performing Test Wpedantic_SUPPORTED -- Performing Test Wpedantic_SUPPORTED - Success -- Performing Test Wextra_SUPPORTED -- Performing Test Wextra_SUPPORTED - Success -- Performing Test Werror=return-void_SUPPORTED -- Performing Test Werror=return-void_SUPPORTED - Failed -- Performing Test Wno-unused-parameter_SUPPORTED -- Performing Test Wno-unused-parameter_SUPPORTED - Success -- Performing Test Wno-subobject-linkage_SUPPORTED -- Performing Test Wno-subobject-linkage_SUPPORTED - Success -- Found OpenSSL: /usr/lib/libcrypto.so (found version "3.1.0") -- -- ============================================================================= -- Quaternion 0.0.95.50 Build Information -- ============================================================================= -- Build type: None -- Quaternion install prefix: /usr -- Found Git: /usr/bin/git (found version "2.40.1") fatal: not a git repository (or any of the parent directories): .git -- Git SHA1: -- Using compiler: GNU 12.2.1 -- Using Qt 5.15.9 at / -- Using libQuotient 0.7.2 at /usr/lib/cmake/Quotient -- Using Qt Keychain 0.14.0 at /usr/lib/cmake/Qt5Keychain -- ============================================================================= -- -- Configuring done (2.2s) -- Generating done (0.0s) -- Build files have been written to: /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/build [ 3%] Automatic MOC for target quaternion [ 3%] Built target quaternion_autogen [ 6%] Automatic RCC for client/resources.qrc [ 10%] Building CXX object CMakeFiles/quaternion.dir/quaternion_autogen/mocs_compilation.cpp.o [ 13%] Building CXX object CMakeFiles/quaternion.dir/client/accountregistry.cpp.o [ 16%] Building CXX object CMakeFiles/quaternion.dir/client/quaternionroom.cpp.o [ 20%] Building CXX object CMakeFiles/quaternion.dir/client/htmlfilter.cpp.o [ 23%] Building CXX object CMakeFiles/quaternion.dir/client/imageprovider.cpp.o [ 26%] Building CXX object CMakeFiles/quaternion.dir/client/activitydetector.cpp.o [ 30%] Building CXX object CMakeFiles/quaternion.dir/client/dialog.cpp.o [ 33%] Building CXX object CMakeFiles/quaternion.dir/client/logindialog.cpp.o [ 36%] Building CXX object CMakeFiles/quaternion.dir/client/networkconfigdialog.cpp.o [ 40%] Building CXX object CMakeFiles/quaternion.dir/client/roomdialogs.cpp.o [ 43%] Building CXX object CMakeFiles/quaternion.dir/client/mainwindow.cpp.o [ 46%] Building CXX object CMakeFiles/quaternion.dir/client/roomlistdock.cpp.o [ 50%] Building CXX object CMakeFiles/quaternion.dir/client/userlistdock.cpp.o [ 53%] Building CXX object CMakeFiles/quaternion.dir/client/accountselector.cpp.o [ 56%] Building CXX object CMakeFiles/quaternion.dir/client/kchatedit.cpp.o [ 60%] Building CXX object CMakeFiles/quaternion.dir/client/timelinewidget.cpp.o [ 63%] Building CXX object CMakeFiles/quaternion.dir/client/chatedit.cpp.o [ 66%] Building CXX object CMakeFiles/quaternion.dir/client/chatroomwidget.cpp.o [ 70%] Building CXX object CMakeFiles/quaternion.dir/client/systemtrayicon.cpp.o [ 73%] Building CXX object CMakeFiles/quaternion.dir/client/profiledialog.cpp.o [ 76%] Building CXX object CMakeFiles/quaternion.dir/client/models/messageeventmodel.cpp.o [ 80%] Building CXX object CMakeFiles/quaternion.dir/client/models/roomlistmodel.cpp.o [ 83%] Building CXX object CMakeFiles/quaternion.dir/client/models/userlistmodel.cpp.o [ 86%] Building CXX object CMakeFiles/quaternion.dir/client/models/abstractroomordering.cpp.o [ 90%] Building CXX object CMakeFiles/quaternion.dir/client/models/orderbytag.cpp.o [ 93%] Building CXX object CMakeFiles/quaternion.dir/client/main.cpp.o [ 96%] Building CXX object CMakeFiles/quaternion.dir/quaternion_autogen/7EM65HM6UG/qrc_resources.cpp.o /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/timelinewidget.cpp: In member function 'void TimelineWidget::setRoom(QuaternionRoom*)': /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/timelinewidget.cpp:94:43: warning: 'void Quotient::Room::readMarkerMoved(QString, QString)' is deprecated: Since 0.7, use fullyReadMarkerMoved [-Wdeprecated-declarations] 94 | connect(newRoom, &Quotient::Room::readMarkerMoved, this, [this] { | ^~~~~~~~~~~~~~~ In file included from /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/../quaternionroom.h:22, from /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.h:22, from /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/timelinewidget.cpp:4: /usr/include/Quotient/room.h:990:10: note: declared here 990 | void readMarkerMoved(QString fromEventId, QString toEventId); | ^~~~~~~~~~~~~~~ /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/timelinewidget.cpp: In member function 'void TimelineWidget::reactionButtonClicked(const QString&, const QString&)': /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/timelinewidget.cpp:275:40: warning: 'Quotient::EventRelation Quotient::ReactionEvent::relation() const' is deprecated: Use eventId(), key(), or content().value instead [-Wdeprecated-declarations] 275 | e != nullptr && e->relation().key == key | ~~~~~~~~~~~^~ In file included from /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/timelinewidget.cpp:9: /usr/include/Quotient/events/reactionevent.h:32:19: note: declared here 32 | EventRelation relation() const { return content().value; } | ^~~~~~~~ /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/mainwindow.cpp: In member function 'void MainWindow::createMenu()': /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/mainwindow.cpp:202:66: warning: bitwise operation between different enumeration types 'Qt::Modifier' and 'Qt::Key' is deprecated [-Wdeprecated-enum-enum-conversion] 202 | ? QKeySequence(Qt::CTRL | Qt::Key_Q) | ~~~~~~~~~^~~~~~~~~~~ /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/mainwindow.cpp:351:38: warning: bitwise operation between different enumeration types 'Qt::Modifier' and 'Qt::Key' is deprecated [-Wdeprecated-enum-enum-conversion] 351 | joinAction->setShortcut(Qt::CTRL | Qt::Key_J); | ~~~~~~~~~^~~~~~~~~~~ /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/chatroomwidget.cpp: In lambda function: /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/chatroomwidget.cpp:146:13: warning: implicit capture of 'this' via '[=]' is deprecated in C++20 [-Wdeprecated] 146 | [=](const QString& localPath) { | ^ /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/chatroomwidget.cpp:146:13: note: add explicit 'this' or '*this' capture /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/mainwindow.cpp: In member function 'void MainWindow::invokeLogin()': /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/mainwindow.cpp:1103:30: warning: 'void Quotient::Connection::assumeIdentity(const QString&, const QString&, const QString&)' is deprecated: Device id is now resolved from accessToken; use assumeIdentity(QString, QString) instead of this overload [-Wdeprecated-declarations] 1103 | c->assumeIdentity(account.userId(), accessToken, account.deviceId()); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/Quotient/room.h:12, from /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/quaternionroom.h:22, from /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/mainwindow.cpp:26: /usr/include/Quotient/connection.h:576:10: note: declared here 576 | void assumeIdentity(const QString& mxId, const QString& accessToken, | ^~~~~~~~~~~~~~ /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.cpp: In member function 'void MessageEventModel::changeRoom(QuaternionRoom*)': /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.cpp:169:39: warning: 'void Quotient::Room::readMarkerMoved(QString, QString)' is deprecated: Since 0.7, use fullyReadMarkerMoved [-Wdeprecated-declarations] 169 | connect(m_currentRoom, &Room::readMarkerMoved, | ^~~~~~~~~~~~~~~ In file included from /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/../quaternionroom.h:22, from /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.h:22, from /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.cpp:20: /usr/include/Quotient/room.h:990:10: note: declared here 990 | void readMarkerMoved(QString fromEventId, QString toEventId); | ^~~~~~~~~~~~~~~ /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.cpp: In member function 'virtual QVariant MessageEventModel::data(const QModelIndex&, int) const': /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.cpp:631:42: warning: 'using StateEventBase = class Quotient::StateEvent' is deprecated: StateEventBase is StateEvent now [-Wdeprecated-declarations] 631 | , [] (const StateEventBase& e) { | ^ In file included from /usr/include/Quotient/roomstateview.h:6, from /usr/include/Quotient/room.h:13: /usr/include/Quotient/events/stateevent.h:47:7: note: declared here 47 | using StateEventBase | ^~~~~~~~~~~~~~ /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.cpp:470:21: warning: 'auto Quotient::visit(const BaseT&, FnTs&& ...) [with BaseT = RoomEvent; FnTs = {MessageEventModel::data(const QModelIndex&, int) const::, MessageEventModel::data(const QModelIndex&, int) const::, MessageEventModel::data(const QModelIndex&, int) const::, MessageEventModel::data(const QModelIndex&, int) const::, MessageEventModel::data(const QModelIndex&, int) const::, MessageEventModel::data(const QModelIndex&, int) const::, MessageEventModel::data(const QModelIndex&, int) const::, MessageEventModel::data(const QModelIndex&, int) const::, MessageEventModel::data(const QModelIndex&, int) const::, MessageEventModel::data(const QModelIndex&, int) const::, QString}]' is deprecated: The new name for visit() is switchOnType() [-Wdeprecated-declarations] 470 | return visit(evt | ~~~~~^~~~ 471 | , [this] (const RoomMessageEvent& e) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 472 | // clang-format on | ~~~~~~~~~~~~~~~~~~ 473 | using namespace MessageEventContent; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 474 | | 475 | if (e.hasTextContent() && e.mimeType().name() != "text/plain") { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 476 | // Naïvely assume that it's HTML | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 477 | auto htmlBody = | ~~~~~~~~~~~~~~~ 478 | static_cast(e.content())->body; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 479 | auto [cleanHtml, errorPos, errorString] = | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 480 | HtmlFilter::fromMatrixHtml(htmlBody, m_currentRoom); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 481 | // If HTML is bad (or it's not HTML at all), fall back | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 482 | // to returning the prettified plain text | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 483 | if (errorPos != -1) { | ~~~~~~~~~~~~~~~~~~~~~ 484 | cleanHtml = m_currentRoom->prettyPrint(e.plainBody()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 485 | // A manhole to visualise HTML errors | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 486 | if (settings.get("Debug/html")) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 487 | cleanHtml += | ~~~~~~~~~~~~ 488 | QStringLiteral("
" | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 489 | "At pos %1: %2") | ~~~~~~~~~~~~~~~~~~~~~~~ 490 | .arg(QString::number(errorPos), errorString); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 491 | } | ~ 492 | return cleanHtml; | ~~~~~~~~~~~~~~~~~ 493 | } | ~ 494 | if (e.hasFileContent()) { | ~~~~~~~~~~~~~~~~~~~~~~~~~ 495 | auto fileCaption = | ~~~~~~~~~~~~~~~~~~ 496 | e.content()->fileInfo()->originalName.toHtmlEscaped(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 497 | if (fileCaption.isEmpty()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 498 | fileCaption = m_currentRoom->prettyPrint(e.plainBody()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 499 | return !fileCaption.isEmpty() ? fileCaption : tr("a file"); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 500 | } | ~ 501 | return m_currentRoom->prettyPrint(e.plainBody()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 502 | // clang-format off | ~~~~~~~~~~~~~~~~~~~ 503 | } | ~ 504 | , [this] (const RoomMemberEvent& e) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 505 | // clang-format on | ~~~~~~~~~~~~~~~~~~ 506 | // FIXME: Rewind to the name that was at the time of this event | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 507 | const auto subjectName = | ~~~~~~~~~~~~~~~~~~~~~~~~ 508 | m_currentRoom->safeMemberName(e.userId()).toHtmlEscaped(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 509 | // The below code assumes senderName output in AuthorRole | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 510 | switch( e.membership() ) | ~~~~~~~~~~~~~~~~~~~~~~~~ 511 | { | ~ 512 | case Membership::Invite: | ~~~~~~~~~~~~~~~~~~~~~~~~ 513 | case Membership::Join: { | ~~~~~~~~~~~~~~~~~~~~~~~~ 514 | QString text {}; | ~~~~~~~~~~~~~~~~ 515 | // Part 1: invites and joins | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 516 | if (e.membership() == Membership::Invite) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 517 | text = tr("invited %1 to the room") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 518 | .arg(subjectName); | ~~~~~~~~~~~~~~~~~~ 519 | else if (e.changesMembership()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 520 | text = tr("joined the room"); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 521 | | 522 | if (!text.isEmpty()) { | ~~~~~~~~~~~~~~~~~~~~~~ 523 | if (e.repeatsState()) | ~~~~~~~~~~~~~~~~~~~~~ 524 | text += ' ' | ~~~~~~~~~~~ 525 | //: State event that doesn't change the state | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 526 | % tr("(repeated)"); | ~~~~~~~~~~~~~~~~~~~ 527 | if (!e.reason().isEmpty()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 528 | text += ": " + e.reason().toHtmlEscaped(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 529 | return text; | ~~~~~~~~~~~~ 530 | } | ~ 531 | | 532 | // Part 2: profile changes of joined members | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 533 | if (e.isRename() | ~~~~~~~~~~~~~~~~ 534 | && settings.get("UI/show_rename", true)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 535 | const auto& newDisplayName = | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 536 | e.newDisplayName().value_or(QString()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 537 | if (newDisplayName.isEmpty()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 538 | text = tr("cleared the display name"); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 539 | else | ~~~~ 540 | text = tr("changed the display name to %1") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 541 | .arg(newDisplayName.toHtmlEscaped()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 542 | } | ~ 543 | if (e.isAvatarUpdate() | ~~~~~~~~~~~~~~~~~~~~~~ 544 | && settings.get("UI/show_avatar_update", true)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 545 | if (!text.isEmpty()) | ~~~~~~~~~~~~~~~~~~~~ 546 | //: Joiner for member profile updates; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 547 | //: mind the leading and trailing spaces! | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 548 | text += tr(" and "); | ~~~~~~~~~~~~~~~~~~~~ 549 | text += !e.newAvatarUrl() | ~~~~~~~~~~~~~~~~~~~~~~~~~ 550 | || e.newAvatarUrl()->isEmpty() | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 551 | ? tr("cleared the avatar") | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 552 | : tr("updated the avatar"); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 553 | } | ~ 554 | return text; | ~~~~~~~~~~~~ 555 | } | ~ 556 | case Membership::Leave: | ~~~~~~~~~~~~~~~~~~~~~~~ 557 | if (e.prevContent() && | ~~~~~~~~~~~~~~~~~~~~~~ 558 | e.prevContent()->membership == Membership::Invite) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 559 | { | ~ 560 | return (e.senderId() != e.userId()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 561 | ? tr("withdrew %1's invitation").arg(subjectName) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 562 | : tr("rejected the invitation"); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 563 | } | ~ 564 | | 565 | if (e.prevContent() && | ~~~~~~~~~~~~~~~~~~~~~~ 566 | e.prevContent()->membership == Membership::Ban) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 567 | { | ~ 568 | return (e.senderId() != e.userId()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 569 | ? tr("unbanned %1").arg(subjectName) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 570 | : tr("self-unbanned"); | ~~~~~~~~~~~~~~~~~~~~~~ 571 | } | ~ 572 | return (e.senderId() != e.userId()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 573 | ? e.reason().isEmpty() | ~~~~~~~~~~~~~~~~~~~~~~ 574 | ? tr("kicked %1 from the room") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 575 | .arg(subjectName) | ~~~~~~~~~~~~~~~~~ 576 | : tr("kicked %1 from the room: %2") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 577 | .arg(subjectName, | ~~~~~~~~~~~~~~~~~ 578 | e.reason().toHtmlEscaped()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 579 | : tr("left the room"); | ~~~~~~~~~~~~~~~~~~~~~~ 580 | case Membership::Ban: | ~~~~~~~~~~~~~~~~~~~~~ 581 | return (e.senderId() != e.userId()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 582 | ? e.reason().isEmpty() | ~~~~~~~~~~~~~~~~~~~~~~ 583 | ? tr("banned %1 from the room") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 584 | .arg(subjectName) | ~~~~~~~~~~~~~~~~~ 585 | : tr("banned %1 from the room: %2") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 586 | .arg(subjectName, | ~~~~~~~~~~~~~~~~~ 587 | e.reason().toHtmlEscaped()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 588 | : tr("self-banned from the room"); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 589 | case Membership::Knock: | ~~~~~~~~~~~~~~~~~~~~~~~ 590 | return tr("knocked"); | ~~~~~~~~~~~~~~~~~~~~~ 591 | default: | ~~~~~~~~ 592 | ; | ~ 593 | } | ~ 594 | return tr("made something unknown"); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 595 | // clang-format off | ~~~~~~~~~~~~~~~~~~~ 596 | } | ~ 597 | , [] (const RoomCanonicalAliasEvent& e) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 598 | return (e.alias().isEmpty()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 599 | ? tr("cleared the room main alias") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 600 | : tr("set the room main alias to: %1").arg(e.alias()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 601 | } | ~ 602 | , [] (const RoomNameEvent& e) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 603 | return (e.name().isEmpty()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 604 | ? tr("cleared the room name") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 605 | : tr("set the room name to: %1") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 606 | .arg(e.name().toHtmlEscaped()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 607 | } | ~ 608 | , [this] (const RoomTopicEvent& e) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 609 | return (e.topic().isEmpty()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 610 | ? tr("cleared the topic") | ~~~~~~~~~~~~~~~~~~~~~~~~~ 611 | : tr("set the topic to: %1") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 612 | .arg(m_currentRoom->prettyPrint(e.topic())); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 613 | } | ~ 614 | , [] (const RoomAvatarEvent&) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 615 | return tr("changed the room avatar"); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 616 | } | ~ 617 | , [] (const EncryptionEvent&) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 618 | return tr("activated End-to-End Encryption"); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 619 | } | ~ 620 | , [] (const RoomCreateEvent& e) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 621 | return (e.isUpgrade() | ~~~~~~~~~~~~~~~~~~~~~ 622 | ? tr("upgraded the room to version %1") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 623 | : tr("created the room, version %1") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 624 | ).arg(e.version().isEmpty() | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 625 | ? "1" : e.version().toHtmlEscaped()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 626 | } | ~ 627 | , [] (const RoomTombstoneEvent& e) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 628 | return tr("upgraded the room: %1") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 629 | .arg(e.serverMessage().toHtmlEscaped()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 630 | } | ~ 631 | , [] (const StateEventBase& e) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 632 | // A small hack for state events from TWIM bot | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 633 | return e.stateKey() == "twim" | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 634 | ? tr("updated the database", "TWIM bot updated the database") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 635 | : e.stateKey().isEmpty() | ~~~~~~~~~~~~~~~~~~~~~~~~ 636 | ? tr("updated %1 state", "%1 - Matrix event type") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 637 | .arg(e.matrixType()) | ~~~~~~~~~~~~~~~~~~~~ 638 | : tr("updated %1 state for %2", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 639 | "%1 - Matrix event type, %2 - state key") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 640 | .arg(e.matrixType(), e.stateKey().toHtmlEscaped()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 641 | } | ~ 642 | , tr("Unknown event") | ~~~~~~~~~~~~~~~~~~~~~ 643 | ); | ~ In file included from /usr/include/Quotient/events/accountdataevents.h:6, from /usr/include/Quotient/connection.h:15, from /usr/include/Quotient/room.h:12: /usr/include/Quotient/events/event.h:626:13: note: declared here 626 | inline auto visit(const BaseT& event, FnTs&&... fns) | ^~~~~ /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.cpp:712:48: warning: 'static QString Quotient::EventTypeRegistry::getMatrixType(Quotient::event_type_t)' is deprecated: event_type_t is a string since libQuotient 0.7, use it directly instead [-Wdeprecated-declarations] 712 | return EventTypeRegistry::getMatrixType(evt.type()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ /usr/include/Quotient/events/event.h:56:20: note: declared here 56 | static QString getMatrixType(event_type_t typeId); | ^~~~~~~~~~~~~ /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.cpp:823:48: warning: 'using StateEventBase = class Quotient::StateEvent' is deprecated: StateEventBase is StateEvent now [-Wdeprecated-declarations] 823 | && static_cast(evt).repeatsState() | ^ /usr/include/Quotient/events/stateevent.h:47:7: note: declared here 47 | using StateEventBase | ^~~~~~~~~~~~~~ /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.cpp:858:72: warning: 'static constexpr auto Quotient::EventRelation::Annotation()' is deprecated: Use AnnotationType variable instead [-Wdeprecated-declarations] 858 | m_currentRoom->relatedEvents(evt, EventRelation::Annotation()); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/include/Quotient/events/roommessageevent.h:9, from /usr/include/Quotient/room.h:22: /usr/include/Quotient/events/eventrelation.h:40:27: note: declared here 40 | static constexpr auto Annotation() { return AnnotationType; } | ^~~~~~~~~~ /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.cpp: In lambda function: /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.cpp:863:72: warning: 'Quotient::EventRelation Quotient::ReactionEvent::relation() const' is deprecated: Use eventId(), key(), or content().value instead [-Wdeprecated-declarations] 863 | return r.key == e->relation().key; | ~~~~~~~~~~~^~ In file included from /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.cpp:39: /usr/include/Quotient/events/reactionevent.h:32:19: note: declared here 32 | EventRelation relation() const { return content().value; } | ^~~~~~~~ /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.cpp: In member function 'virtual QVariant MessageEventModel::data(const QModelIndex&, int) const': /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.cpp:866:73: warning: 'Quotient::EventRelation Quotient::ReactionEvent::relation() const' is deprecated: Use eventId(), key(), or content().value instead [-Wdeprecated-declarations] 866 | rIt = reactions.insert(reactions.end(), {e->relation().key}); | ~~~~~~~~~~~^~ /usr/include/Quotient/events/reactionevent.h:32:19: note: declared here 32 | EventRelation relation() const { return content().value; } | ^~~~~~~~ /home/buildozer/aports/community/quaternion/src/Quaternion-3c5ca954296dce0d1e4db3f3467697a83598270c/client/models/messageeventmodel.cpp:918:21: warning: 'auto Quotient::visit(const BaseT&, FnTs&& ...) [with BaseT = RoomEvent; FnTs = {MessageEventModel::data(const QModelIndex&, int) const::, MessageEventModel::data(const QModelIndex&, int) const::}]' is deprecated: The new name for visit() is switchOnType() [-Wdeprecated-declarations] 918 | return visit( | ~~~~~^ 919 | evt, [](const RoomCreateEvent& e) { return e.predecessor().roomId; }, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 920 | [](const RoomTombstoneEvent& e) { return e.successorRoomId(); }); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/Quotient/events/event.h:626:13: note: declared here 626 | inline auto visit(const BaseT& event, FnTs&&... fns) | ^~~~~ [100%] Linking CXX executable quaternion [100%] Built target quaternion >>> quaternion: Entering fakeroot... -- Install configuration: "None" -- Installing: /home/buildozer/aports/community/quaternion/pkg/quaternion/usr/bin/quaternion -- Installing: /home/buildozer/aports/community/quaternion/pkg/quaternion/usr/share/applications/com.github.quaternion.desktop -- Installing: /home/buildozer/aports/community/quaternion/pkg/quaternion/usr/share/metainfo/com.github.quaternion.appdata.xml -- Installing: /home/buildozer/aports/community/quaternion/pkg/quaternion/usr/share/icons/hicolor/128x128/apps/quaternion.png -- Installing: /home/buildozer/aports/community/quaternion/pkg/quaternion/usr/share/icons/hicolor/16x16/apps/quaternion.png -- Installing: /home/buildozer/aports/community/quaternion/pkg/quaternion/usr/share/icons/hicolor/22x22/apps/quaternion.png -- Installing: /home/buildozer/aports/community/quaternion/pkg/quaternion/usr/share/icons/hicolor/32x32/apps/quaternion.png -- Installing: /home/buildozer/aports/community/quaternion/pkg/quaternion/usr/share/icons/hicolor/48x48/apps/quaternion.png -- Installing: /home/buildozer/aports/community/quaternion/pkg/quaternion/usr/share/icons/hicolor/64x64/apps/quaternion.png -- Installing: /home/buildozer/aports/community/quaternion/pkg/quaternion/usr/share/icons/hicolor/scalable/apps/quaternion.svg >>> quaternion*: Running postcheck for quaternion >>> quaternion*: Preparing package quaternion... >>> quaternion*: Stripping binaries >>> quaternion*: Scanning shared objects >>> quaternion*: Tracing dependencies... qt5-qtquickcontrols so:libQt5Core.so.5 so:libQt5Gui.so.5 so:libQt5Network.so.5 so:libQt5Qml.so.5 so:libQt5Quick.so.5 so:libQt5QuickControls2.so.5 so:libQt5QuickWidgets.so.5 so:libQt5Widgets.so.5 so:libQuotient.so.0.7 so:libc.musl-armv7.so.1 so:libgcc_s.so.1 so:libqt5keychain.so.1 so:libstdc++.so.6 >>> quaternion*: Package size: 796.0 KB >>> quaternion*: Compressing data... >>> quaternion*: Create checksum... >>> quaternion*: Create quaternion-0.0.95.1_git20221221-r1.apk >>> quaternion: Build complete at Sat, 13 May 2023 07:04:31 +0000 elapsed time 0h 0m 25s >>> quaternion: Cleaning up srcdir >>> quaternion: Cleaning up pkgdir >>> quaternion: Uninstalling dependencies... (1/15) Purging .makedepends-quaternion (20230513.070408) (2/15) Purging qt5-qtquickcontrols (5.15.9_git20230323-r1) (3/15) Purging libquotient-dev (0.7.2-r2) (4/15) Purging olm-dev (3.2.15-r0) (5/15) Purging libquotient (0.7.2-r2) (6/15) Purging libsecret-dev (0.20.5-r3) (7/15) Purging libsecret (0.20.5-r3) (8/15) Purging qtkeychain-dev (0.14.0-r0) (9/15) Purging qt5-qtkeychain (0.14.0-r0) (10/15) Purging qt6-qtkeychain (0.14.0-r0) (11/15) Purging qt5-qtmultimedia-dev (5.15.9_git20230407-r1) (12/15) Purging olm (3.2.15-r0) (13/15) Purging qt6-qtbase (6.5.0-r4) (14/15) Purging double-conversion (3.2.1-r1) (15/15) Purging libb2 (0.98.1-r2) Executing busybox-1.36.0-r9.trigger OK: 1807 MiB in 495 packages >>> quaternion: Updating the community/armv7 repository index... >>> quaternion: Signing the index...