Skip to content

Version 2.2#63

Merged
bordaigorl merged 65 commits into
vncfrom
devel
Sep 9, 2021
Merged

Version 2.2#63
bordaigorl merged 65 commits into
vncfrom
devel

Conversation

@bordaigorl

@bordaigorl bordaigorl commented Apr 8, 2021

Copy link
Copy Markdown
Owner

New features:

  • Forwarding of pointer events (see Feature/input emulation #40)
  • Optional SSH tunneling
  • Autorotation option
  • Pointer tracker show delay option
  • Reuse already running VNC server instances
  • Support for RM2 v2.6

Blocking on:

  • VNC server needs to generate proximity events to avoid unwanted palm rejection to be fooled (see Feature/input emulation #40)
  • VNC server needs to avoid using libcrypto to resolve incompatibility with v2.6

bordaigorl and others added 30 commits January 29, 2021 21:50
- Refactoring to allow calling protocol methods in fbworker
- Adding Pause/Resume
- Forwarding keys and pointer events (shift -> pen, clicks -> touch)
- "auto_on_load" detects orientation once at startup
- "auto" detects orientation at each update

Todo: make detection more reliable
On some platforms there's an unwanted border otherwise.
This should be preffered approach when connecting to remarkable over
(W)LAN for security reasons.
run() method.

Loading system hosts can easily take 10+ seconds and doing it inside the
constructor and not inside run() which runs in a thread pool will block
the app and make the main Window freeze since it blocks main qt event
loop from running.
@bordaigorl

bordaigorl commented Apr 8, 2021

Copy link
Copy Markdown
Owner Author

@idnovic I spotted a mistake (fixed in c7b5469) but I doubt that is the reason for your issue.
Can you run rmview -v and produce the log?
Have you reinstalled the package using pip install ".[tunnel]"?
Tunnelling seems to be working fine for me...
Would also help to know your OS and RM1/RM2+version.

@idnovic

idnovic commented Apr 9, 2021

Copy link
Copy Markdown
[INFO] STARTING: Fri Apr  9 14:53:57 2021
[INFO] Searching configuration in rmview.json, /Users/idnovic/Library/Preferences/rmview.json
[DEBUG] Configuration failure in rmview.json: [Errno 2] No such file or directory: 'rmview.json'
[INFO] Fetching configuration from /Users/idnovic/Library/Preferences/rmview.json
[DEBUG] Config values: {'ssh': {'address': '10.124.0.15', 'auth_method': 'password', 'username': 'root', 'password': '********'}, 'orientation': 'portrait', 'pen_size': 15, 'pen_color': 'red', 'pen_trail': 200, 'tunnel': True}
[INFO] Using known hosts file: /Users/idnovic/Library/Preferences/rmview_known_hosts
[INFO] Loaded known hosts from /Users/idnovic/Library/Preferences/rmview_known_hosts
[INFO] Connecting...
[INFO] Connected to 10.124.0.15
[DEBUG] Stopping connection worker
[INFO] Starting VNC server (command=$HOME/rM-vnc-server-standalone)
[INFO] Start command stdout output: 09/04/2021 12:54:06 Listening for VNC connections on TCP port 5900
[INFO] Establishing connection to remote VNC server on 10.124.0.15:5900
[WARNING] Disconnected: Connection was closed cleanly.
[DEBUG] Stopping framebuffer thread...
[INFO] Disconnecting from VNC server...
[INFO] Stopping VNC server...
[DEBUG] Framebuffer thread stopped
[INFO] QUITTING: Fri Apr  9 14:54:14 2021
[INFO] Establishing connection to remote VNC server on 10.124.0.15:5900
[WARNING] Disconnected: Connection was closed cleanly.

The connection is never established.
Everything above is over wifi.

@idnovic

idnovic commented Apr 9, 2021

Copy link
Copy Markdown

yes I reinstalled the newest dev branch with tunnel support.
I am using macOS 11.2.3 and testet with an reMarkable 2 with version 2.6.2.75. I am also using the newest version of reMarkable Tweaks

@bordaigorl

bordaigorl commented Apr 9, 2021

Copy link
Copy Markdown
Owner Author

@idnovic The tunnel setting needs to be part of the ssh section!
Also, if you are on wifi, 10.124.0.15 is not the address you want to be using...

@idnovic

idnovic commented Apr 9, 2021

Copy link
Copy Markdown

@idnovic The tunnel setting needs to be part of the ssh section!
Also, if you are on wifi, 10.124.0.15 is not the address you want to be using...

Thank you. It does work now.
I had the configuration wrong.

Can you add a configuration checker?
The syntax was correct but I had one option at the wrong location.

About the ip address. We have a large network. And it is part of the private ip address space.

@stheid

stheid commented Apr 9, 2021

Copy link
Copy Markdown

a config checker would be a very interesting idea. i would be very interested in programming something like that i am just currently a bit out with the codebase...

Perhaps one could create a yaml based schema file that could be used to validate the config.

@bordaigorl

Copy link
Copy Markdown
Owner Author

I think the easiest and most useful feature missing for the config is a settings dialog...
The UI would be easy to set up; the thing that may require refactoring is applying the changes to the config on the fly.
PRs in this direction would be welcome.
The first thing I would do is create an object encapsulating the config, maybe with signals to notify of changes.

@stheid

stheid commented Apr 10, 2021

Copy link
Copy Markdown

yeah, a settings UI would be best, however thats clearly more involved. FYI: https://python-jsonschema.readthedocs.io/en/stable/

@Kami

Kami commented Apr 16, 2021

Copy link
Copy Markdown
Contributor

Yeah, something like json schema + additionalProperties: false would probably work fine.

In case we only want to support recent Python 3 version, we could also use something like pydantic (https://pydantic-docs.helpmanual.io/) which utilizes native type hints syntax.

@bordaigorl bordaigorl merged commit 4d80057 into vnc Sep 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants