ttscoff/doing

[BUG] Using `doing select` to Resume/Repeat an entry fails silently

Closed this issue · 14 comments

Describe the bug

Using doing select to Resume/Repeat an entry fails silently.

To Reproduce

  1. doing select
  2. Highlight an entry from the entry list and press return
  3. Select Resume/Repeat from the command list and press return

The CLI doesn't confirm an entry was added or report an error, and a new entry for the selected item isn't created in the target doing file.

Debug output:

 Config: Local config files found:
 Config: translated key path paginate to paginate
 Config: translated key path disabled_commands to disabled_commands
 Config: translated key path editors to editors
 Editor: Using /usr/local/bin/nvim from config 'editors.default' for default
 Config: translated key path search.case to search.case
 Config: translated key path tag_sort to tag_sort
 Editor: Using /usr/local/bin/nvim from config 'editors.config' for config
 Config: translated key path editors.config to editors.config
 Editor: Using /usr/local/bin/nvim from config 'editors.doing_file' for doing_file
 Config: translated key path current_section to current_section
 Config: translated key path plugins.command_path to plugins.command_path
 Config: translated key path doing_file to doing_file
   Read: read file /Users/ericc/Documents/notes/doing_log.taskpaper
    fzf: Using user-installed fzf
 Config: translated key path doing_file_sort to doing_file_sort
 Config: translated key path backup_dir to backup_dir
 Config: translated key path history_size to history_size
  Write: File written: /Users/ericc/Documents/notes/doing_log.taskpaper

Expected behavior

Success: A new, active entry is added to the doing file with the same title and tags (minus @done) as the entry selected via doing select and with the current date and time. Doing reports the details of the new entry in the same way as doing resume would.

Failure: doing reports that it was not able to add a new entry.

Desktop (please complete the following information):

  • Platform: Mac
  • OS: Catalina
  • Version 10.15.7

Doing version

doing version 2.1.49

Ruby version

ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]

Huh, seems to be failing with multiple options I've tested from the select menu. However, doing select --resume appears to work correctly. Will have to dig into this one.

I didn't know about doing select --resume which solves my workflow issue. Thanks for building this utility! I use Marked and doing constantly.

I think I found the issue. Try using gem install doing to upgrade to 2.1.52 (or newer) and let me know if the issue is solved for you. Should fix the issue for begin/reset as well.

I ran into an issue running doing after the update to 2.1.52. Any doing command results in this error:

Traceback (most recent call last):
	1: from /usr/local/bin/doing:23:in `<main>'
/usr/local/bin/doing:23:in `load': cannot load such file -- /Library/Ruby/Gems/2.6.0/gems/doing-2.1.52/bin/doing (LoadError)

When I try to run it from /Library/Ruby/Gems/2.6.0/gems/doing-2.1.52/bin/doing I get a ruby: Permission denied error. Maybe this is a problem with my install?

Here's what the bin directory contents look like for 52 vs. 49:

╰─$ ls -l doing-2.1.52/bin/
total 24
-rwx--x--x   1 root  wheel    10K May 25 11:23 doing*
drwxr-xr-x  42 root  wheel   1.3K May 25 11:23 commands/
╭─ericc@MacBook-Pro /Library/Ruby/Gems/2.6.0/gems  ‹system›
╰─$ ls -l doing-2.1.49/bin/
total 24
-rwxr-xr-x   1 root  wheel    10K May 16 08:34 doing*
drwxr-xr-x  42 root  wheel   1.3K May 16 08:34 commands/

Somehow the permissions of the bin/doing executable in my repo are also rwx--x--x, so I've updated to 755 and released a new gem that will hopefully solve the permissions issue (2.1.54).

Crap, sorry to open a can of worms on this issue. I uninstalled as directed and installed the new 2.1.54 version but it is throwing another error. Really appreciate the effort to run this one down.

