OpenAdaptAI / OpenAdapt

Open Source Generative Process Automation (i.e. Generative RPA). AI-First Process Automation with Large ([Language (LLMs) / Action (LAMs) / Multimodal (LMMs)] / Visual Language (VLMs)) Models
https://www.OpenAdapt.AI
MIT License
880 stars 115 forks source link

Support multiple monitors #766

Open abrichr opened 3 months ago

abrichr commented 3 months ago

Feature request

We would like to support multiple monitors.

User @Alphadev on Discord reports no screenshots in python -m openadapt.visualize on https://github.com/OpenAdaptAI/OpenAdapt/pull/763:

image

This involves identifying where support needs to be added. e.g.:

Motivation

https://github.com/OpenAdaptAI/OpenAdapt/issues/583

We would like to support configurations as similar as possible to a typical office worker's machine.

abrichr commented 3 months ago

/bounty $100

algora-pbc[bot] commented 3 months ago

💎 $100 bounty • OpenAdaptAI

Steps to solve:

  1. Start working: Comment /attempt #766 with your implementation plan
  2. Submit work: Create a pull request including /claim #766 in the PR body to claim the bounty
  3. Receive payment: 100% of the bounty is received 2-5 days post-reward. Make sure you are eligible for payouts

Thank you for contributing to OpenAdaptAI/OpenAdapt!

Add a bountyShare on socials

Attempt Started (GMT+0) Solution
🟢 @Amanullah1002 Jun 17, 2024, 5:53:14 PM #769
🟢 @onyedikachi-david Jun 18, 2024, 11:10:55 AM #792
Amanullah1002 commented 3 months ago

/attempt #766 I will alter the method to support multiple monitors of different width and heights.

algora-pbc[bot] commented 3 months ago

💡 @Amanullah1002 submitted a pull request that claims the bounty. You can visit your bounty board to reward.

abrichr commented 3 months ago

Please note this involves:

  • Run python -m openadapt.visualize and taking some screenshots of the visualization containing more than one monitor, and submit these with your PR
  • Implement one or more tests
abhishek818 commented 3 months ago

@abrichr can you help with the below error:

(.venv) gitpod /workspace/OpenAdapt (main) $ python -m openadapt.record "testing out openadapt"
Traceback (most recent call last):
  File "/home/gitpod/.pyenv/versions/3.10.12/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/gitpod/.pyenv/versions/3.10.12/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/workspace/OpenAdapt/openadapt/record.py", line 28, in <module>
    from openadapt.models import Recording
  File "/workspace/OpenAdapt/openadapt/models.py", line 16, in <module>
    from openadapt import window
  File "/workspace/OpenAdapt/openadapt/window/__init__.py", line 17, in <module>
    from . import _windows as impl
  File "/workspace/OpenAdapt/openadapt/window/_windows.py", line 55, in <module>
    active_window: pywinauto.application.WindowSpecification,
AttributeError: module 'pywinauto' has no attribute 'application'
abrichr commented 3 months ago

Hi @abhishek818 , thank you for reporting this error! Can you please post the output of git status?

I haven't seen this one, but I don't use Windows. @KIRA009 any suggestions? 🙏

abhishek818 commented 3 months ago

@abrichr I have no changes done, I was trying to get started and setup openadapt first. I mean git status is empty.

abhishek818 commented 3 months ago

alrighty, seems the issue is with my use of gitpod instance (linux based) on a windows machine. (I use gitpod for code development). Interesting!

onyedikachi-david commented 3 months ago

/attempt #769

Algora profile Completed bounties Tech Active attempts Options
@onyedikachi-david 2 bounties from 1 project
JavaScript, Shell
﹟764
Cancel attempt
onyedikachi-david commented 3 months ago

@abrichr Screenshot 2024-06-18 at 12 07 22

I get this error:

sqlite3.OperationalError: no such column: recording.original_recording_id` when i run: `python -m openadapt.app.visualize

this error also:

File "/Users/onyedikachi/Library/Caches/pypoetry/virtualenvs/openadapt-hlnjL-LM-py3.10/lib/python3.10/site-packages/sqlalchemy/engine/reflection.py", line 789, in reflect_table
    raise exc.NoSuchTableError(table_name)
sqlalchemy.exc.NoSuchTableError: input_even,

when i run:

cd openadapt && alembic upgrade head && cd ..
KIRA009 commented 3 months ago

Hi @onyedikachi-david is this on a fresh install?

onyedikachi-david commented 3 months ago

Yes @KIRA009

KIRA009 commented 3 months ago

@onyedikachi-david Thanks for reporting this. Have you followed all the steps mentioned in https://github.com/OpenAdaptAI/OpenAdapt?tab=readme-ov-file#manual-setup? Were there any errors during those steps? From the error in the image, it looks like something could have gone wrong in the database migration steps. Could you drop the database and try the migration step again cd openadapt && alembic upgrade head && cd ../

onyedikachi-david commented 3 months ago

Yes I followed the steps, I'll drop the database and give you feedback.

onyedikachi-david commented 3 months ago

Alembic error The error still persist... Was a migration file deleted? @KIRA009

KIRA009 commented 3 months ago

@onyedikachi-david It does seem so, your database is lacking some tables, could you check what commit you are on?

onyedikachi-david commented 3 months ago

@KIRA009 This is the commit I am on: git log -1

commit 835bb171bc89bccf67397515ff5eb0b257c528bd (HEAD -> main, tag: v0.33.2, origin/main, origin/HEAD)
Author: OpenAdapt Bot <bot@openadapt.ai>
Date:   Sat Jun 15 16:01:14 2024 +0000

    0.33.2

    Automatically generated by python-semantic-release
abrichr commented 3 months ago

I suggest a fresh git clone. Please try following the manual setup instructions exactly: https://github.com/OpenAdaptAI/OpenAdapt?tab=readme-ov-file#manual-setup

onyedikachi-david commented 3 months ago

Thank you @abrichr, just did that and more: deleted poetry cache, venv. Yet the error somehow still shows up. :)

onyedikachi-david commented 3 months ago

just did a workaround. @abrichr. And it works.

algora-pbc[bot] commented 3 months ago

💡 @onyedikachi-david submitted a pull request that claims the bounty. You can visit your bounty board to reward.

abrichr commented 3 months ago

@onyedikachi-david what was the workaround?

onyedikachi-david commented 3 months ago

@onyedikachi-david what was the workaround?

I initially tried tracing the migration file that was causing the error by downloading(see screen shot) the alembic versions folder of each repo version tag that added db migrations, namely; v0.60, v0.16.1...; I noticed that at v0.26.0, up to 5 migration version were pushed, and that was where the error started, other versions did not error, when i ran alembic upgrade head. Not wanting to go through all the 5 db migrations, I decided to generate an SQL query from the models.py file, ran the query to create the db and that was it. I was now able to run python -m openadapt.app.dashboard.run command and others without the missing db column error. Screenshot 2024-06-22 at 23 09 59