Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[I] saved image: text link's filename ending with a . (without a file name extension) #2781

Closed
azurew4r3 opened this issue May 2, 2023 · 6 comments
Labels
Importance: Low Type: Improvement improves existing functionality
Milestone

Comments

@azurew4r3
Copy link

azurew4r3 commented May 2, 2023

Expected behaviour

text link's filename reference matches stored image's filename

text link's filename reference: image-QWERTY
stored image's filename: image-QWERTY
filename listed in Manage Image Files panel: image-QWERTY
files listed as orphaned files: NONE (file is referenced within a note)

filename referenced in the OS File Manager: image-QWERTY

Actual behaviour

text link's filename reference does NOT match stored image's filename

text link's filename reference: image-QWERTY. (note ending dot, source of the issue)
stored image's filename: image-QWERTY
filename listed in Manage Image Files panel: image-QWERTY
files listed as orphaned files: image-QWERTY (file is NOT referenced within a note)

filename referenced in the OS File Manager: image-QWERTY

additionally: this issue does NOT occur when using the web extension "Send page to QOwnNotes" or when attaching an image to a note via the Edit menu

Steps to reproduce

Platform: Windows 10
Browser: Vivaldi

using the QOwnNote Companion Chrome extension
right-click on any web page and select "Create note with screenshot of visible page"
view the new note's text link image reference

this is 100% reproducible for me using PortableApps packages of QOwnNotes versions 23.3.8 thru 23.4.3 as well as portable installations direct from QOwnNotes release versions 23.4.6 thru 23.5.0

two other methods of linking images (mentioned above) succeed (100% reproducible), as those text link references produce filenames with valid extensions

debug-logging has sometimes displayed "[warning] QTextCursor::setPosition .." when reproducing the issue, yet the issue is 100% reproducible, the [warning] is not 100% reproducible

Relevant log output in the Log panel

Expand
[03:05:43] [status] Stored current note to disk
[03:05:43] [warning] QTextCursor::setPosition: Position '135' out of range
[03:05:43] [status] Downloading images finished
[03:05:43] [status] Notes directory was modified externally
[03:05:43] [status] Stored 1 note(s) to disk

Information about the application, settings and environment

Expand

QOwnNotes Debug Information

General Info

Current Date: Tue May 2 04:31:05 2023
Version: 23.3.8
Build date: Mar 22 2023
Build number: 1024
Platform: windows
Operating System: Windows 10 Version 2009
Build architecture: x86_64
Current architecture: x86_64
Release: GitHub Actions
Qt Version (build): 5.15.2
Qt Version (runtime): 5.15.2
Portable mode: yes
Qt Debug: 0
Locale (system): en_US
Locale (interface): empty
Primary screen resolution: 1920x1080
Icon theme: breeze-qownnotes
Notes in current note folder: 4
Calendar items: 0
Enabled scripts: 0

Server Info

serverUrl: empty
appIsValid: no
notesPathExists: empty
connectionErrorMessage: empty

Spellchecking

Enabled: false
Selected language: empty
Language codes: empty
Language names: empty

Note folders

currentNoteFolderId: 1

Note folder default

id: 1
isCurrent: yes
activeTagId: 0
remotePath: Notes
cloudConnectionId: 1
isShowSubfolders: no
isUseGit: no
allowDifferentNoteFileName: no
activeNoteSubFolder name: empty

Cloud connections

Cloud connection Default

id: 1
isCurrent: yes
serverUrl: empty
username: empty
accountId: empty

Enabled scripts

Settings

ActiveNoteHistoryItem (NoteHistoryItem): <binary data>
Debug/fakeOldVersionNumber (QString): false
Debug/fileLogging (QString): false
Editor/CurrentSchemaKey (QString): EditorColorSchema-6033d61b-cb96-46d5-a3a8-20d5172017eb
Editor/autoBracketClosing (QString): true
Editor/autoBracketRemoval (QString): true
Editor/disableCursorBlinking (QString): false
Editor/editorWidthInDFMOnly (QString): true
Editor/highlightCurrentLine (QString): true
Editor/indentSize (QString): 4
Editor/removeTrailingSpaces (bool): false
Editor/useTabIndent (QString): false
Editor/vimMode (QString): false
IssueAssistantDialog/geometry (QByteArray): <binary data>
LastUpdateCheck (QDateTime): 2023-05-02T04:02:32.496
LogWidget/criticalLog (bool): true
LogWidget/debugLog (bool): true
LogWidget/fatalLog (bool): true
LogWidget/infoLog (bool): true
LogWidget/scriptingLog (bool): true
LogWidget/statusLog (bool): true
LogWidget/warningLog (bool): true
MainWindow/geometry (QByteArray): <binary data>
MainWindow/mainToolBar.iconSize (QString): 24
MainWindow/menuBarGeometry (QByteArray): <binary data>
MainWindow/noteTextEdit.code.font (QString): Courier New,9,-1,2,50,0,0,0,0,0
MainWindow/noteTextEdit.font (QString): MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0
MainWindow/noteTextView.code.font (QString): Courier New,9,-1,2,50,0,0,0,0,0
MainWindow/noteTextView.font (QString): MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0
MainWindow/noteTextView.ignoreCodeFontSize (QString): true
MainWindow/noteTextView.rtl (QString): false
MainWindow/noteTextView.underline (QString): true
MainWindow/noteTextView.useEditorStyles (QString): true
MainWindow/noteTextView.useInternalExportStyling (QString): true
MainWindow/showNotesFromAllNoteSubFolders (QString): true
NoteHistory-1 (QVariantList): <variant list with 1 item(s)>
NoteHistoryCurrentIndex-1 (QString): 0
PiwikClientId (QString): <hidden>
ScriptRepositoryDialog/mainSplitterState (QByteArray): <binary data>
SearchEngineId (QString): 2
SettingsDialog/geometry (QByteArray): <binary data>
SettingsDialog/mainSplitterState (QByteArray): <binary data>
ShowSystemTray (QString): false
StartHidden (QString): false
UpdateDialog/geometry (QByteArray): <binary data>
WelcomeDialog/geometry (QByteArray): <binary data>
acceptAllExternalModifications (QString): false
allowNoteEditing (bool): true
allowOnlyOneAppInstance (QString): true
appMetrics/disableAppHeartbeat (QString): false
appMetrics/disableTracking (QString): false
appMetrics/notificationShown (QString): true
automaticNoteFolderDatabaseClosing (QString): false
checkSpelling (bool): false
closeTodoListAfterSave (QString): false
cryptoKey (QString): <hidden>
currentNoteFolderId (QString): 1
currentWorkspace (QString): initial
cursorWidth (QString): 1
darkMode (QString): false
darkModeColors (QString): false
darkModeIconTheme (QString): false
darkModeTrayIcon (QString): false
defaultNoteFileExtension (QString): md
demoNotesCreated (QString): true
disableAutomaticUpdateDialog (QString): false
disableSavedSearchesAutoCompletion (QString): false
dockWasInitializedOnce (QString): true
enableNoteTree (QString): false
enableSocketServer (QString): true
externalEditorPath (QString): empty
fullyHighlightedBlockquotes (QString): false
gitCommitInterval (QString): 30
gitExecutablePath (QString): empty
gitLogCommand (QString): empty
guiFirstRunInit (bool): true
ignoreAllExternalModifications (QString): false
ignoreAllExternalNoteFolderChanges (QString): false
ignoreNoteSubFolders (QString): ^\.
imageScaleDown (QString): false
imageScaleDownMaximumHeight (QString): 1024
imageScaleDownMaximumWidth (QString): 1024
initialLayoutIdentifier (QString): minimal
insertTimeFormat (QString): empty
interfaceFontSize (QString): 11
interfaceLanguage (QString): empty
internalIconTheme (QString): false
itemHeight (QString): 15
legacyLinking (QString): false
localTrash/autoCleanupDays (QString): 30
localTrash/autoCleanupEnabled (QString): true
localTrash/supportEnabled (QString): true
markdownHighlightingEnabled (QString): true
navigationPanelHideSearch (QString): false
networking/ignoreSSLErrors (QString): true
networking/proxyType (QString): 2
newNoteAskHeadline (QString): false
noteEditIsCentralWidget (QString): true
noteFileExtensionList (QStringList): md, txt
noteListPreview (QString): false
noteSaveIntervalTime (QString): 10
noteSubfoldersPanelDisplayAsFullTree (QString): true
noteSubfoldersPanelHideSearch (QString): false
noteSubfoldersPanelOrder (QString): 0
noteSubfoldersPanelShowFullPath (QString): false
noteSubfoldersPanelShowNotesRecursively (QString): false
noteSubfoldersPanelShowRootFolderName (QString): true
noteSubfoldersPanelSort (QString): 0
notesPanelOrder (QString): 0
notesPanelSort (QString): 1
notesPath (QString): Notes
notifyAllExternalModifications (QString): false
overrideInterfaceFontSize (QString): false
ownCloud/supportEnabled (QString): false
ownCloud/todoCalendarBackend (QString): 3
ownCloud/todoCalendarCalDAVPassword (QString): <hidden>
ownCloud/todoCalendarCalDAVServerUrl (QString): empty
ownCloud/todoCalendarCalDAVUsername (QString): empty
ownCloud/todoCalendarCloudConnectionId (QString): 1
ownCloud/todoCalendarDisplayNameList: empty
ownCloud/todoCalendarEnabledList: empty
ownCloud/todoCalendarEnabledUrlList: empty
ownCloud/todoCalendarUrlList: empty
restoreCursorPosition (QString): true
restoreLastNoteAtStartup (QString): true
showMatches (QString): true
showMenuBar (bool): true
showStatusBar (bool): true
systemIconTheme (QString): false
taggingShowNotesRecursively (QString): false
tagsPanelHideSearch (QString): false
tagsPanelOrder (QString): 0
tagsPanelSort (QString): 0
todoCalendarSupport (QString): true
toolbar/1/items (QStringList): action_New_note, action_Find_note, action_Remove_note, action_Open_note_in_external_editor, actionShow_local_trash, actionAllow_note_editing, , action_Back_in_note_history, action_Forward_in_note_history, , action_Find_text_in_note, actionReplace_in_current_note, , actionShow_versions, actionShow_trash, actionShare_note, , actionOpen_List
toolbar/1/name (QString): mainToolBar
toolbar/1/title (QString): main toolbar
toolbar/2/items (QStringList): actionFormat_text_bold, actionFormat_text_italic, actionStrike_out_text, actionInsert_code_block, actionInsert_block_quote
toolbar/2/name (QString): formattingToolbar
toolbar/2/title (QString): formatting toolbar
toolbar/3/items (QStringList): actionInsert_Link_to_note, actionInsert_image, actionInsert_current_time
toolbar/3/name (QString): insertingToolbar
toolbar/3/title (QString): inserting toolbar
toolbar/4/items (QStringList): action_Encrypt_note, actionEdit_encrypted_note, actionDecrypt_note
toolbar/4/name (QString): encryptionToolbar
toolbar/4/title (QString): encryption toolbar
toolbar/5/items (QStringList): actionWorkspaceComboBox, actionStore_as_new_workspace, actionRemove_current_workspace, actionRename_current_workspace, actionSwitch_to_previous_workspace, actionUnlock_panels, , actionToggle_distraction_free_mode, action_Increase_note_text_size, action_Decrease_note_text_size, action_Reset_note_text_size
toolbar/5/name (QString): windowToolbar
toolbar/5/title (QString): window toolbar
toolbar/6/items (QString): action_Quit
toolbar/6/name (QString): quitToolbar
toolbar/6/title (QString): quit toolbar
toolbar/size (QString): 6
useUNIXNewline (QString): false
webAppClientService/token (QString): <hidden>
webSocketServerService/bookmarksNoteName (QString): Bookmarks
webSocketServerService/bookmarksTag (QString): bookmarks
webSocketServerService/port (QString): 22222
webSocketServerService/token (QString): <hidden>
workspace-initial/name (QString): Minimal
workspace-initial/noteSubFolderDockWidgetVisible (QString): true
workspace-initial/windowState (QByteArray): <binary data>
workspaces (QString): initial