╭─ericc@MacBook-Pro /Library/Ruby/Gems/2.6.0/gems  ‹system›
╰─$ sudo gem install doing
Fetching doing-2.1.54.gem
Successfully installed doing-2.1.54
Parsing documentation for doing-2.1.54
Installing ri documentation for doing-2.1.54
Done installing documentation for doing after 17 seconds
1 gem installed
╭─ericc@MacBook-Pro /Library/Ruby/Gems/2.6.0/gems  ‹system›
╰─$ doing --version
Traceback (most recent call last):
	4: from /usr/local/bin/doing:23:in `<main>'
	3: from /usr/local/bin/doing:23:in `load'
	2: from /Library/Ruby/Gems/2.6.0/gems/doing-2.1.54/bin/doing:6:in `<top (required)>'
	1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- doing/help_monkey_patch (LoadError)
	5: from /usr/local/bin/doing:23:in `<main>'
	4: from /usr/local/bin/doing:23:in `load'
	3: from /Library/Ruby/Gems/2.6.0/gems/doing-2.1.54/bin/doing:6:in `<top (required)>'
	2: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
	1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require': cannot load such file -- doing/help_monkey_patch (LoadError)
╭─ericc@MacBook-Pro /Library/Ruby/Gems  ‹system›
╰─$ ls -l /Library/Ruby/Gems/2.6.0/gems/doing-2.1.54/lib/doing                                                                                                             ↵ 1
total 360
-rw-------   1 root  wheel   8795 May 25 16:15 add_options.rb
drwxr-xr-x   6 root  wheel    192 May 25 16:15 array/
-rw-------   1 root  wheel   2051 May 25 16:15 boolean_term_parser.rb
drwxr-xr-x   7 root  wheel    224 May 25 16:15 changelog/
drwxr-xr-x   6 root  wheel    192 May 25 16:15 chronify/
-rw-------   1 root  wheel   2509 May 25 16:15 cli_status.rb
-rw-------   1 root  wheel   8116 May 25 16:15 colors.rb
drwxr-xr-x   7 root  wheel    224 May 25 16:15 completion/
-rw-------   1 root  wheel   8126 May 25 16:15 completion.rb
-rw-r--r--   1 root  wheel  16715 May 25 16:15 configuration.rb
-rw-------   1 root  wheel   3516 May 25 16:15 errors.rb
-rw-------   1 root  wheel   1659 May 25 16:15 good.rb
-rw-------   1 root  wheel   4773 May 25 16:15 hash.rb
-rw-------   1 root  wheel   1068 May 25 16:15 help_monkey_patch.rb
-rw-------   1 root  wheel   2133 May 25 16:15 hooks.rb
drwxr-xr-x   7 root  wheel    224 May 25 16:15 item/
drwxr-xr-x   7 root  wheel    224 May 25 16:15 items/
-rw-------   1 root  wheel  14163 May 25 16:15 logger.rb
-rw-------   1 root  wheel   5144 May 25 16:15 markdown_document_listener.rb
-rw-------   1 root  wheel   4236 May 25 16:15 normalize.rb
-rw-------   1 root  wheel   2830 May 25 16:15 note.rb
-rw-------   1 root  wheel   2121 May 25 16:15 pager.rb
-rw-------   1 root  wheel   3035 May 25 16:15 phrase_parser.rb
-rw-------   1 root  wheel   9341 May 25 16:15 plugin_manager.rb
drwxr-xr-x   4 root  wheel    128 May 25 16:15 plugins/
drwxr-xr-x   8 root  wheel    256 May 25 16:15 prompt/
-rw-------   1 root  wheel    648 May 25 16:15 section.rb
drwxr-xr-x   9 root  wheel    288 May 25 16:15 string/
-rw-------   1 root  wheel   6022 May 25 16:15 template_string.rb
-rw-------   1 root  wheel   1919 May 25 16:15 time.rb
-rw-------   1 root  wheel   1442 May 25 16:15 types.rb
-rw-------   1 root  wheel   5834 May 25 16:15 util.rb
-rw-------   1 root  wheel  11067 May 25 16:15 util_backup.rb
-rw-------   1 root  wheel     38 May 25 16:15 version.rb
drwxr-xr-x  13 root  wheel    416 May 25 16:15 wwid/

If you want to roll back for now, you could uninstall and then use ‘gem install doing -v 2.1.49’ or whatever the last working version was for you.

Just rolled back. Not sure what else on my system might be messing up the permissions but happy to do additional testing if/when you have time to look into this again. In the meantime I'm perfectly happy with doing select --resume. Thanks again.

Installed v 2.1.57 with sudo. No permissions issues so far and this issue seems to be resolved as well.

Closing this since it seems fixed on my end.