Author Topic: Dooble releases-Qt6  (Read 21111 times)

Remy

  • Hero Member
  • *****
  • Posts: 765
  • Karma: +12/-1
    • View Profile
Re: Dooble releases-Qt6
« Reply #60 on: August 27, 2024, 03:34:16 pm »
Now under QT6.2.9 (one more nice build) with its 6.2.6 webengine + Latest Dave's Dooble build.

- Problem about window title taken from the website title could have invalid chars (e.g. duckduckgo.com link) - no invalid chars under QT5
- whatsimybrowser no more shows unknown for OS2 and shows all values set under setting but....
- Whatsapp link always complains and request to use chrome above 60 !  (this message disapears under QT5 when changing chrome from 84 to 62 under setting.


       

Remy

  • Hero Member
  • *****
  • Posts: 765
  • Karma: +12/-1
    • View Profile
Re: Dooble releases-Qt6
« Reply #61 on: August 27, 2024, 04:06:21 pm »
Hi Paul!

I used   https://useragent.wcode.net/en/   user/agent parser to check user agent and It show that it isn't correct.
It display Browser Dooble and Chrome version as Browser engine version !    incorrect.
(under QT5, Browser Chrome and Browser engine version = chrome version = ok)

- I removed the Dooble user/agent from the setting string and than, it displayed  QTwebengine !
- I removed QTwebengine too and now it works, whatsapp start ....

I did a check removing QTwebengine only but not enough to resolve the problem.
To correct user agent detection, have to remove the qtwebengine and dooble from user agent setting (QT5 doesn't have them)

Regards
« Last Edit: August 28, 2024, 12:00:40 pm by Remy »

Remy

  • Hero Member
  • *****
  • Posts: 765
  • Karma: +12/-1
    • View Profile
Re: Dooble releases-Qt6
« Reply #62 on: August 27, 2024, 06:15:29 pm »
Hi !

qtwebengine_dictionaries path hasn't changed under 6.2.9 but !
I have a message about not accessed en_GB.bdic while this file is available, same with all *.bdic     > latest Dooble build

Note: under build 6.2.9, doing a nperf test after running a few seconds (nearly 50% of the full test) receive speed test, dooble closes (crash)
Under QT5, I can run one full run and when starting a run a second time, it works until a system hung
« Last Edit: August 27, 2024, 10:26:32 pm by Remy »

Remy

  • Hero Member
  • *****
  • Posts: 765
  • Karma: +12/-1
    • View Profile
Re: Dooble releases-Qt6
« Reply #63 on: August 27, 2024, 10:25:15 pm »
Other things I found:
Trying to use the google translate option, the processes link is set incorrectly.

Original link:
https://www.os2world.com/cms/

The issued link for google !
https://www-os2world-com.translate.goog//cms/?_x_tr_sl=auto&.........

A duplicate // before cms

Hmm, this did work, see the original posted picture referenced here, https://github.com/textbrowser/dooble/issues/200#issuecomment-1819629660 the picture clearly shows a double // and working.
It is easy enough to remove the / It needs more testing, so here is a test build if you want to put it through its paces.

Hi Dave,
This build corrects the double // for the google translate tool.

But, dictionaries aren't found (canot be accessed *.bdic) and the message when renaming the dictionary path start with:
"Please read K:/work/dooble-dry/source/...." this is your disk path  ;)
Something got wrong into this Dooble build.
Back to previous build, message is correct and after correcting the path name, dictionaries are found

 :)   
 

Remy

  • Hero Member
  • *****
  • Posts: 765
  • Karma: +12/-1
    • View Profile
Re: Dooble releases-Qt6
« Reply #64 on: August 27, 2024, 11:00:47 pm »
Quote
I'm going back from 6.2.9 to 6.2.8 which seems to be better.

Under 6.2.8,  https://web.whatsapp.com  is displayed, than medium cpu load and than the QR code is displayed to authorize whatsapp sync with mobile and conversations can start.
Under 6.2.9,  https://web.whatsapp.com  is displayed, than higher and longer cpu load,  no QR code displayed and ends with a system hung and have to power off/on my tower computer. 

note: into a trap of 6.2.8 build, I found that some loaded dlls were back level !
          I have "Apache OpenOffice quick start", this one loads dll from under Apache OpenOffice sub dir program with its *.dll where some are back  level compared to newest under \usr\lib like (found be used into the trap): LIBCX0.DLL, LIBCN0.DLL while Z1.dll is at same level. 