System environment

ALLUSERSAPPDATA: C:\ProgramData
ALLUSERSAPPDATA:DoubleBackslash: C:\\ProgramData
ALLUSERSAPPDATA:Forwardslash: C:/ProgramData
ALLUSERSAPPDATA:java.util.prefs: /C:///Program/Data
ALLUSERSPROFILE: C:\ProgramData
ALLUSERSPROFILE:DoubleBackslash: C:\\ProgramData
ALLUSERSPROFILE:Forwardslash: C:/ProgramData
ALLUSERSPROFILE:java.util.prefs: /C:///Program/Data
CommonProgramFiles: C:\Program Files\Common Files
CommonProgramFiles(x86): C:\Program Files (x86)\Common Files
CommonProgramW6432: C:\Program Files\Common Files
ComSpec: C:\WINDOWS\system32\cmd.exe
DriverData: C:\Windows\System32\Drivers\DriverData
FPS_BROWSER_APP_PROFILE_STRING: Internet Explorer
FPS_BROWSER_USER_PROFILE_STRING: Default
HOMEDRIVE: C:
NUMBER_OF_PROCESSORS: 8
OS: Windows_NT

Path: C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Docker\Docker\resources\bin;
PATHEXT: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE: AMD64
PROCESSOR_IDENTIFIER: Intel64 Family 6 Model 85 Stepping 7, GenuineIntel
PROCESSOR_LEVEL: 6
PROCESSOR_REVISION: 5507
ProgramData: C:\ProgramData
ProgramFiles: C:\Program Files
ProgramFiles(x86): C:\Program Files (x86)
ProgramW6432: C:\Program Files
PSModulePath: C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules;C:\Program Files\Intel\Wired Networking\
PUBLIC: C:\Users\Public
SESSIONNAME: Console
SystemDrive: C:
SystemRoot: C:\WINDOWS

