UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login
    1. Home
    2. ChromiumOS-Guy
    C
    Offline
    • Profile
    • Following 0
    • Followers 2
    • Topics 1
    • Posts 36
    • Groups 0

    ChromiumOS-Guy

    @ChromiumOS-Guy

    31
    Reputation
    12
    Profile views
    36
    Posts
    2
    Followers
    0
    Following
    Joined
    Last Online

    ChromiumOS-Guy Unfollow Follow

    Best posts made by ChromiumOS-Guy

    • uWolf (LibreWolf)

      Introduction to the uWolf thread.

      This thread is dedicated to discussing the uWolf LibreWolf wrapper, where you can ask questions, help with development, and receive updates on the project.

      Due to many bugs LANDSCAPE is officially unsupported.

      Useful Links

      • The uWolf project is hosted on GitHub and can be found here.
      • The latest stable release is available on Open Store.
        OpenStore

      Buy Me A Coffie:

      support my ongoing opensource projects, including uWolf here: https://buymeacoffee.com/chromiumos.guy
      you have my heartfelt thanks for the donations I received, It means a lot to me and I'm flattered people trust me to this degree.

      ANNOUNCEMENT:

      this project is not dead, I'm just waiting on another device from Ebay so I can begin developing for Noble, I am ditching Focal as soon as I can in favor of Noble as you can easily install the patches needed to get the browser to work in Wayland with all the goodies like hardware acceleration.

      I will Include an automated installer for any patch needed, they mostly do very minor things but be aware this browser will be patch dependent until said patches are merged upstream. (Refer HERE for explanation)

      Development Log (DEVLOG)

      Release: v0.10.31

      STATUS: Released on Github

      • Librewolf version update: now v141.0.2-1

      Release: v0.10.30

      STATUS: Released on Openstore

      • Generalized path to drm: generalized the path from /sys/class/drm/card0-DSI-1/modes to /sys/class/drm/*/modes as well as made sure the old virtual framebuffer system is used as fallback, which will fix the crashing problem on specific devices.

      Release: v0.10.29

      STATUS: Released on GitHub

      • Fixed is_tablet() Function: The function now utilizes the device-info shell command instead of directly reading YAML files. This enhancement improves reliability and bypasses the fact that AppArmor is blocking access to the YAML files and makes the function break.

      • Resolved Profile Change Crash: A significant issue that caused uWolf to crash when writing changes to the profile has been addressed. Although this problem was previously fixed, it required additional confirmation, which is now included in this version to eliminate confusion. The crash was traced back to unusual behavior stemming from the use of both Wayland at the start to obtain screen size with QML and qmlscene before switching to XWayland for the actual application. If this process takes too long, the system loses context and terminates the app. Consequently, if we update the Chrome in the profile, the delay can lead the system to mistakenly believe the app has halted, resulting in a crash.

      • Fallback Scaling Method: The old scaling method, which employed Qt grid units and the environment variable $GRID_UNIT_PX, is now implemented as a fallback. This adjustment aims to prevent crashes on devices that do not support the getprop handle for DPI, ensuring a smoother user experience even in scenarios where DPI scaling fails.

      Release: v0.9.27

      STATUS: Released on Openstore

      • URL Bar Fix: The URL bar now hides correctly when entering fullscreen mode.
      • Tab Bar Fix: Resolved THE issue where the tab bar was interfering with the OSK overlay, by compensating for it. (the one where the overlay overshoots)
      • Keyboard Info Gathering Refactor: The method for gathering keyboard information has been completely refactored. The previous reliance on QML has been replaced with a more efficient Python implementation, streamlining the process.
      • Scaling Adjustment: Transitioned from grid units (Qt) to DPI-based scaling, providing a consistent experience across different devices.
      • Word Ribbon Support Addition: The OSK overlay now supports the word ribbon feature, accommodating the height of the OSK keyboard with or without it.
      • OSK Overlay CSS Refactor: The CSS for the OSK overlay has undergone a complete refactoring, finally ensuring good-ish positioning.
      • Usage Mode Fix: Corrected the is_usage_mode_staged() function, which previously defaulted to Staged mode incorrectly.

      Release: v0.7.23

      STATUS: Released on Openstore

      • Librewolf version update: now v141.0-1

      Release: v0.7.21

      STATUS: Released on Openstore

      • Fixed FP4 Scaling Issues: The scaling issue was resolved by capping the maximum scaling at 2.4 and the minimum at 0.7.
      • Fixed Tab Bar Issues in Landscape Mode: The tab bar was rewritten to dynamically adjust margins based on screen percentage instead of using fixed values.

      Release: v0.7.18

      STATUS: Released on GitHub

      • Librewolf version update: now v140.0.2-1,
        note: updating to this version seems to fix addon button killing OSK.

      Release: v0.7.17

      STATUS: Released on Openstore

      • OSK Overlay Improvement: Enhanced OSK overlay height calculations to reduce overshoot, resulting in a more accurate and user-friendly experience.

      Release: v0.7.16

      STATUS: Released on GitHub

      • XUI Improvement: Simplified UI changes have been implemented, significantly enhancing the overall XUI experience. Although settings cannot be accessed while in landscape mode, this change mitigates previous issues. Additionally, addon management is now available, and the bookmark button (star) has been reinstated.
      • Location Feature: A location policy has been added, providing uWolf with access to location services.

      Release: v0.7.15

      STATUS: Released on Openstore

      • Search Engine Fix: actual solution implemented as suggested by MrOtherGuy here for the Issue here, no more database Injection.
      • Librewolf version update: now v139.0.4-1

      due to little change in overall architecture no flowchart is provided, for up to date flowcharts visit the github repository.

      Release: v0.7.14

      STATUS: Released on GitHub

      • Simplified OSK Hide Mechanism: This release patches osk_config_trigger.uc.js to improve the responsiveness of hiding the OSK overlay while browsing, making it feel less bloated. The change came from shifting focus to the end-user experience and identifying what triggers the OSK to hide.

      Release: v0.7.13

      STATUS: Released on GitHub

      • Search Engine Fix: Alternative Solution: Although the underlying issue persists, I've implemented a workaround by injecting a pre-populated database containing search engine data. This approach circumvents the need for manual configuration, effectively masking the problem. It's essential to note that this is not a bug on my end, but rather a compatibility issue between LibreWolf and fx-autoconfig. I've opened an issue here for those interested in resolving the root cause.
      • Enhanced OSK Hide Mechanism: The On-Screen Keyboard (OSK) hide mechanism has been refined to dynamically respond to URL changes. For instance, when searching on a search engine, the OSK overlay will now automatically hide, eliminating the previous awkward behavior that required manual intervention.

      For those interested in the technical details of the database injection and to address the security concerns raised by @domubpkm, I've included a flowchart that illustrates the management of the LibreWolf profile. This should provide a clear understanding of the process and help alleviate any concerns.

      profile_init_architecture.png

      Release: v0.7.11

      STATUS: Released on github
      Significant updates have been made in the release:

      • OSK Dynamic Reactions: The browser detection mechanisms have been replaced with a more robust approach, utilizing a Dbus monitor to listen for OSK focus events. However, this new method has a limitation: the Dbus monitor can only detect when the OSK gains focus, but not when it loses focus. This introduced a challenge in detecting unfocus events, which has been temporarily addressed by implementing a crude solution involving a tinted overlay over the screen. This overlay is active when the OSK overlay is shown, allowing the system to detect when to unfocus.
      • Bug Fix: The is_tablet function, which resulted in many crashes in the v0.6.10, has been fixed.

      For those interested in a more detailed understanding of the new OSK dynamic reactions architecture, a flow chart is provided.

      osk_architecture.png


      If you have any questions or would like to discuss the development of uWolf, please don't hesitate to ask in this thread. Your input and feedback are valuable to the project. Feel free to share your thoughts, suggestions, or concerns, and I'll do my best to address them.

      posted in App Development
      C
      ChromiumOS-Guy
    • RE: snap pop crackle! ....and nix!? The future of crackle

      @Fuseteam first let me say this is awesome, second if you want help I want to contribute to this.
      I used nixos for while before switching to FreeBSD is has been a joy, so I say this with confidence this is finally the point where we can actually use UT as a full on linux distribution, the influx of packages here will be amazing.

      if you don't mind aside from reading up on the code, I will make a UI QML app so end users can just pick and install/uninstall primitive but any UI is better then terminal when walking.

      looking forward to seeing a repo on gitlab.

      posted in General
      C
      ChromiumOS-Guy
    • RE: uWolf (LibreWolf)

      @domubpkm the next step is to wait for Noble, i have somethings i can fix right now
      bit i rather just do one big bug sweep session when switching to wayland.

      as soon as the transition to noble happens i can automatically make the phone install the subsurface patch (until it goes to upstream) and then i can run wayland which means a host of bugs will be gone but i already know some stuff breaks (and my workarounds for the xwayland bugs) so i will probably need to do a refactor of the entire app so i might as well do everything in one big concentrated push.

      edit:
      other then that?, really only cleaning up the UI mostly.
      i can't really do anything else, though i am toying with the idea of making another startup script to mimic webapp-container so webapps can use this (they'll need to be unconfined)
      also finding a way to make uWolf the default browser, after the switch to wayland it should be a lot more usable so it stands to reason people will want to be able to make it open links.

      posted in App Development
      C
      ChromiumOS-Guy
    • RE: uWolf (LibreWolf)

      @domubpkm There is a security issue, but it's relatively minor and manageable. The problem lies in JavaScript files with privileged execution that can access browser internals and read files on the host. However, the risk is mitigated by the fact that:

      • Librewolf stores sessions in cache, so malicious code would only execute in the next session (after restart)
      • The sensitive files are re-read and replaced every time a session is launched, making it difficult for changes to persist
      • The time window for tampering with the files is small (between verification of the Chrome folder and Librewolf launch)

      To further reduce the risk, encryption and obfuscation of the sensitive files could be implemented, but this would make it harder for me (the developer) to test and debug code. The issue will be addressed once the more significant problems are resolved.

      It's worth noting that Librewolf is considered a secure browser, and the privileged code execution is heavily sandboxed, preventing access to web content among other things. While this issue could potentially be exploited to steal data, the overall security of the browser is still robust, and any other security problems would likely originate from the Librewolf/Firefox source code itself.

      posted in App Development
      C
      ChromiumOS-Guy
    • RE: Spotify in uWolf

      @AmauryDBZ Hi, developer of uWolf here, on a side note the UI is not modified (in the screenshot) for mobile so this has to be either v0.2.3 which doesn't make any sense or its not loading.
      if you could provide me the startup log of the app I would be grateful.

      for the spotify problem, disable the extensions first uBlock-Origin and Decentraleyes( which is a tracker blocker).
      not to mention LibreWolf by default stops cookies which breaks some sites so you can try to change the security settings and add spotify to the exception rules.

      posted in General
      C
      ChromiumOS-Guy
    • RE: uWolf (LibreWolf)

      @domubpkm try to reinstall v0.10.30 i patched it it should work now.

      posted in App Development
      C
      ChromiumOS-Guy
    • RE: snap pop crackle! ....and nix!? The future of crackle

      @Fuseteam and I are working on making this a plugin, I just finished writing the automation/management of nix or at least the early version of it.

      can find it here.

      posted in General
      C
      ChromiumOS-Guy
    • RE: Firefox from Snap crushed after run.

      @Lakotaubp Done! https://forums.ubports.com/topic/11060/uwolf-librewolf

      posted in App Development
      C
      ChromiumOS-Guy
    • RE: snap pop crackle! ....and nix!? The future of crackle

      @johndoe we are working on a plugin to lomiri system settings like Libertine plugin.

      I already have most things implemented in backend, mostly lack some generation control over nix/home-manager left other then that mainly implementing the main UI, I have a design ready just need to implement it.

      posted in General
      C
      ChromiumOS-Guy
    • RE: uWolf (LibreWolf)

      @domubpkm I'm currently going to do a massive rewrite of UI, this will fully adopt UI to mobile by extensive use of javascript this will also be unstable and take at least a week to do and another to get stable.

      posted in App Development
      C
      ChromiumOS-Guy

    Latest posts made by ChromiumOS-Guy

    • RE: uWolf (LibreWolf)

      @domubpkm can you give me the log from the logviewer app?
      also dmesg | grep DENIED and dmesg | grep uwolf

      posted in App Development
      C
      ChromiumOS-Guy
    • RE: Spotify in uWolf

      @AmauryDBZ as in still not showing chrome?

      try running: gsettings get com.lomiri.Shell usage-mode
      I'm thinking you're device has an edge case which makes the is_usage_mode_staged() make a false negative, this command is what's responsible for toggling the custom UI (after all you don't need it with a screen/keyboard connected).
      essentially this is the code for deciding if its using stages or window mode:

      if usage_mode == r"'Staged'" or usage_mode == None: # check if staged, fallback if nothing was outputed to most likely.
          return True
      return False # if check fails then its not Staged
      

      point is I'm suspecting the output is not 'Staged' in text (including the ' ')

      posted in General
      C
      ChromiumOS-Guy
    • RE: Spotify in uWolf

      @AmauryDBZ url about:support , there should be a big button named clear startup cache.

      posted in General
      C
      ChromiumOS-Guy
    • RE: uWolf (LibreWolf)

      @domubpkm indeed, I am currently trying to up the security by trying to make app confinement work if nothing else it will make it clear to the user what exactly am I accessing because I will still need some special permissions but this will become much more secure.

      you can test the experimental confinement here, this has the same functionality as v0.10.30

      posted in App Development
      C
      ChromiumOS-Guy
    • RE: uWolf (LibreWolf)

      @domubpkm the goal was bring it to usable state before the switch to Noble
      it is as close as possible more optimization while possible is unlikely to happen, at most I will fix bugs until I make a proper Beta version for Noble.

      in Noble i can use ubports-qa to install the needed MR's to get wayland working so i can actually get the browser to be usable as I don't consider it usable right now on low-spec phones like my own phone.

      posted in App Development
      C
      ChromiumOS-Guy
    • RE: Spotify in uWolf

      @AmauryDBZ theres a new update, just in case try to upgrade to it if you haven't already.

      if that doesn't work please try going here: about:support and clear startup cache.

      posted in General
      C
      ChromiumOS-Guy
    • RE: uWolf (LibreWolf)

      @domubpkm try to reinstall v0.10.30 i patched it it should work now.

      posted in App Development
      C
      ChromiumOS-Guy
    • RE: uWolf (LibreWolf)

      @domubpkm yeah idk how or why you use a virtual framebuffer that means no hardware acceleration in most cases,
      try running the command

      cat /sys/class/graphics/*/modes
      fbset -s
      

      if this gives you a list of resolutions tell me, I'll implement reading this as a fallback.

      also not related but because you use a virtual framebuffer you could potentially hack together a way to have nightlight.

      posted in App Development
      C
      ChromiumOS-Guy
    • RE: uWolf (LibreWolf)

      @domubpkm can you search around a bit and see if you can find these:

      phablet@ubuntu-phablet:~$ ls /sys/class/drm
      card0  card0-DSI-1  renderD128  sde-crtc-0  version
      

      I need access to card0 so i can see resolution size of the screen.
      its probably somewhere in a different directory, if you can find it I would appreciate it if not I'll figure out another solution.

      ls /sys/*/*/*/modes
      

      check this out, if its simply renamed then this should return something.

      posted in App Development
      C
      ChromiumOS-Guy
    • RE: uWolf (LibreWolf)

      @domubpkm okay can you run this in shell:

      cat /sys/class/drm/*/modes | awk -F 'x' '{print $2}' | sort -nu | tail -n 1
      

      also just this in general so i can see if theres different syntax here

      cat /sys/class/drm/*/modes 
      
      posted in App Development
      C
      ChromiumOS-Guy