Coder Social home page Coder Social logo

tomboy-notes / tomboy-ng Goto Github PK

View Code? Open in Web Editor NEW
365.0 29.0 37.0 15.28 MB

Next generation of Tomboy

License: MIT License

Pascal 94.03% Shell 5.48% Inno Setup 0.31% Makefile 0.19%
tomboy notes-app cross-platform note-taking synchronisation linux windows mac raspberry-pi freepascal

tomboy-ng's Introduction

tomboy-ng

tomboy-ng is a note taking app that works and syncronises between Linux, Windows and MacOS. It will also Sync to a private Github repository allowing access to any device with a browser. It features a rich text markup, printing, spell check, backup and snapshot capability. Undo and Redo. Import and export (plain text, RFT, MarkDown). It has Tomboy's automatic linking between notes, searching abilities, NoteBooks and a similar interface. Change a note's title by just editing the title in the edit window.

Importantly, tomboy-ng has no awkard dependancies and so is an easy and lightweight install. It is easily installed for Debian Bullseye and its derivatives directly from the Debian Repositories or you can download a (possibly more current) install kit for other Linuxes, Windows or MacOS from here. You are, of course, welcome to build from source. Download from the Wiki Download Page

Also available is TomboyTools it provides a means to import or export notes individually, as members of a Notebook or in a directory. A range of formats include Markdown, plain text, HTML (following tomboy style links) and Man Page.

Please see the Wiki for further information. We use GitHub to store sources and track bugs, see Tomboy.

There is also a tomboy-ng page as part of the Tomboy homepage here.

Copyright (C) 2018,2019,2020,2021 David Bannon [email protected]


tomboy-ng's People

Contributors

aguador avatar andmizyk avatar benjbrandall avatar dajoker avatar davidbannon avatar grosjo avatar monperrus avatar vistaus avatar xypd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tomboy-ng's Issues

Most notebooks disappeared After a search; pressing "Refresh" brings them back

This is probably more a UX problem than a functionality problem, but after a previous search, the search bar was clear, and all notes appeared to be listed— certainly more than my previous narrow search— but only one of seven notebooks was shown in the sidebar.

v0.12 of tomboy-ng. Build date 2018/01/31 TargetCPU x86_64 OS Linux

Ghost spaces shown at the end of every line on re-opened notes

