laurent22 / joplin

Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.
https://joplinapp.org
Other
45.31k stars 4.93k forks source link

Right-click context menu in Joplin (desktop version) is shown in wrong place on touch screen devices #9235

Open tomasz1986 opened 10 months ago

tomasz1986 commented 10 months ago

Environment

Joplin version: 2.12.19 Platform: Windows OS specifics: Windows 10 x64

Steps to reproduce

In order to reproduce, you need to have a touch screen device running a desktop operating system (e.g. Windows, Linux, etc.). The problem doesn't affect mouse, touch pad, and other similar input methods. Also, this isn't a new issue, as I've had this problem since basically forever.

  1. Long press on a note to trigger the right-click menu.

image

Describe what you expected to happen

The right-click context menu should be displayed next to the clicked element.

Logfile

Console log

consolelog.txt

Logfile

2023-11-07 16:52:05: App: "Profile directory: Joplin/data"
2023-11-07 16:52:05: App: "Root profile directory: Joplin/data"
2023-11-07 16:52:05: "Database was open successfully"
2023-11-07 16:52:05: "Checking for database schema update..."
2023-11-07 16:52:05: "Current database version", "{"version":43,"table_fields_version":43}"
2023-11-07 16:52:05: "Upgrading database from version 43"
2023-11-07 16:52:05: "New version: 43. Previously recorded version: 43"
2023-11-07 16:52:05: "KeychainService: checking if keychain supported"
2023-11-07 16:52:05: "KeychainService: check was already done - skipping. Supported:", "1"
2023-11-07 16:52:05: e2ee/utils: "Master password is not set - trying to get it from the active master key..."
2023-11-07 16:52:05: handleSyncStartupOperation: "Processing operation:", "0"
2023-11-07 16:52:05: App: "Client ID: 4189c3dc580c4c8e918643efa93c60d2"
2023-11-07 16:52:05: models/Setting: "Applying default migrations..."
2023-11-07 16:52:05: e2ee/utils: "Trying to load 0 master keys..."
2023-11-07 16:52:05: e2ee/utils: "Loaded master keys: 0"
2023-11-07 16:52:05: "ResourceFetcher: Auto-add resources: Mode: always"
2023-11-07 16:52:05: "ResourceFetcher: Auto-added resources: 0"
2023-11-07 16:52:05: App: ""syncInfoCache" was changed - setting up encryption related code"
2023-11-07 16:52:05: e2ee/utils: "Trying to load 0 master keys..."
2023-11-07 16:52:05: e2ee/utils: "Loaded master keys: 0"
2023-11-07 16:52:05: "Scheduling sync operation...", "10000"
2023-11-07 16:52:05: "Setting up recurrent sync with interval 300"
2023-11-07 16:52:05: App: ""syncInfoCache" was changed - setting up encryption related code"
2023-11-07 16:52:05: e2ee/utils: "Trying to load 0 master keys..."
2023-11-07 16:52:05: e2ee/utils: "Loaded master keys: 0"
2023-11-07 16:52:05: "Scheduling sync operation...", "10000"
2023-11-07 16:52:05: App: ""syncInfoCache" was changed - setting up encryption related code"
2023-11-07 16:52:05: e2ee/utils: "Trying to load 0 master keys..."
2023-11-07 16:52:05: e2ee/utils: "Loaded master keys: 0"
2023-11-07 16:52:05: "Scheduling sync operation...", "10000"
2023-11-07 16:52:05: "app.start: doing regular boot"
2023-11-07 16:52:05: App: "Refreshing notes:", "null", "null"
2023-11-07 16:52:05: App: ""syncInfoCache" was changed - setting up encryption related code"
2023-11-07 16:52:05: e2ee/utils: "Trying to load 0 master keys..."
2023-11-07 16:52:05: e2ee/utils: "Loaded master keys: 0"
2023-11-07 16:52:05: "Scheduling sync operation...", "10000"
2023-11-07 16:52:05: "Setting up recurrent sync with interval 300"
2023-11-07 16:52:05: App: ""syncInfoCache" was changed - setting up encryption related code"
2023-11-07 16:52:05: e2ee/utils: "Trying to load 0 master keys..."
2023-11-07 16:52:05: e2ee/utils: "Loaded master keys: 0"
2023-11-07 16:52:05: "Scheduling sync operation...", "10000"
2023-11-07 16:52:05: App: ""syncInfoCache" was changed - setting up encryption related code"
2023-11-07 16:52:05: e2ee/utils: "Trying to load 0 master keys..."
2023-11-07 16:52:05: e2ee/utils: "Loaded master keys: 0"
2023-11-07 16:52:05: "Scheduling sync operation...", "10000"
2023-11-07 16:52:05: "Scheduling sync operation...", "1000"
2023-11-07 16:52:05: RevisionService: "runInBackground: Starting background service with revision collection interval 600000"
2023-11-07 16:52:05: App: "Refreshing notes:", "2", "9576d43da21c4ec080f8624e7269e525"
2023-11-07 16:52:05: defaultPluginsUtils: "Could not find default plugins' directory: Joplin\tmp\app\resources\build\defaultPlugins - skipping installation."
2023-11-07 16:52:05: SpellCheckerServiceDriverNative: "Set effective languages to "en-US""
2023-11-07 16:52:06: "DecryptionWorker: cannot start because no master key is currently loaded."
2023-11-07 16:52:06: "Preparing scheduled sync"
2023-11-07 16:52:06: "Sync cancelled - no sync target is selected."
2023-11-07 16:52:06: "Updating all notifications..."
2023-11-07 16:52:06: "Garbage collecting alarms..."
2023-11-07 16:52:07: "Loading existing note", "390d58a551ac4d059afeb81725390e84"
2023-11-07 16:52:07: "Loaded note:", "{"id":"390d58a551ac4d059afeb81725390e84","parent_id":"9576d43da21c4ec080f8624e7269e525","title":"1. Welcome to Joplin!","body":"# Welcome to Joplin!\n\nJoplin is a free, open source note taking and to-do application, which helps you write and organise your notes, and synchronise them between your devices. The notes are searchable, can be copied, tagged and modified either from the application directly or from your own text editor. The notes are in [Markdown format](https://joplinapp.org/help/#markdown). Joplin is available as a **desktop**, **mobile** and **terminal** application.\n\nThe notes in this notebook give an overview of what Joplin can do and how to use it. In general, the three applications share roughly the same functionalities; any differences will be clearly indicated.\n\n![](:/b935af98555d4aae8e2bdd7fbf8d1778)\n\n## Joplin is divided into three parts\n\nJoplin has three main columns:\n\n- **Sidebar** contains the list of your notebooks and tags, as well as the synchronisation status.\n\n- **Note List** contains the current list of notes - either the notes in the currently selected notebook, the notes in the currently selected tag, or search results.\n\n- **Note Editor** is the place where you write your notes. There is a **Rich Text editor** and a **Markdown editor** - click on the **Toggle editor** button in the top right hand corner to switch between both! You may also use an [external editor](https://joplinapp.org/help/#external-text-editor) to edit notes. For example you can use Typora as an external editor and it will display the note as well as any embedded images.\n\n## Writing notes in Markdown\n\nMarkdown is a lightweight markup language with plain text formatting syntax. Joplin supports a [Github-flavoured Markdown syntax](https://joplinapp.org/markdown/) with a few variations and additions.\n\nIn general, while Markdown is a markup language, it is meant to be human readable, even without being rendered. This is a simple example (you can see how it looks in the viewer panel):\n\n* * *\n\n# Heading\n\n## Sub-heading\n\nParagraphs are separated by a blank line. Text attributes _italic_, **bold** and `monospace` are supported. You can create bullet lists:\n\n* apples\n* oranges\n* pears\n\nOr numbered lists:\n\n1. wash\n2. rinse\n3. repeat\n\nThis is a [link](https://joplinapp.org) and, finally, below is a horizontal rule:\n\n* * *\n\nA lot more is possible including adding code samples, math formulae or checkbox lists - see the [Markdown documentation](https://joplinapp.org/help/#markdown) for more information.\n\n## Organising your notes\n\n### With notebooks\n\nJoplin notes are organised into a tree of notebooks and sub-notebooks.\n\n- On **desktop**, you can create a notebook by clicking on New Notebook, then you can drag and drop them into other notebooks to organise them as you wish.\n- On **mobile**, press the \"+\" icon and select \"New notebook\".\n- On **terminal**, press `:mn`\n\n![](:/f07db69e744142deae4e18f2747af5a1)\n\n### With tags\n\nThe second way to organise your notes is using tags:\n\n- On **desktop**, right-click on any note in the Note List, and select \"Edit tags\". You can then add the tags, separating them by commas.\n- On **mobile**, open the note and press the \"⋮\" button and select \"Tags\".\n- On **terminal**, type `:help tag` for the available commands.\n","created_time":1699372051545,"updated_time":1699372051545,"is_conflict":0,"latitude":"0.00000000","longitude":"0.00000000","altitude":"0.0000","author":"","source_url":"","is_todo":0,"todo_due":0,"todo_completed":0,"source":"joplin-desktop","source_application":"net.cozic.joplin-desktop","application_data":"","order":1699372051545,"user_created_time":1699372051545,"user_updated_time":1699372051545,"encryption_cipher_text":"","encryption_applied":0,"markup_language":1,"is_shared":0,"share_id":"","conflict_original_id":"","master_key_id":"","user_data":"","type_":1}"
2023-11-07 16:52:07: models/Setting: "Saving settings..."
2023-11-07 16:52:08: "DecryptionWorker: cannot start because no master key is currently loaded."
2023-11-07 16:52:09: models/Setting: "Saving settings..."
2023-11-07 16:52:10: RevisionService: "maintenance: Starting..."
2023-11-07 16:52:10: RevisionService: "maintenance: Service is enabled"
2023-11-07 16:52:10: models/Setting: "Settings have been saved."
2023-11-07 16:52:10: models/Setting: "Settings have been saved."
2023-11-07 16:52:10: RevisionService: "collectRevisions: Created revisions for 0 notes"
2023-11-07 16:52:10: RevisionService: "maintenance: Done in 112ms"
2023-11-07 16:52:10: checkForUpdates: "Starting..."
2023-11-07 16:52:10: checkForUpdates: "Checking with options {"includePreReleases":false}"
2023-11-07 16:52:11: checkForUpdates: "Current version: 2.12.19"
2023-11-07 16:52:11: checkForUpdates: "Latest version: 2.12.19"
2023-11-07 16:52:11: checkForUpdates: "Is Pre-release:", "false"
2023-11-07 16:52:11: checkForUpdates: "Done."
2023-11-07 16:52:15: "SearchEngine: Updating FTS table..."
2023-11-07 16:52:15: "SearchEngine: Updated FTS table in 3ms. Inserted: 0. Deleted: 0"
2023-11-07 16:52:35: "ResourceService::indexNoteResources: Start"
2023-11-07 16:52:35: "ResourceService::indexNoteResources: Completed"
2023-11-07 16:52:35: "ResourceService::deleteOrphanResources:", "[]"
personalizedrefrigerator commented 10 months ago

I can reproduce this on Windows 11, but not Ubuntu 23.10.

The right-click menu seems to be shown at the last location of the mouse pointer.

tomasz1986 commented 10 months ago

The right-click menu seems to be shown at the last location of the mouse pointer.

Good catch! I can confirm this after connecting a mouse and triggering the menu using long press. Not sure how the location is determined when there is no mouse connected at all though.

github-actions[bot] commented 9 months ago

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? If you require support or are requesting an enhancement or feature then please create a topic on the Joplin forum. This issue may be closed if no further activity occurs. You may comment on the issue and I will leave it open. Thank you for your contributions.

github-actions[bot] commented 8 months ago

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? If you require support or are requesting an enhancement or feature then please create a topic on the Joplin forum. This issue may be closed if no further activity occurs. You may comment on the issue and I will leave it open. Thank you for your contributions.

github-actions[bot] commented 7 months ago

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? If you require support or are requesting an enhancement or feature then please create a topic on the Joplin forum. This issue may be closed if no further activity occurs. You may comment on the issue and I will leave it open. Thank you for your contributions.