🐈
» Forums » Freelancers » Make upwork desktop workload tracking availab...
Page options
ac57ebfc
Community Member

Make upwork desktop workload tracking available to wayland

Hi

I recently encountered a problem, I updated the operating system desktop environment to a custom desktop environment with a pure window manager, I use Hyprland, I experience and like the window manager based on wayland, but, even if I can solve it including flame screenshots Screenshots in most cases (using a custom grim adapter for non-dbus protocols), I still need to write a temporary dbus adapter to solve the screencasting problem of upwork, luckily, it is very simple, and just a small python Adapter, available as a compatible solution for upwork, here is the original author's link:

 

**Edited for Community Guidelines**

 

The original author is speculated to be a freelancer. Its script can be seen that its environment is sway, and I am hyprland, so I deleted part of the code of sway and pushed a PR. The branch is:

 

**Edited for Community Guidelines**

 

I hope that the official can support wayland's native screen capture program as soon as possible, or provide a general screen capture adapter for function entry to call grim, so as to realize the general wayland screen capture function. In this way, redundancy and bad dbus protocol communication can be used to solve the problem (of course, we have to admit that the dbus protocol does solve many communication problems between programs, but when there is a better solution, we can not use dbus at all), Also freelancers don't need to write external dbus adapters for their needs - even if it is very simple

ACCEPTED SOLUTION

Hi Ouyang,

 

Thank you for clarifying. As mentioned we don't support this at the moment, only the abovementioned. Should there be any update, we'll update here in the Community.


~ AJ
Upwork

View solution in original post

25 REPLIES 25
759e32fa
Moderator
Moderator

Hi Ouyang,

 

Hi Ouyang,

 

Thank you for your feedback. I'll share this with the team for review and should there be any changes, we will surely post an update here in the Community.

 

At the moment, we only officially support the latest two versions of Google Chrome, Microsoft Edge, Mozilla Firefox and Apple Safari; and the OS we support are Mac, Windows and Linux.


~ AJ
Upwork

I am talking about the Upwork Desktop APP. For wayland users, it requires the user to write an additional dbus screen capture adapter, otherwise the screen capture cannot be normally performed in the working hours tracking

 

Can't carry links here? It may help users in need - an adapter

Hi Ouyang,

 

Thank you for clarifying. As mentioned we don't support this at the moment, only the abovementioned. Should there be any update, we'll update here in the Community.


~ AJ
Upwork

Yes, I just wanted to say that wayland users can use an external grim interface based upwork screenshot adapter to temporarily work around this functionality (it uses the DBUS interface to grim screenshot component for conversion)

Hello!
Any updates on this issue? It makes Upwork tracked unusable for a lot of software engeniers who use Wayland based desktop environemnts. This issue is critical.
Thre are tools like github.com/DrSh4dow/upwork-wlroots-bridge which allow to bridge input events and screenshot, but as I understand it's a custom script and it may violate your polcies, right?

In fact, it doesn't seem to work now, I have been using OBS instead of upwork's screen capture function - as long as the customer agrees, you can use any method to track the screen

Let me check out this rust program, don't know if it's useful, but honestly, I can use OBS to record even without this

It would be great if the official can officially support wayland

I didn't try the rust program, I know that MarSoft/upwork-wayland works on last version of Wayland from arch repos. I don't understand why there is no native support for Wayland, at least Upwork can simply bundle the script I've mentioned to their tracker, it's 100 lines of python code. 
 The big problem with running any 3rd party scripts is that they do not comply with Upwork's terms and conditions. Upwork either need to add support for Wayland or update T&C to allow usage of script which add support of Upwork on unsupported platforms. I don't think that closing this support ticket is a right descision.

I agree with you, I think upwork should consider supporting the screenshot protocol of wlroots

I have been using OBS as a replacement for screenshot tracking, which is usually fine, but I need to inform customers that I am using wayland's hyprland, and look forward to upwork supporting wlroots' wayland as soon as possible

Hi Annie Jane B!

 

Are there any news to update application to support Wayland?

stuardo
Community Member

I'm not following.

I've just installed Debian 12 + KDE Plasma, and I've just made a clean installation of the Upwork tracking app. It previusly worked for me in Ubuntu/Gnome, but now in Debian 12+KDE Plasma + Wayland, I'm getting the "failed to take screenshot" error.
I clonned the MarSoft/upwork-wayland waybar branch, but now I don't know how to use it. I tried running both the Upwork app and the python script at the same time, but nothing changes.

Please advice.

You need to make sure that the environment on which you run the script has the same value of environemnt variable

DBUS_SESSION_BUS_ADDRESS

as the Upwork does. But again, I don't think this script is a solution and I don't recommend you to use it as it violates Upwork's T&C, I personally don't use it. I think the fix of this issue for Wayland desktop environemnts must be taken from the Upwork side.

For you case, I belive it's possible to switch KDE to X11 and with X11 screenshots are working 

I managed to have solved it for KDE/Wayland.

 

Copy the .desktop file to a location you can edit: `cp /usr/share/applications/upwork.desktop ~/.local/share/applications`

 

Edit it and add the following line to the end: `X-KDE-DBUS-Restricted-Interfaces=org.kde.kwin.Screenshot`

 

The fact that Upwork to this day still hasn't managed to make this work speaks volumes about how much they care about the Linux version.

@Stephane, I can confirm the X-KDE-DBUS flag works.

 

The only tiny inconvenient now is that KDE now notifies when the screenshot was taken. It is a tiny distraction, but I'm now able to use Wayland instead of X11.

ac57ebfc
Community Member

I guess it affects most wlroots screenshots. Because its screenshot protocol is not supported

Oh my god, thank you so much for this workaround! Screenshots are capturing on KDE Wayland now. However, is there a way to prevent it from taking screenshots of both my screens? It just looks wonky and super tiny when both screens are captured. In X11, there is an Upwork setting to limit capture to the primary monitor, but it isn't there when running in Wayland.

Thank you very much!  It's really works . You saved me!

Unfortunately this isn't working for me in Plasma 6 (Fedora 40).

 

e60a3ad0
Community Member

Hi!
I updated solution which was working with grim but does not now 🙂

You can use this one on Wayland (it works on Fedora 38).

The tool just make screenshot of whole display ( I did not change it for window, area because don't need it)

 

https://github.com/ousatov-ua/upwork-wayland

 

Just create sh file that runs script in background (can be added just to autostart)
Credits to https://github.com/MarSoft

skidnik
Community Member

Hello.

Your tracker application is using Electron framework. Currently you're using a Gnome custom shorthand for making screenshots, which was provided by Gnome team because there was no universal solution on Wayland yet at the time. Recent versions of Chromium and Electron have added screen sharing support through xdg-desktop-portal, which is meant to be a universal wayland protocol for screen sharing and is already supported by many environments including Gnome, KDE, and Sway based ones. Please update the tracker app to use this solution. X11 is not developed any more and is to be rapleced by Wayland on all common Linux desktop environments, so you'll have to implement this anyways if you plan to continue supporting Linux.

ac57ebfc
Community Member

For WM using wlroot, it may be necessary to use Grim's external adapter protocol. We look forward to an official resolution

stuardo
Community Member

@Illia, with your knowledge, is there anyway to fix this on user's end before Upwork releases any official update?

skidnik
Community Member

Running the script from Oleksii U's repository enables the tracker app to obtain screenshots in environments where flameshot can take screenshots.

Latest Articles
Top Upvoted Members