Bug 33563 - nheko is not able to download any attachment
Summary: nheko is not able to download any attachment
Status: NEW
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 9
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: All Packagers
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-09-16 23:35 CEST by papoteur
Modified: 2025-03-13 17:40 CET (History)
1 user (show)

See Also:
Source RPM: nheko-0.11.3
CVE:
Status comment:


Attachments
nheko.spec for 0.12.0 (3.78 KB, text/plain)
2024-09-18 18:33 CEST, papoteur
Details
patch to requires Qt 6.4 instead of 6.5 (1.09 KB, application/mbox)
2024-09-18 18:34 CEST, papoteur
Details
Revised spec (4.92 KB, text/plain)
2024-09-19 20:46 CEST, katnatek
Details

Description papoteur 2024-09-16 23:35:19 CEST
All servers do not allow anymore loading attachments without authentication, since 4th September, 2024. This feature is present in nheko only in 0.12.0 release.
Running from command line, we see lot of:
 [net] [error] Failed to download matrix.org/TZxxLpxhVqgmuSVSyarTCQQB: (http: 404, matrix: M_NOT_FOUND:'Not found')
Comment 1 katnatek 2024-09-17 00:49:19 CEST
I really not like this protocol
Looks sensible to changes of desktop/device because sometimes I can't read conversations done from other device/desktop, and as long as I don't use element in my phone look like I can't really verify the login as even I follow the steps to validate, always says is not validated