I give a new try on 6.2.9 after remove of apache quick start from startup and renamed libc*.dll from under apache sub dir to use newest from under \usr\lib 
now,  https://web.whatsapp.com works like under 6.2.8 ! I'll continue to use 6.2.9

List of commun DLLs found under my \usr\lib (ArcaOS 5.1 latest updated package) and those under Apache OpenOffice  (sub dir program)
curl7.dl_
gcc1.dl_
gcc446.dl_
gcc473.dl_
hunspel0.dl_
libcn0.dl_
libcx0.dl_
libxml2.dl_
mmap.dl_
UClip.dl_
z.dl_
z1.dl_
« Last Edit: August 28, 2024, 01:19:12 am by Remy »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5098
  • Karma: +117/-1
    • View Profile
Re: Dooble releases-Qt6
« Reply #65 on: August 28, 2024, 06:01:52 am »
Other things I found:
Trying to use the google translate option, the processes link is set incorrectly.

Original link:
https://www.os2world.com/cms/

The issued link for google !
https://www-os2world-com.translate.goog//cms/?_x_tr_sl=auto&.........

A duplicate // before cms

Hmm, this did work, see the original posted picture referenced here, https://github.com/textbrowser/dooble/issues/200#issuecomment-1819629660 the picture clearly shows a double // and working.
It is easy enough to remove the / It needs more testing, so here is a test build if you want to put it through its paces.

Hi Dave,
This build corrects the double // for the google translate tool.

But, dictionaries aren't found (canot be accessed *.bdic) and the message when renaming the dictionary path start with:
"Please read K:/work/dooble-dry/source/...." this is your disk path  ;)
Something got wrong into this Dooble build.
Back to previous build, message is correct and after correcting the path name, dictionaries are found

 :)   

Did the message say where in the source to read? Quickly looking, I can't find it.
set qtwebengine_dictionaries= does work here with the full path name including drive letter and using / instead of \ for directory separator.

Pete

  • Hero Member
  • *****
  • Posts: 1352
  • Karma: +11/-0
    • View Profile
Re: Dooble releases-Qt6
« Reply #66 on: August 28, 2024, 07:02:08 am »
Hi Dave

Silly question but where to get the dictionaries?


Regards

Pete

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2288
  • Karma: +176/-0
    • View Profile

Remy

  • Hero Member
  • *****
  • Posts: 765
  • Karma: +12/-1
    • View Profile
Re: Dooble releases-Qt6
« Reply #68 on: August 28, 2024, 10:50:53 am »
Other things I found:
Trying to use the google translate option, the processes link is set incorrectly.

Original link:
https://www.os2world.com/cms/

The issued link for google !
https://www-os2world-com.translate.goog//cms/?_x_tr_sl=auto&.........

A duplicate // before cms

Hmm, this did work, see the original posted picture referenced here, https://github.com/textbrowser/dooble/issues/200#issuecomment-1819629660 the picture clearly shows a double // and working.
It is easy enough to remove the / It needs more testing, so here is a test build if you want to put it through its paces.

Hi Dave,
This build corrects the double // for the google translate tool.

But, dictionaries aren't found (canot be accessed *.bdic) and the message when renaming the dictionary path start with:
"Please read K:/work/dooble-dry/source/...." this is your disk path  ;)
Something got wrong into this Dooble build.
Back to previous build, message is correct and after correcting the path name, dictionaries are found

 :)   

Did the message say where in the source to read? Quickly looking, I can't find it.
set qtwebengine_dictionaries= does work here with the full path name including drive letter and using / instead of \ for directory separator.