Steps to reproduce:

  1. Create a new note with multiple lines
  2. Close and re-open the note
  3. Place your cursor at the end of each line with text, or even blank lines that have a following blank line. It will appear to have one space more than you actually typed ("My line. " instead of "My line.", but deleting this space will cause the line break to disappear.

Expected behavior:

  • There never appears to be spaces where the note-enterer never pressed the spacebar.

v0.12 of tomboy-ng. Build date 2018/01/31 TargetCPU x86_64 OS Linux

Failed to load module "canberra-gtk-module"

I've installed tomboy-ng through the .deb file in an "almost fresh" Ubuntu 18.04. Installation didn't showed any errors but when run from the launcher it doesnt show any new window. Running it from the terminal shows the following error:

~$ tomboy-ng
Gtk-Message: 19:25:41.263: Failed to load module "canberra-gtk-module"

When to update links in text

This is a question how to implement link updates in notes (see also #11).

  1. mark a word and click link => it should turn into a link (refer #12) - it does however stay a plain word, until the curser changes text around it
  2. delete a note => links to this note in open windows stay intact and open a new note on click => on deletion open windows should be updated to remove the link, or (as it may be disturbing to rerender all notes at once) a note window could get rerendered when focused (this however could lead to confusion, when many notes are arranged next to each other, some showing old links/unlinked text and others something else)
  3. assuming that a user has a fast computer, rerendering on any new / deleted note should be no performance issue. However some users have many notes and old hardware. In this case an a global preference auto_rerendering=off and a button / context option to manually rerender a note may make sense.

What do you think?

data loss using line-spanning font tags on a bulleted list

I mutated this ticket to the follow up bug as I was able to reproduce the "Note has no Title" message for a "lost note" in version 92cac7c (post 0.1alpha).

Steps to reproduce

  • create a note with a bulleted list
  • mark text that spans more than one bullet line
  • select any font style
  • quit tomboy, restart it and reopen the note
  • the changes are not there

Observation

From a user's perspective damaged notes should be hidden from standard search, but clicking a checkbox could make them visible to give users a chance to copy content to a new note. (if there are no damaged notes, this checkbox should not appear of course).

"Note has no title"

This issue confuses me since #2, because when this note "disappeared" the file stayed and is since warned about on startup:

$ ./tomboy-ng
Note has no Title 3be61374-8545-4852-b5cc-11971e689c7f.note

This is the exact note content:

<?xml version="1.0" encoding="utf-8"?>
<note version="0.3" xmlns:link="http://beatniksoftware.com/tomboy/link" xmlns:size="http://beatniksoftware.com/tomboy/size" xmlns="http://beatniksoftware.com/tomboy">
  <title>17-11</title>
  <text xml:space="preserve"><note-content version="0.1">17-11
&lt;17-10 2017 17-12&gt;
<list><list-item dir="ltr">https://wiki.gnome.org/Apps/Tomboy</list-item></list>
<list><list-item dir="ltr">To<size:small>mboy next Gen http://www.bannons.id.au/tomboy</list-item></list>
</size:small>
http://www.bannons.id.au/tomboy/download-and-test
- bin 64bit http://www.bannons.id.au/uploads/downloads/Tomboy_NG
- Source http://www.bannons.id.au/uploads/downloads/Source.zip
- Lazarus https://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20i386%20DEB/Lazarus%201.8.0RC5/
- KControl http://www.bannons.id.au/tomboy.zip
https://github.com/tomboy-notes/tomboy/issues/66
</note-content></text>
  <last-change-date>2017-11-26T02:40:07.2070000+01:00</last-change-date>
  <last-metadata-change-date>2017-11-26T02:40:07.2070000+01:00</last-metadata-change-date>
  <create-date>2017-10-16T09:04:06.2312360+02:00</create-date>
  <cursor-position>1</cursor-position>
  <selection-bound-position>1</selection-bound-position>
  <width>1000</width>
  <height>626</height>
  <x>0</x>
  <y>0</y>
  <open-on-startup>False</open-on-startup>
</note>

From a first spot it looks correct, but I could narrow it down to the line

<list><list-item dir="ltr">To<size:small>mboy next Gen http://www.bannons.id.au/tomboy</list-item></list>
</size:small>

With a deeper look the <size:small> tag spans the </list-item> and breaks the note parser.
I don't know how but somehow I managed to break the list syntax by clicking on the 'small' button in the font submenu. Will try to reproduce it later.

Marked text should become a link when "Link" button is clicked

Expected

Marked text becomes a link when the button "Link" is clicked and a new note with that title opens.

Observation

Nothing happens.

Might be limited to Linux/i386.

  • a new note with that title opens
  • the marked word becomes no link
  • the note does not appear in the tray menu directly nor in the search list or in the ./Notes directory
  • as soon as I start typing, it is saved and appears on disk and in the tray.

I guess this is confusing. Could we save directly after opening the note?

On first save it shows up in the search list like the first row in the attached image (with overlong timestamp), the next save (eg closing the note) however corrects it.
tomboy_newnote

Search is unexpectedly case sensitive

I thought search was broken but it's just case sensitive, when in my opinion (and in my experience with Tomboy) it shouldn't be, at least not by default.

(Still testing version 0.12 and my frame of reference is still the Tomboy available in Debian repositories.)

don't run multpile instances

If not requested otherwise by the user (maybe with an option) tomboy-ng should not start multiple instances but exit silently or with a note "already running".

Upstream issues

This might be a good place to track upstream issues and link their communication channels. You can add issues with the todo syntax:
- [ ] [issue title](URL)

FPC

Lazarus

KControls

partly highlighted text is unhighlighted using 'highlight'

  1. hightlight a word in a line
  2. mark the whole line
  3. click highlight

expected behavior

The whole line should be (un-/)highlighted.

observed behavior

it inverts the marked parts, the previously unhighlighted words are highlighted and the other one is normalized.

Auto-remove note title text styling after pasting a note title into a note body

Steps to reproduce:

  1. Create a new note.
  2. Copy all or a portion (for instance the date) of the title of the current or other note into the body of the note.
  3. The text styling stays as a large and blue font, underlined. (The font can subsequently be made normal size through the Text menu options, but there's not even a way to remove the blue or the underlining)

Expected behavior (and behavior of the old... in my case, very old... Tomboy):

  1. Text styling automatically changes to match its new context. This would happen on the next press of spacebar or enter key in old Tomboy.

A sync while a note is open might be messy

If you do a sync and you have a note open and that note turns out to be in need of update, that is the remote one is newere than the local, open one, the open one is not closed !

That means, eg, if the user makes a change, it will be saved over top of the newly synced note and not clash warning will be issued.

I think it might be prudent if not convenient to close all notes before starting a sync ....

implement -v --version option

  • When this flag is present, tomboy should not be started,
  • instead the current version should be shown.
  • When compiled from source the commit hash should be used.
  • This should also be visible via the ui in the 'About' dialog

SIGSEGV on quit when note is open

Quit after using "Link" button results in SIGSEGV.

Version: 4cd7cb5
Architecture: i386
OS: debian stretch

TApplication.HandleException Access violation
  Stack trace:
  $08314336
  $08094143
  $08315884
  $08083C97
  $080822F6
  $08082320
  $08070A32
  $0807E66D
  $0807402D
Exception at 08314336: EAccessViolation:
Access violation.

steps to reproduce

  • open a note, mark text, click the "Link" button (without effect: #12)
  • quit

database backend

I have plans for V2.0 that will include (optionally) moving the notes into a database (#10)

If rainy is still functional it may be a proper backend as a "synchronization server that allows to sync notes with Tomboy and Tomdroid" (PostgreSQL/SQLite, backend encryption) and alternative to *cloud (#1)

How to improve performance

Expected behavior

It is a nice feature to turn already entered text into a link when a new note is created. Currently this happens, when new text is entered. Downside of this is that it takes time to re-render the note on every new character.

As this feature is not time critical it should not be triggered when text is inserted, but some time after a user stopped typing. The expected behavior is to flush a mindburst into the text area without interruption and with a direct feedback about typed text to possibly correct it immediately. After that users tend to look at the text for some time to think, or to switch the window. This is the best time to rerender the text area.

Observation

For notes with many internal links inserting text is very slow. It takes time for every insertion to appear in the text field just as long as it takes to open this note. This is even when the text typed does not contain a (potential) link.

This is related to the algorithm that checks it for possible links.

Currently tomboy-ng keep the note titles in memory. This list is updated when a user saves or deletes a note. When does tomboy-ng save? Automatically every X minutes?
The problem is that with KControls text can't be marked as a link directly without deleting the text and then inserting a link (replace function). This check happens for the immediate surrounding of the curser. What takes time is the replacement as the whole note text is rerender. Tomboy 1.15.8 shows the same effect that notes with many links take a lot of time to focus a window because in that moment it gets rendered again.

This might be an issue limited to 32bit systems.

License of Tomboy NG and its software dependencies?

In looking to see about performance-related issues posted for KMemo in regards to #29 i went looking for the KMemo repository and found http://wiki.freepascal.org/KControls with this worrying sentence:

"KControls is provided free on 'as is' basis, with complete source code. However, it is licensed software. More information about license can be found in source file headers."

Anything that wouldn't have a license that could be included in Debian wouldn't be a Tomboy replacement for me. :-/

Feature: A notetaker can undo what they typed with ctrl+z

It would be nice to restore the undo feature with control or command z or the appropriate operating-specific conventions for undoing.

This might be a feature request against the Free Pascal and Lazarus frameworks that Tomboy NG builds on?

Copy n Paste problems under Linux

Just as I released 0.14 I realised there is a significant issue, under Linux, wrt copy and paste when Unicode characters are involved. Specifically -

  1. Copying Unicode between two tomboy-ng notes or within one note fails badly. Copying Unicode into or out of tomboy-ng works fine !
  2. Copying anything into a note that has bulleted text causes the bullet character (a unicode char) to mess up. This also affects Mac.
  3. I also believe Linux has an occasional issue applying to the first copy after the whole application is started. Its fine after that. This issue has been reported before and then withdrawn by the reporter ...

0.1-0_i386.deb: Access violation saving a note on a fresh run

Version: tomboy-ng_0.1-0_i386.deb

I just tried the 32bit deb on debian testing. After closing the settings windows I created a blank note and added a bullet.

$ tomboy-ng --version
Peek !!!   
Peek !!!   
Peek !!!                                
TApplication.HandleException Access violation
  Stack trace:
  $0809E700
  $0820B5A0
  $08210E78                             
  $0821011E                                                                                 
  $08222525      
  $08229CDF
  $08217E0E            
  $0821B231                                                                                                                                         
  $0820E586                                                                                 
  $0822AA3B         
  $0820E33E                
  $0820E863          
  $0821B591                   
  $08209D9E       
  $0810ADDF                       
  $080633B9
  $0813BEA3
Bold=FALSE Italics=FALSE Colour=FALSE 12
TApplication.HandleException: there was another exception during showing the first exception
  Stack trace:
  $0809E700
  $08079BA5
  $0820B929                             
  $0820A4D0                                                                                 
  $081AEAD7      
  $08146FCB
  $B6EAA691            
Bold=FALSE Italics=FALSE Colour=FALSE 12                                                                                                            
TApplication.HandleException: there was another exception during showing the first exception
  Stack trace:      
  $0809E700                
  $08079BA5          
  $0820B929                   
  $0820A793       
  $0806C8A1                       
  $0806C8CC
  $08062FC2
  $0806958D                             
  $08065070                                                                                 
  $081BAEB8   
  $081C44F6
  $B6F9CD08
Bold=FALSE Italics=FALSE Colour=FALSE 12
TApplication.HandleException: there was another exception during showing the first exception
  Stack trace:   
  $0809E700
  $08079BA5            
  $0820B929                                                                                                                                         
  $0820A793                                                                                 
  $0806C8A1         
  $0806C8CC                
  $080A3C97          
  $08062FC2                   
  $08069398       
  $08064F06                       
  $0806E2E2
  $0806E067
  $0806C8A1                             
  $0806C8CC                                                                                 
  $08062FC2   
  $0806958D
  $08065070
TApplication.HandleException: there was another exception during showing the first exception
  Stack trace:   
  $B6FAF0EE

On the second run it did not happen but when the config dir is removed it s reproducible. With gdb:

Starting program: /usr/bin/tomboy-ng --version
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
Peek !!!
Peek !!!
Peek !!!
Peek !!!

Program received signal SIGSEGV, Segmentation fault.
(gdb) bt
0x0809e700 in ?? ()
#0  0x0809e700 in  ()
#1  0x0820b5a0 in  ()
#2  0x08210e78 in  ()
#3  0x0821011e in  ()
#4  0x08222525 in  ()
#5  0x08229cdf in  ()
#6  0x082228c5 in  ()
#7  0x0822a91b in  ()
#8  0x0822585c in  ()
#9  0x082250dc in  ()
#10 0x08212e3f in  ()
#11 0x08212194 in  ()
#12 0x082130a3 in  ()
#13 0x080d9aef in  ()
#14 0x080d835f in  ()
#15 0x08139a58 in  ()
#16 0x0814450f in  ()
#17 0xb79723df in  () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#18 0xb77fed08 in g_closure_invoke () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#19 0xb7811fe6 in  () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#20 0xb781a799 in g_signal_emit_valist () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#21 0xb781b225 in g_signal_emit () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#22 0xb7a935c4 in  () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#23 0xb7970815 in gtk_propagate_event () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#24 0xb7970b4d in gtk_main_do_event () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#25 0xb7f12589 in  () at /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#26 0xb770bc20 in g_main_context_dispatch () at /lib/i386-linux-gnu/libglib-2.0.so.0
#27 0xb770be99 in  () at /lib/i386-linux-gnu/libglib-2.0.so.0
#28 0xb770bf44 in g_main_context_iteration () at /lib/i386-linux-gnu/libglib-2.0.so.0
#29 0x08082804 in  ()
#30 0x0807536a in  ()
#31 0x08076cd0 in  ()
#32 0x080770de in  ()
#33 0x0812e5c0 in  ()
#34 0x0807709e in  ()
#35 0x0805938d in  ()

(a package with debug symbols could help to get a more useful trace)

Crash while trying to sync notes using local folder on an external hard drive

Hi,

I was using the plain Tomboy Notes on Debian to synchronise Notes between Windows and Linux using an external hard drive. In the last few days, synchronization on Linux broke for some reason (synchronization on Windows does not crash). I tried Tomboy Notes, gnote and tomboy-ng:

  • tomboy-ng crashes
  • Tomboy Notes just seems to hang up
  • gnote prints some stuff about extra characters after the end of notes and then crashes

The stack trace for tomboy-ng is

TApplication.HandleException Access violation
  Stack trace:
  $000000000065D33A
  $000000000051356A
  $0000000000513DB3
  $0000000000513456
  $00000000004211EF
  $00000000004BEC7D
  $00000000005E5812
  $00000000005F1ED1
WARNING: TButton.Destroy with LCLRefCount>0. Hint: Maybe the component is processing an event?
WARNING: TButton.Destroy with LCLRefCount>0. Hint: Maybe the component is processing an event?

.deb releases for v0.13?

Sorry to be so demanding, but it sounded like you were close to sort of automating all this, and i'd like to continue using Debian package releases to test.

Thanks!

tomboy-ng -o file.note -- access violation

I'm getting an access violation when I use SingleNote:

Instance 1:

benjamin@debian:~/Apps/tomboy-latest/tomboy-ng/tomboy-ng$ ./tomboy-ng -o ~/Documents/rss.txt
Peek !!!
Peek !!!
Peek !!!
Peek !!!
Peek !!!

(tomboy-ng:6779): Gtk-CRITICAL **: 20:10:55.774: gtk_window_realize_icon: assertion 'info->icon_pixmap == NULL' failed

Instance 2:

benjamin@debian:~/Apps/tomboy-latest/tomboy-ng/tomboy-ng$ ./tomboy-ng -o /home/benjamin/0/10/fbcf4b71-3614-4a8e-974e-e3715b4d1235.note
Peek !!!
Peek !!!
Peek !!!
Peek !!!
Peek !!!

(tomboy-ng:6838): Gtk-CRITICAL **: 20:12:30.724: gtk_window_realize_icon: assertion 'info->icon_pixmap == NULL' failed
TApplication.HandleException Access violation
Stack trace:
$000000000065F383
$000000000042E7D6
$000000000042123F
$00000000004BF70D
$0000000000430872
$00000000004CA5D8
$00000000004BD431
$00000000004BD361
$0000000000433CF9
$00000000004BB7E7
$00000000004D3ECC
$00000000004D1ABE
$000000000042E22B
$000000000043318C
$0000000000434261
$0000000000445BC8
$000000000042E7D6
Peek !!!
Peek !!!


This is from cloning the most recent commit.

deletion fails sometimes, 90% cpu load using links to a deleted note

About output: Build date 2017/11/26 TargetCPU i386 OS Linux
OS: debian stretch
Version: ea481bd
size: 32M
build command: lazbuild --pcp=../../lazconf Tomboy_NG.lpi # lazconf contains environmentoptions.xml (automatically copied from /etc/lazarus/) and packagefiles.xml which links kcontrolsbase.lpk kcontrolslaz.lpk
Lazarus version: 1.8.0RC5

  1. Delete a note
  • sometimes (not always) the note keeps listed in the tray and i see

Failed to remove ref to note in NoteLister E92E6135-A0FD-46B3-9716-380216487FEB.note

  • when I click on the entry in the tray (which should have been removed):

Assuming a new note /home/user/src/tomboy/Notes/50BDC199-14C8-4D97-B20A-B4A78A5D0B97.note [test]
It opens a new note with that title, which is fine.

  1. Click on the link to a deleted note and see ~90% cpu load with no chance to get it responsive again. Last message before I
    killed it

Peek !!!
Peek !!!
Peek !!!

edit: even xkill only closes open notes and removes the tray, the main process keeps consuming my cpu.

XML markup (related to plugins in old Tomboy) is removed when the note is saved in Tomboy NG

Before opening my infamous Tomboy note collection in Tomboy NG, i put all the notes under Git version control.

Here's the differences in a note that was opened and saved without making any changes:

-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>

(No, there's no difference i can see there either. Maybe some whitespace is trimmed? I'm not worried about this.)

-<link:url>https://drushcommands.com/drush-8x/core/entity-updates/</link:url>
+https://drushcommands.com/drush-8x/core/entity-updates/

Apparently automatic linking of web sites are provided by a plugin which has not been ported?

-c: <datetime>2018 January 24, Wednesday, 8:10 PM</datetime>
+c: 2018 January 24, Wednesday, 8:10 PM

This must be another plugin i rely on, pressing ctrl+d to insert a date. Hadn't even realized it put it inside tags.

Takeaway: It doesn't seem to be a good thing that Tomboy-NG deletes any XML markup it doesn't understand from plugins it doesn't have.

Policy - bugs, features and releases.

Think its time we separated out bugs from feature requests especially in the context of getting a release together. Some suggestions -

Alpha, Beta release policy.

  1. I am aiming for for a v0.1 release, its still Alpha, meaning incomplete and bug ridden.
  2. After that we have a point releases of v0.11 - v0.14 which are further bug fixes and, in earlier points, new features. To keep the code stable, we'll not do anything major later in the cycle.
  3. Then we have a 0.15, one we'll announce again on the tomboy list. Goto 2.

Bugs v Features
As we are approaching v0.1 right now, we'll freeze 'features' and do bugs and release stuff. Sometimes the line between a bug and a feature is ill defined, especially with UI stuff so a lot of flexibility is required. But I think I need, right now, to declare some things can be held off until after the v0.1.

As an example Targets for v0.1

  • 32 and 64 bit binaries for Mac, Windows and Linux
  • Debs
  • All the stuff thats 'works' now with all simple bugs fixed.
  • Deleted note should not appear in recent menu or search list.

As an example Target for v0.15 (or before)

  • Windows Installers
  • User option to rerender links in open notes when a note is deleted or created.
  • Mac memory leak fixed.

Access Violation on macOS

image

This occurred when I tried to make a new note, and when the required points — not ones marked optional — on the config popup were already green. I realize why the error occurred (I hadn't hit 'Save Config') but the error message wasn't very descriptive and it was difficult to figure out.

V 0.15

Search form: update result Xms after last input

In Tomboy 1.15.8 the search result is updated with every key stroke. The first search takes some time, with every character it gets less.

  • Another approach is only manually trigger the search, eg when "Refresh" is clicked.
  • Some users might find it comfortable to automatically update the result for example 500ms after the last character has been entered.
  • With many / big notes this can take time and it would hinder the user from entering text.

Either adding an option (compare the preview checkbox in gimp's or libreoffice's file picker), or turning that off automatically based on the number/size of notes would be a smart solution.

delete note causes memory leak

  1. start tomboy-ng
  2. delete any note (eg. a newly created one)
  3. quit tomboy-ng
Heap dump by heaptrc unit                                                                                                                                                 
132921 memory blocks allocated : 13738355/14068768                                                                                                                        
132911 memory blocks freed     : 13738036/14068424                    
10 unfreed memory blocks : 319                                  
True heap size : 360448               
True free heap : 359344                                         
Should be : 359464                                           
Call trace for block $B66190E0 size 32                     
  $08317AD4  TNOTELISTER__GETNOTES,  line 248 of note_lister.pas        
  $080983E8  TRTSEARCH__INDEXNOTES,  line 297 of mainunit.pas                    
  $0809850F  TRTSEARCH__FORMSHOW,  line 331 of mainunit.pas
  $0808799D  TCUSTOMFORM__DOSHOW,  line 1019 of ./include/customform.inc 
  $08086E33  TCUSTOMFORM__CMSHOWINGCHANGED,  line 649 of ./include/customform.inc
  $08070E38                           
  $081401A1  TWINCONTROL__WNDPROC,  line 5401 of ./include/wincontrol.inc
  $08088912  TCUSTOMFORM__WNDPROC,  line 1467 of ./include/customform.inc
Call trace for block $B6619070 size 32
  $08317AD4  TNOTELISTER__GETNOTES,  line 248 of note_lister.pas
  $080983E8  TRTSEARCH__INDEXNOTES,  line 297 of mainunit.pas
  $0809850F  TRTSEARCH__FORMSHOW,  line 331 of mainunit.pas
  $0808799D  TCUSTOMFORM__DOSHOW,  line 1019 of ./include/customform.inc
  $08086E33  TCUSTOMFORM__CMSHOWINGCHANGED,  line 649 of ./include/customform.inc
  $08070E38                           
  $081401A1  TWINCONTROL__WNDPROC,  line 5401 of ./include/wincontrol.inc
  $08088912  TCUSTOMFORM__WNDPROC,  line 1467 of ./include/customform.inc
Call trace for block $B66159C0 size 32                               
  $08317AD4  TNOTELISTER__GETNOTES,  line 248 of note_lister.pas   
  $080983E8  TRTSEARCH__INDEXNOTES,  line 297 of mainunit.pas
  $0809850F  TRTSEARCH__FORMSHOW,  line 331 of mainunit.pas
  $0808799D  TCUSTOMFORM__DOSHOW,  line 1019 of ./include/customform.inc
  $08086E33  TCUSTOMFORM__CMSHOWINGCHANGED,  line 649 of ./include/customform.inc
  $08070E38                           
  $081401A1  TWINCONTROL__WNDPROC,  line 5401 of ./include/wincontrol.inc
  $08088912  TCUSTOMFORM__WNDPROC,  line 1467 of ./include/customform.inc
Call trace for block $B6615950 size 32
  $08317AD4  TNOTELISTER__GETNOTES,  line 248 of note_lister.pas
  $080983E8  TRTSEARCH__INDEXNOTES,  line 297 of mainunit.pas
  $0809850F  TRTSEARCH__FORMSHOW,  line 331 of mainunit.pas
  $0808799D  TCUSTOMFORM__DOSHOW,  line 1019 of ./include/customform.inc
  $08086E33  TCUSTOMFORM__CMSHOWINGCHANGED,  line 649 of ./include/customform.inc
  $08070E38
  $081401A1  TWINCONTROL__WNDPROC,  line 5401 of ./include/wincontrol.inc
  $08088912  TCUSTOMFORM__WNDPROC,  line 1467 of ./include/customform.inc
Call trace for block $B6666940 size 17
  $082F58DC  TDOMDOCUMENT__CREATETEXTNODEBUF,  line 2686 of laz2_dom.pas
  $0830028C  TXMLREADER__DOTEXT,  line 3847 of laz2_xmlread.pas
  $082FE84D  TXMLREADER__PARSECONTENT,  line 3241 of laz2_xmlread.pas
  $082FB1A5  TXMLREADER__PROCESSXML,  line 1710 of laz2_xmlread.pas
  $08300D9D  READXMLFILE,  line 4145 of laz2_xmlread.pas     
  $08300F89  READXMLFILE,  line 4188 of laz2_xmlread.pas   
  $083172B5  TNOTELISTER__GETNOTEDETAILS,  line 168 of note_lister.pas  
  $08317AAC  TNOTELISTER__GETNOTES,  line 243 of note_lister.pas                 
Call trace for block $B6665C80 size 20
  $08317AAC  TNOTELISTER__GETNOTES,  line 243 of note_lister.pas        
  $080983E8  TRTSEARCH__INDEXNOTES,  line 297 of mainunit.pas  
  $0809850F  TRTSEARCH__FORMSHOW,  line 331 of mainunit.pas          
  $0808799D  TCUSTOMFORM__DOSHOW,  line 1019 of ./include/customform.inc
  $08086E33  TCUSTOMFORM__CMSHOWINGCHANGED,  line 649 of ./include/customform.inc
  $08070E38                                             
  $081401A1  TWINCONTROL__WNDPROC,  line 5401 of ./include/wincontrol.inc
  $08088912  TCUSTOMFORM__WNDPROC,  line 1467 of ./include/customform.inc
Call trace for block $B65DE0E0 size 54
  $080DED19                                                     
  $080FA0FB                                                  
  $080FA30B                                                
  $080E11BE                                                             
  $080983E8  TRTSEARCH__INDEXNOTES,  line 297 of mainunit.pas                    
  $0809850F  TRTSEARCH__FORMSHOW,  line 331 of mainunit.pas
  $0808799D  TCUSTOMFORM__DOSHOW,  line 1019 of ./include/customform.inc
  $08086E33  TCUSTOMFORM__CMSHOWINGCHANGED,  line 649 of ./include/customform.inc
Call trace for block $B6637940 size 26
  $082F58DC  TDOMDOCUMENT__CREATETEXTNODEBUF,  line 2686 of laz2_dom.pas
  $0830028C  TXMLREADER__DOTEXT,  line 3847 of laz2_xmlread.pas
  $082FE84D  TXMLREADER__PARSECONTENT,  line 3241 of laz2_xmlread.pas
  $082FB1A5  TXMLREADER__PROCESSXML,  line 1710 of laz2_xmlread.pas
  $08300D9D  READXMLFILE,  line 4145 of laz2_xmlread.pas
  $08300F89  READXMLFILE,  line 4188 of laz2_xmlread.pas
  $083172B5  TNOTELISTER__GETNOTEDETAILS,  line 168 of note_lister.pas
  $08317AAC  TNOTELISTER__GETNOTES,  line 243 of note_lister.pas
Call trace for block $B66656E0 size 20
  $08317AAC  TNOTELISTER__GETNOTES,  line 243 of note_lister.pas
  $080983E8  TRTSEARCH__INDEXNOTES,  line 297 of mainunit.pas
  $0809850F  TRTSEARCH__FORMSHOW,  line 331 of mainunit.pas
  $0808799D  TCUSTOMFORM__DOSHOW,  line 1019 of ./include/customform.inc
  $08070E38
  $081401A1  TWINCONTROL__WNDPROC,  line 5401 of ./include/wincontrol.inc
  $08088912  TCUSTOMFORM__WNDPROC,  line 1467 of ./include/customform.inc
Call trace for block $B66073E0 size 54
  $080DED19
  $080FA0FB
  $080FA30B
  $080E11BE
  $080983E8  TRTSEARCH__INDEXNOTES,  line 297 of mainunit.pas
  $0809850F  TRTSEARCH__FORMSHOW,  line 331 of mainunit.pas
  $0808799D  TCUSTOMFORM__DOSHOW,  line 1019 of ./include/customform.inc
  $08086E33  TCUSTOMFORM__CMSHOWINGCHANGED,  line 649 of ./include/customform.inc
[Inferior 1 (process 1244) exited normally]

Offer AppImage or flatpak releases

I understand deb and the gz files are included. However, an appimage or flatpak could be quite useful for those who want to try tomboy-ng and work regardless of which platform they are on. Alternatively. what are your thoughts on this being offered/packaged in the AUR?

Thanks!

TApplication.HandleException Access violation

Just hit the first crash with tomboy-ng in the background, without really working with it. Will see if it is reproducible.

About output: Build date 2017/11/26 TargetCPU i386 OS Linux
OS: debian stretch
Version: ea481bd
size: 32M
build command: lazbuild --pcp=../../lazconf Tomboy_NG.lpi # lazconf contains environmentoptions.xml (automatically copied from /etc/lazarus/) and packagefiles.xml which links kcontrolsbase.lpk kcontrolslaz.lpk
Lazarus version: 1.8.0RC5

Peek !!!
Peek !!!
Note has bad xml/home/user/src/tomboy/Notes/3be61374-8545-4852-b5cc-11971e689c7f.note
Note has no Title
Note has bad xml/home/user/src/tomboy/Notes/3be61374-8545-4852-b5cc-11971e689c7f.note
Note has no Title
Note has bad xml/home/user/src/tomboy/Notes/3be61374-8545-4852-b5cc-11971e689c7f.note
Note has bad xml/home/user/src/tomboy/Notes/3be61374-8545-4852-b5cc-11971e689c7f.note
Peek !!!
Peek !!!
TApplication.HandleException Access violation
Stack trace:
$08317DE6 TNOTELISTER__THISNOTEISOPEN, line 339 of note_lister.pas
$08097D13 TRTSEARCH__NOTECLOSING, line 171 of mainunit.pas
$08319334 TEDITBOXFORM__FORMDESTROY, line 581 of editbox.pas
$08087867 TCUSTOMFORM__DODESTROY, line 976 of ./include/customform.inc
$08085EC6 TCUSTOMFORM__BEFOREDESTRUCTION, line 184 of ./include/customform.inc
$08085EF0 TCUSTOMFORM__DESTROY, line 198 of ./include/customform.inc
$08070A32
$0808223D BEFOREFINALIZATION, line 1904 of forms.pp
$0807402D
Exception at 08317DE6: EAccessViolation:
Access violation.
Heap dump by heaptrc unit
145072556 memory blocks allocated : 2119444449/2896017840
145072556 memory blocks freed : 2119444449/2896017840
0 unfreed memory blocks : 0
True heap size : 688128
True free heap : 688128

edit: oh and i found a note is missing, maybe it crashed trying to save it.

Feature: embedding images

First of all: thank you for your work! I like the idea to have a modern Tomboy with less dependencies. 👍

Second: there was a possibility to enable Image support in Tomboy with a Plugin and I would really love to have this functionality integrated natively in tomboy-ng.

Thank you in advance and I hope you have a wonderful day!

"List index (3) out of bounds" when backspacing new title over default title

  1. Create a new note
  2. Paste or type text into the body of the note.
  3. Backspace from the start of this text over the title to replace the default title with this text in the note
  4. Received this error:

List index (3) out of bounds.

Press OK to ignore and risk data corruption.
Press Abort to kill the program.

  1. Pressed OK.
  2. Note is unresponsive. Cannot click or type in title or body. Oh. Actually, all of Tomboy is unresponsive/broken. It is not using any system resources so not much hope of it coming back either.

Nope. Never came back. Guess i should have clicked "Abort"!

I have the notes in Git and no data corruption is evident.

Environment/context: Same as #29 ... sorry.

Font functions change the text selection

When using the highlight or any font related function (except fixed width) on marked text, the new settings is applied, but it expands the mark by 1 character on each click, which should not happen.

First time copy action does not work

In a freshly opened note window, select some text and right click, copy. Then paste it somewhere. Nothing. Second time you do this, it works fine.

Suspect this is going to be a KControls issue but want to check carefully before advising TK.

Search is unexpectedly treating multiple words as "exact string" matches

When i type:

exact string

in the search box and press enter, i expect to find the note with the text "exactly this string".

That's a silly example; where i use this all the time is typing Firstname City to find someone whose last name i don't quite remember, or a million other cases where i need to find a note that contains two or more non-contiguous words.

(Still testing version 0.12 and my frame of reference is still the Tomboy available in Debian repositories.)

Related to #34

Improve performance for large note collections (preventing lags and loss of access for seconds at scale)

Some apologies for dragging this over from old Tomboy, but i'm hoping the next generation can keep scaling issues in mind!

Instead of very long lags at specific points (creating a new note, naming/renaming) as in my old (very old) Tomboy, Tomboy NG is more spread out in its slowness. Compared to my old Tomboy, it's faster to start up, infinitely faster to create a new note, seems a little faster to rename notes, and maybe faster to search. However, it is slower at some more regular/constant use things.

Most frustratingly, it will often not show text as i type it, but need two to three seconds to catch up.

My prescription for solving these problems is the same. Moving notes from XML to a database is not needed to address these user-perceived performance problems.

  1. Keeping all user interfaces response processing (showing characters as one types, creating a new note, changing the title of a note) in one dedicated process/core, while moving all expensive operations (finding existing titles that match text typed into a note, searching through other notes for text to link to a new note or changed title) to background processes.
  2. Using indexes.

The indexes could indeed be implemented with SQLite or another database rather than flat files, but the notes themselves i think can stay as XML files while still scaling the performance of the application.

Software & Hardware Environment and Circumstances:

  • 16,722 notes totaling 150M.
  • Seven notebooks (most notes unaffiliated with a notebook).
  • v0.12 of tomboy-ng. Build date 2018/01/31 TargetCPU x86_64 OS Linux.
  • SSD hard drive.
  • 16GB RAM.
  • Intel Core i5-2540M CPU @ 2.60GHz x 2.
  • Mint Debian Edition 2 Cinnamon.

OSX no tray icon

The Application does not have an Icon so the default Icon is shown.

screen shot 2017-12-01 at 15 23 11

screen shot 2017-12-01 at 15 24 01

Feature: A notereader can search in-note with ctrl+f

(Originally titled this "A notereader can open in-note search dialog with ctrl+f" but have since realized the "Search" button shown

Currently, "ctrl+f" inserts "�"

I had to open the note XML file in a separate program to copy that symbol, because, ah, man, "ctrl+x" doesn't cut, or when it does cut, nothing ends up in the clipboard. OK, at this point, Tomboy NG is actively fighting basic operating system functionality, let alone implementing common conventions like control/command f or control/command z.

The right-click menu copy or cut doesn't work either.

Like #35 this seems like something that needs to be fixed in the framework Tomboy NG is built in, or we're just not taking advantage of something it does offer. Is this sort of thing working for people on Mac and Windows?

Release v0.12a refuses to start or quit on MacOS Sierra

v0.12a shows a pop window for setting up basic configuration the 1st time after installation. I went for default settings and support for a note in multiple notebooks, then no window was visible for the application except “tomboy-ng” in the menubar. Only option given for the app is to quit, which doesn’t work or give any sort of feedback.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.