We can't update to new nheko for mageia 9 because bug#33324 comment#26
Comment 2 papoteur 2024-09-17 09:25:19 CEST
(In reply to katnatek from comment #1)
> 
> We can't update to new nheko for mageia 9 because bug#33324 comment#26
I'm not so categorical.
I'm trying to build nheko 0.12.0 with mock.
I have to backport:
qtlockedfile (new)
qtsingleapplication (adding qt6)
qtkeychain (adding qt6)
kdsingleapplication (adding qt6)
mtxclient 0.10.0

I have also edited CMakeList.txt of nheko to claim only Qt 6.4
It fails with this:

CMake Error at /usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:584 (add_executable):
  Cannot find source file:

    /usr/lib64/metatypes/qt6svg_relwithdebinfo_metatypes.json

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm .h
  .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .hip .ispc
Call Stack (most recent call first):
  /usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:548 (_qt_internal_create_executable)
  /usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:711 (qt6_add_executable)
  CMakeLists.txt:683 (qt_add_executable)

This seems to be a problem between Qt6Core and Qt6Svg, what I did not touch.
Comment 3 papoteur 2024-09-17 09:46:34 CEST
Adding David who can have some ideas.

CC: (none) => geiger.david68210

Comment 4 Lewis Smith 2024-09-17 21:56:04 CEST
Thank you contributors.
I do not think Bugsquad can do more than pass this on to devs (effectively already done) with the helpful comments already made.

Assignee: bugsquad => pkg-bugs

Comment 5 katnatek 2024-09-18 00:57:23 CEST
(In reply to papoteur from comment #2)
> (In reply to katnatek from comment #1)
> > 
> > We can't update to new nheko for mageia 9 because bug#33324 comment#26
> I'm not so categorical.
> I'm trying to build nheko 0.12.0 with mock.
> I have to backport:
> qtlockedfile (new)
> qtsingleapplication (adding qt6)
> qtkeychain (adding qt6)
> kdsingleapplication (adding qt6)
> mtxclient 0.10.0
> 
> I have also edited CMakeList.txt of nheko to claim only Qt 6.4
> It fails with this:
> 
> CMake Error at /usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:584
> (add_executable):
>   Cannot find source file:
> 
>     /usr/lib64/metatypes/qt6svg_relwithdebinfo_metatypes.json

Looks like you need cmake(qt6svgwidgets)
Comment 6 papoteur 2024-09-18 09:33:54 CEST
(In reply to katnatek from comment #5)
> Looks like you need cmake(qt6svgwidgets)
Yes, good catch !

I go further.

DelegateChooser.cpp.o -c /builddir/build/BUILD/nheko-0.12.0/src/timeline/EventDelegateChooser.cpp
/builddir/build/BUILD/nheko-0.12.0/src/timeline/EventDelegateChooser.cpp: In member function 'virtual void EventDelegateChooser::DelegateIncubator::setInitialState(QObject*)':
/builddir/build/BUILD/nheko-0.12.0/src/timeline/EventDelegateChooser.cpp:113:20: error: 'RequiredPropertyKey' was not declared in this scope; did you mean 'RequiredProperties'?
  113 |     QHash<QString, RequiredPropertyKey> requiredProperties;
      |                    ^~~~~~~~~~~~~~~~~~~
      |                    RequiredProperties
/builddir/build/BUILD/nheko-0.12.0/src/timeline/EventDelegateChooser.cpp:113:39: error: template argument 2 is invalid
  113 |     QHash<QString, RequiredPropertyKey> requiredProperties;
      |                                       ^
/builddir/build/BUILD/nheko-0.12.0/src/timeline/EventDelegateChooser.cpp:115:63: error: base operand of '->' has non-pointer type 'RequiredProperties'
  115 |          QQmlIncubatorPrivate::get(this)->requiredProperties()->asKeyValueRange()) {
      |                                                               ^~
/builddir/build/BUILD/nheko-0.12.0/src/timeline/EventDelegateChooser.cpp:116:28: error: request for member 'insert' in 'requiredProperties', which is of non-class type 'int'
  116 |         requiredProperties.insert(prop.propertyName, propKey);
      |                            ^~~~~~
/builddir/build/BUILD/nheko-0.12.0/src/timeline/EventDelegateChooser.cpp:125:55: error: request for member 'contains' in 'requiredProperties', which is of non-class type 'int'
  125 |         if (!prop.isRequired() && !requiredProperties.contains(prop.name()))
      |                                                       ^~~~~~~~
/builddir/build/BUILD/nheko-0.12.0/src/timeline/EventDelegateChooser.cpp:157:50: error: request for member 'find' in 'requiredProperties', which is of non-class type 'int'
  157 |         if (const auto &req = requiredProperties.find(roleName); req != requiredProperties.end())
      |                                                  ^~~~
/builddir/build/BUILD/nheko-0.12.0/src/timeline/EventDelegateChooser.cpp:157:92: error: request for member 'end' in 'requiredProperties', which is of non-class type 'int'
  157 |         if (const auto &req = requiredProperties.find(roleName); req != requiredProperties.end())
      |                                                                                            ^~~
/builddir/build/BUILD/nheko-0.12.0/src/timeline/EventDelegateChooser.cpp:158:66: error: base operand of '->' has non-pointer type 'RequiredProperties'
  158 |             QQmlIncubatorPrivate::get(this)->requiredProperties()->remove(*req);
      |                                                                  ^~


The comment before the line in error refers to a workaround of https://bugreports.qt.io/browse/QTBUG-98846 and uses private functions. Was these functions not present/different in Qt 6.4?
Comment 7 katnatek 2024-09-18 18:25:46 CEST
If you share here spec and patch(es) I try to help
Comment 8 papoteur 2024-09-18 18:33:10 CEST
Created attachment 14664 [details]
nheko.spec for 0.12.0
Comment 9 papoteur 2024-09-18 18:34:17 CEST
Created attachment 14665 [details]
patch to requires Qt 6.4 instead of 6.5
Comment 10 papoteur 2024-09-18 18:37:26 CEST
I have first the backports cited in  comment 5
With mock, use --install with the RPMs list, then --no-clean for the last build.
katnatek 2024-09-18 22:07:20 CEST

See Also: (none) => https://bugs.mageia.org/show_bug.cgi?id=33324

Comment 11 katnatek 2024-09-19 20:46:28 CEST
Created attachment 14668 [details]
Revised spec

I detect missing build requires and look in other sites, but
not work I think that really need more recent qt6 stack including new qt6multimedia package that create gstreamer for qt6 apps
Comment 12 katnatek 2025-03-13 17:40:06 CET
We close this?

Note You need to log in before you can comment on or make changes to this bug.