Here are screenshots taken with the very latest dooble (with corrected //) and the previous one.
Taken in both following cases.   
- I renamed the dictionaries path to have it unavailable
- Correct dictionaries path with included dictionaries

Dooble QT6 - with corrected google translate slash, missing dictionaries path.jpg
Dooble QT6 - with corrected google translate slash, dictionaries path exist.jpg
Dooble QT6 - with missing dictionaries path.jpg
Dooble QT6 - with the correct dictionaries path.jpg

note: I just switched between both Dooble under same start path.
 
« Last Edit: August 28, 2024, 11:01:38 am by Remy »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2288
  • Karma: +176/-0
    • View Profile
Re: Dooble releases-Qt6
« Reply #69 on: August 28, 2024, 10:52:16 am »
I did a check removing QTwebengine only but not enough to resolve the problem.
To correct user agent detection, have to remove the qtwebengine and dooble from user agent setting (QT5 doesn't have them)

FWIW - dooble on Ubuntu behaves the same way with https://web.whatsapp.com/ - seems to be a whatsapp bug with how they interpret the useragent.

Remy

  • Hero Member
  • *****
  • Posts: 765
  • Karma: +12/-1
    • View Profile
Re: Dooble releases-Qt6
« Reply #70 on: August 28, 2024, 12:00:08 pm »
I did a check removing QTwebengine only but not enough to resolve the problem.
To correct user agent detection, have to remove the qtwebengine and dooble from user agent setting (QT5 doesn't have them)

FWIW - dooble on Ubuntu behaves the same way with https://web.whatsapp.com/ - seems to be a whatsapp bug with how they interpret the useragent.

I don't know,
Found other sites wrongly identifying browser and its version with this settings

I have a bypass, remove qtwebengine and dooble user agents from the line

Added how it is seen when changing user agents (Dooble isn't supported by whatsapp while Chome is)
« Last Edit: August 28, 2024, 12:19:03 pm by Remy »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5098
  • Karma: +117/-1
    • View Profile
Re: Dooble releases-Qt6
« Reply #71 on: August 28, 2024, 05:06:30 pm »
Hi Remy, seems there's been a patch applied upstream that broke the dictionary search, notice the 2 versions refer to different addresses. Looking quickly with git blame, all I found was a commit that created better error reporting.
Later I'll bisect the tree to try to find the commit that broke things.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5098
  • Karma: +117/-1
    • View Profile
Re: Dooble releases-Qt6
« Reply #72 on: August 28, 2024, 05:20:06 pm »
Hi David, seems really the dictionaries should be packaged during the build, at least the other day when I built Dooble on Linux Mint, that happened. Not sure if a bug or missing directive in the dooble.pro file.
I do have this howto, from Bitwise? or did I write it and forgot?
Quote
Create x:\qt6\qtwebengine_dictionaries
copy dictionary files such as en_CA.aff and en_CA.dic from @uixroot/usr/share/myspell to the above.
From x:\qt6\qtwebengine_dictionaries, run qwebengine_convert_dict ./en_CA ./en_CA.bdic so something like
Code: [Select]
[L:\qt6\bin\qtwebengine_dictionaries]qwebengine_convert_dict ./en_CA.dic ./en_CA.bdic
./en_CA.dic_delta not found.
Reading ./en_CA.aff
Reading ./en_CA.dic
Serializing...
Verifying...
Writing ./en_CA.bdic
Success. Dictionary converted.

Of course you have to install the language you desire, hunspell-fr for French for example.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5098
  • Karma: +117/-1
    • View Profile
Re: Dooble releases-Qt6
« Reply #73 on: August 28, 2024, 05:57:13 pm »
About UA (User Agent) detection. A lot of sites seem to have crappy UA detection. Ideally they shouldn't even care about the UA, rather detecting browser features and adjusting the page or rejecting the browser based on the detection.
Instead they seem to detect the browser, compare to a list and fail when a browser or Operating System appears that is not in the list. I monitor the SeaMonkey newsgroup and UA's often come up. Which version of Firefox to advertise in SeaMonkey's UA, whether to mention Firefox are common topics. They've even added, in about:settings, the capability to vary the UA depending on site.
I still use SeaMonkey mostly and have the UA switcher extension installed. There are sites where I actually use the Dooble UA string to get the page to display the page.
Basically, using uncommon browsers breaks the UA detection on too many pages, so have to change the UA

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5098
  • Karma: +117/-1
    • View Profile
Re: Dooble releases-Qt6
« Reply #74 on: August 29, 2024, 07:34:05 am »
Here's the commit that broke finding the dictionaries when installed as qtwebengine_dictionaries as a child directory under the directory where the dooble binary resides.
I can't quickly see the problem, have to sleep on it. I do notice that dooble.sh, the Linux wrapper script has  various export QTWEBENGINE_DICTIONARIES_PATH= added. Perhaps we should just do similar rather then getting further from upstream by reverting this commit or otherwise changing things.
Code: [Select]
From 02958934b6771efdebbb9dfdc8d77e3d7018c2c2 Mon Sep 17 00:00:00 2001
From: textbrowser <textbrowser@gmail.com>
Date: Fri, 26 Apr 2024 18:35:35 -0400
Subject: [PATCH] Improved error messages.

---
 Source/dooble_settings.cc | 22 ++++++++++++++--------
 dooble.sh                 |  4 ++++
 2 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/Source/dooble_settings.cc b/Source/dooble_settings.cc
index a84e9f76..0ff17f49 100644
--- a/Source/dooble_settings.cc
+++ b/Source/dooble_settings.cc
@@ -2304,21 +2304,22 @@ void dooble_settings::show_panel(dooble_settings::Panels panel)
 
 void dooble_settings::show_qtwebengine_dictionaries_warning_label(void)
 {
-  m_ui.qtwebengine_dictionaries_warning_label->setText
-    (tr("<b>Warning!</b> "
- "The directory qtwebengine_dictionaries cannot be accessed. "
- "Dooble searched QTWEBENGINE_DICTIONARIES_PATH and the relative "
- "qtwebengine_dictionaries directories. "
- "Please read %1, line %2.").arg(__FILE__).arg(__LINE__));
   m_ui.qtwebengine_dictionaries_warning_label->setVisible(false);
 
   auto bytes(qgetenv("QTWEBENGINE_DICTIONARIES_PATH"));
 
   if(bytes.trimmed().isEmpty())
     {
-      bytes = "qtwebengine_dictionaries";
+      auto directory
+ (QDir::currentPath() + QDir::separator() + "qtwebengine_dictionaries");
 
-      if(!QFileInfo(bytes).isReadable())
+      m_ui.qtwebengine_dictionaries_warning_label->setText
+ (tr("<b>Warning!</b> "
+     "The directory qtwebengine_dictionaries cannot be accessed. "
+     "Dooble searched %1. Please read %2, line %3.").
+ arg(directory).arg(__FILE__).arg(__LINE__));
+
+      if(!QFileInfo(directory).isReadable())
  {
    m_ui.qtwebengine_dictionaries_warning_label->setVisible(true);
    return;
@@ -2326,6 +2327,11 @@ void dooble_settings::show_qtwebengine_dictionaries_warning_label(void)
     }
   else if(!QFileInfo(bytes).isReadable())
     {
+      m_ui.qtwebengine_dictionaries_warning_label->setText
+ (tr("<b>Warning!</b> "
+     "The directory qtwebengine_dictionaries cannot be accessed. "
+     "Dooble searched %1. Please read %2, line %3.").
+ arg(bytes.constData()).arg(__FILE__).arg(__LINE__));
       m_ui.qtwebengine_dictionaries_warning_label->setVisible(true);
       return;
     }
diff --git a/dooble.sh b/dooble.sh
index dd7f8d02..ac5d06a8 100755
--- a/dooble.sh
+++ b/dooble.sh
@@ -28,6 +28,7 @@ export QT_X11_NO_MITSHM=1
 if [ -r ./Dooble ] && [ -x ./Dooble ]
 then
     echo "Launching a local Dooble."
+    export QTWEBENGINE_DICTIONARIES_PATH=qtwebengine_dictionaries
 
     if [ -r ./Lib ]
     then
@@ -46,6 +47,7 @@ then
     echo "Launching an official Dooble."
     export DOOBLE_TRANSLATIONS_PATH=/opt/dooble/Translations
     export LD_LIBRARY_PATH=/opt/dooble/Lib
+    export QTWEBENGINE_DICTIONARIES_PATH=/opt/dooble/qtwebengine_dictionaries
     export QT_PLUGIN_PATH=/opt/dooble/plugins
     cd /opt/dooble && exec ./Dooble "$@"
     exit $?
@@ -54,6 +56,8 @@ then
     echo "Launching an official Dooble."
     export DOOBLE_TRANSLATIONS_PATH=/usr/local/dooble/Translations
     export LD_LIBRARY_PATH=/usr/local/dooble/Lib
+    export QTWEBENGINE_DICTIONARIES_PATH=/usr/local/dooble/\
+    qtwebengine_dictionaries
     export QT_PLUGIN_PATH=/usr/local/dooble/plugins
     cd /usr/local/dooble && exec ./Dooble "$@"
     exit $?
--
2.30.2