TEMP:DoubleBackslash:

windir: C:\WINDOWS
__COMPAT_LAYER: DetectorsAppHealth DetectorsWin7
QML_DISABLE_DISK_CACHE: true

2023-05-02 04 59 31
2023-05-02 05 00 55
2023-05-02 05 01 25

@pbek
Copy link
Owner

pbek commented May 2, 2023

Hm, strange. I can't reproduce that on KDE Neon (see qownnotes/web-companion#51 (comment)).

image

@pbek
Copy link
Owner

pbek commented May 3, 2023

I can't reproduce your "orphaned images" issue yet, but I can improve the detection of a file ending when a browser sends data. Maybe that's enough for the "orphaned images".

@pbek pbek added Importance: Low Type: Improvement improves existing functionality and removed Type: Support labels May 3, 2023
pbek added a commit that referenced this issue May 3, 2023
@azurew4r3
Copy link
Author

I can't reproduce your "orphaned images" issue yet,

Windows discards trailing dots from file names, so removing the trailing dot in the link corrects the reference. The file is no longer orphaned.

In your screenshot the link does have a trailing dot. Are the files saved to disk with the trailing dot in the name?

I can improve the detection of a file ending when a browser sends data.

Does "Create note with screenshot of visible page" send raw data (no file name)? The other options where the browser sends files work perfectly.

Anyhow, no dot-ending links or file names would be more Windows friendly.

@pbek
Copy link
Owner

pbek commented May 3, 2023

23.5.1

  • improve file-extension detection for images sent from a browser via the Web
    Companion extension (for #2781)

There now is a new release, could you please test it and report if it works for you?

@pbek pbek added this to the 23.5.1 milestone May 3, 2023
@azurew4r3
Copy link
Author

There now is a new release, could you please test it and report if it works for you?

Absolutely brilliant!

New links saved screenshots as png. I intentially placed two orphan files in the media folder to test. Screenshots to verify "improved file-extension detection" is working 100% on Windows.

2023-05-04 01 02 40
2023-05-04 01 03 20
2023-05-04 01 03 45

Impressive, you work fast pbek! I thought for sure "Importance: Low" would mean days, a week or longer. Thank you for the response, and putting together a neat program. :)

@pbek
Copy link
Owner

pbek commented May 4, 2023

Great it worked out, thank you for testing! 😁

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Importance: Low Type: Improvement improves existing functionality
Projects
None yet
Development

No branches or pull requests

2 participants