Jump to content

Recommended Posts

  • Replies 65
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Better Dictionaries Better search and live previews for built-in macOS dictionaries.   This post might be outdated, link to up-to-date README Download the latest version: Better.Dict

Sorry folks for all the errors and failures you keep running into!   The workflow is way too hacky with no good logging, error reporting and very poor debugging... I started working on a rev

That folder only exists if a user has adjusted the settings in Alfred Preferences > Appearance > Options.

Posted Images

 

I think something went wrong during the importation and now nothing is showing up.

 

I already give the required permission

I imported two dictionary (Multidictionnary french & Oxford French)

now when I type lookup > Oxford > Already desapear

 

@Mr Pennyworth Is it possible to completely remove and reinstall the imported data? I didn't find their location

 

 

EDIT: I found the location /Users/{usr}/Library/Application Support/Alfred/Workflow Data/mr.pennyworth.betterDicts/

I remove everything and reinstalled but it doesn't seem to works.

 

I open alfred

I type lookup

->I select the first dictionnary

---> I search for "jouer" and after the loading and nothing is found

 

 

EDIT2: Logs debug:

 

Traceback (most recent call last):

  File "AlfredExtraPane.app/Contents/Resources/scripts/alfred-extra-pane", line 58, in <module>

    'minHeight': alfred.window_height(9),

  File "/Users/scafaj/Documents/Alfred.alfredpreferences/workflows/user.workflow.10320334-A10C-4A5A-B4B2-647DE6B35728/AlfredExtraPane.app/Contents/Resources/scripts/alfred.py", line 27, in cached_func

    cache[args] = func(*args)

  File "/Users/scafaj/Documents/Alfred.alfredpreferences/workflows/user.workflow.10320334-A10C-4A5A-B4B2-647DE6B35728/AlfredExtraPane.app/Contents/Resources/scripts/alfred.py", line 259, in window_height

    + result_height() * item_count)

  File "/Users/scafaj/Documents/Alfred.alfredpreferences/workflows/user.workflow.10320334-A10C-4A5A-B4B2-647DE6B35728/AlfredExtraPane.app/Contents/Resources/scripts/alfred.py", line 27, in cached_func

    cache[args] = func(*args)

  File "/Users/scafaj/Documents/Alfred.alfredpreferences/workflows/user.workflow.10320334-A10C-4A5A-B4B2-647DE6B35728/AlfredExtraPane.app/Contents/Resources/scripts/alfred.py", line 215, in search_field_height

    }'''))

ValueError: invalid literal for int() with base 10: ''

Edited by scafaj
Link to post

@scafaj hmm... not much info to investigate...

I imported both the dictionaries that you mention and they worked properly.

Few questions to help me understand the problem better:

  1. After importing the fist dictionary, did that work?
  2. How long did you wait between finishing the first import and starting the second import?
  3. Did you get a "waiting for index to be ready..." box after each import? (see screenshot)
    image.png.0a3699d4d55b7f5545d87513ca4df230.png
  4. Can you post a screenshot of the workflow editor?
  5. Can you run this in terminal and post the output here?

    ls -alh ~/Library/Application\ Support/Alfred/Workflow\ Data/mr.pennyworth.betterDicts/

  6. Can you paste the contents of ~/Library/Application\ Support/Alfred/Workflow\ Data/mr.pennyworth.betterDicts/db.log
    https://dpaste.com and post the link here?
  7. In case you just want to reset everything and start from a clean state
    1. Delete the workflow
    2. Run killall alfred-dict-server; killall BetterDict; rm -rf ~/Library/Application\ Support/Alfred/Workflow\ Data/mr.pennyworth.betterDicts/
    3. Reinstall the workflow
Edited by Mr Pennyworth
Link to post

@Mr Pennyworth Just wanted to make sure you read my update on my first post. I posted the Error logs

 

 

 

There is what you asked:

 

image.png.c2a898104acb23c250287acb9d62bcad.png

 

 

-----

 

[2020-11-25T12:51:22Z INFO  actix_web::middleware::logger] 127.0.0.1:49769 "POST /indexes/com-apple-dictionary-fr-Multi/settings/searchable-attributes HTTP/1.1" 202 14 "-" "python-requests/2.25.0" 0.001002
[2020-11-25T12:51:22Z INFO  actix_web::middleware::logger] 127.0.0.1:49770 "POST /indexes/com-apple-dictionary-fr-Multi/settings/displayed-attributes HTTP/1.1" 202 14 "-" "python-requests/2.25.0" 0.000944
[2020-11-25T12:52:17Z INFO  actix_web::middleware::logger] 127.0.0.1:49788 "POST /indexes/com-apple-dictionary-fr-Multi/documents HTTP/1.1" 202 14 "-" "python-requests/2.25.0" 0.675927
[2020-11-25T12:52:17Z INFO  actix_web::middleware::logger] 127.0.0.1:49789 "GET /indexes/com-apple-dictionary-fr-Multi/updates/2 HTTP/1.1" 200 128 "-" "python-requests/2.25.0" 0.445154
[2020-11-25T12:52:19Z INFO  actix_web::middleware::logger] 127.0.0.1:49791 "GET /indexes/com-apple-dictionary-fr-Multi/updates/2 HTTP/1.1" 200 128 "-" "python-requests/2.25.0" 0.248817
[2020-11-25T12:52:22Z INFO  actix_web::middleware::logger] 127.0.0.1:49792 "GET /indexes/com-apple-dictionary-fr-Multi/updates/2 HTTP/1.1" 200 128 "-" "python-requests/2.25.0" 0.213380
[2020-11-25T12:52:24Z INFO  actix_web::middleware::logger] 127.0.0.1:49793 "GET /indexes/com-apple-dictionary-fr-Multi/updates/2 HTTP/1.1" 200 128 "-" "python-requests/2.25.0" 0.214964
[2020-11-25T12:52:26Z INFO  actix_web::middleware::logger] 127.0.0.1:49794 "GET /indexes/com-apple-dictionary-fr-Multi/updates/2 HTTP/1.1" 200 128 "-" "python-requests/2.25.0" 0.217382
[2020-11-25T12:52:28Z INFO  actix_web::middleware::logger] 127.0.0.1:49795 "GET /indexes/com-apple-dictionary-fr-Multi/updates/2 HTTP/1.1" 200 128 "-" "python-requests/2.25.0" 0.211065
[2020-11-25T12:52:31Z INFO  actix_web::middleware::logger] 127.0.0.1:49796 "GET /indexes/com-apple-dictionary-fr-Multi/updates/2 HTTP/1.1" 200 128 "-" "python-requests/2.25.0" 0.236160
[2020-11-25T12:52:33Z INFO  actix_web::middleware::logger] 127.0.0.1:49797 "GET /indexes/com-apple-dictionary-fr-Multi/updates/2 HTTP/1.1" 200 128 "-" "python-requests/2.25.0" 0.246990
[2020-11-25T12:52:35Z INFO  actix_web::middleware::logger] 127.0.0.1:49798 "GET /indexes/com-apple-dictionary-fr-Multi/updates/2 HTTP/1.1" 200 128 "-" "python-requests/2.25.0" 0.246464
[2020-11-25T12:52:37Z INFO  actix_web::middleware::logger] 127.0.0.1:49799 "GET /indexes/com-apple-dictionary-fr-Multi/updates/2 HTTP/1.1" 200 197 "-" "python-requests/2.25.0" 0.000146
[2020-11-25T12:54:01Z INFO  actix_web::middleware::logger] 127.0.0.1:49807 "POST /indexes/com-apple-dictionary-fr-Multi/search HTTP/1.1" 200 3789 "-" "curl/7.64.1" 0.005789

Edited by scafaj
Link to post

@scafaj: thanks! I had missed the update to your original post.

The logs are helpful!

 

I have a guess what is going on.

Can you run this in terminal?

osascript -e 'tell application "System Events" to display dialog "Hello!"'

 

It should create a simple dialog box like this:

image.thumb.png.03b8e94c185d74856576608c4b13a8c4.png

If it does not, I'm not sure how to fix the problem, I had faced similar problem and wasn't able to find a solution.

The only solution I know is rebooting :P

 

Also, what Alfred theme are you using?

Link to post

@scafaj can you confirm that you aren't using 'Alfred Classic' theme?

 

If you are, then either change the theme or duplicate it and use the duplicated one.

If you are not, can you reboot and check if the problem persists?

If you reboot and it persists, I'm not sure what might be going wrong... while I try to figure that out, you can do the following meanwhile:

  1. Open the workflow folder.
  2. Open the file search.sh
  3. The last two lines will be:
    echo "{ \"items\": $items }" \
      | 'AlfredExtraPane.app/Contents/Resources/scripts/alfred-extra-pane'
  4. Change that to:
    echo "{ \"items\": $items }"

    (remove last line, and remove the "\" from second last line)

This will disable live preview, but you'll get the search results.
Pressing shift on a search result will give you a preview.

Edited by Mr Pennyworth
Link to post

@scafaj wow this is really puzzling I looked through all the permissions for alfred on my machine.

The only outcome is: disable "System Events" and I get the exact same error that you get.
Enable it back, and the error goes away.

 

Given that that's not working on your machine, and I've tried everything that I can think of, now I'm out of ideas 🙁

Good to hear that the "press shift for preview" thing at least works...

Link to post

@scafaj @Mr Pennyworth I haven't followed the full thread for this workflow, but given your most recent discussion about macOS permissions, I wanted to pop in and suggest that if these permissions were granted before upgrade to Big Sur, it may be wise to remove Alfred fully, then re-add (or allow apps to request permissions again).

 

There haven't been many users experiencing permissions issues with Big Sur, but it's possible that there was some corruption of permissions. Removing and re-adding apps tends to resolve that particular issue.

 

Beyond that, it's also worth looking at the workflow debugger in case there are specific errors that can help you establish what's happening (or failing to happen) on your Mac.

 

Cheers,
Vero

Link to post

Hi there - thanks for getting back to me so quickly. Yep, it's enabled

 

976688607_ScreenShot2020-12-03at11_34_56am.thumb.png.35a6f543ce71ab3de4086dfb0bb11586.png

 

The log looks like this: 

 

[11:36:10.944] Logging Started...

[11:36:25.370] Better Dictionaries[Script Filter] Queuing argument '(null)'

[11:36:25.377] Better Dictionaries[Script Filter] Script with argv '(null)' finished

[11:36:25.381] ERROR: Better Dictionaries[Script Filter] Code 126: /Users/chriswebb/Library/Caches/com.runningwithcrayons.Alfred/Workflow Scripts/A2C6398C-8016-4F0E-AF49-71DBF40AEA59: line 1: ./BetterDict.app/Contents/MacOS/BetterDict: Permission denied

 

Link to post

@chriswebb

Can you click on "Open in Terminal" (as shown in your screenshot)

and then try each of these commands and tell me the outputs?

  • xattr -d com.apple.quarantine ./BetterDict.app

  • xattr -d com.apple.quarantine ./BetterDict.app/Contents/MacOS/BetterDict

  • ls -alh ./BetterDict.app/Contents/MacOS/BetterDict

  • chmod +x ./BetterDict.app/Contents/MacOS/BetterDict

After running them all, also check if the workflow starts working, and if not, lemme know what the log looks like

 

Link to post

I installed v1.2, ran .setup-better-dictionaries, granted permission in Accessibility to AlfredExtraPane.app, then ran .dict-import. I had choice of only one dictionary:

 

image.png.2a89d00325dbe46d715796073ef06c9b.png

 

I selected that dictionary and it began installing html files until:

 

image.png.42bda2704dd6d39d97bfda047d2f972c.png

I open Console and installation continued for a few seconds until:

 

image.png.d497cddb28aa7d2ea184b4c1282fbfc9.png

 

Fans blazing for awhile. Hotkeys did not appear in the workflow and running lookup shows:

[04:48:54.140] Logging Started...
[04:48:55.420] Better Dictionaries[Script Filter] Queuing argument '(null)'
[04:48:55.432] Better Dictionaries[Script Filter] Script with argv '(null)' finished
[04:48:55.437] ERROR: Better Dictionaries[Script Filter] Code 1: Exited with error code but no message
[04:48:58.054] Better Dictionaries[Script Filter] Queuing argument '(null)'
[04:48:58.126] Better Dictionaries[Script Filter] Script with argv '(null)' finished
[04:48:58.128] ERROR: Better Dictionaries[Script Filter] Code 1: cat: /Users/xxx/Library/Application Support/Alfred/Workflow Data/mr.pennyworth.betterDicts/imported.json: No such file or directory

 

Deleted the workflow, rebooted, tried again with same result. Thoughts?

Link to post

@evanfuchs could you try the following?

 

Open the workflow folder in terminal and run ./BetterDict.app/Contents/MacOS/BetterDict listUnimported /tmp/
The output will contain path to the macOS dictionary file for the Oxford Dictionary. Let's say it is /a/b/c


Then, run this command: killall alfred-dict-server; killall BetterDict; ./BetterDict.app/Contents/MacOS/BetterDict import '/a/b/c' /tmp/
The above command is basically for importing and extracting the dictionary into the temporary folder instead of the workflow data dir. We want to run BetterDict from terminal because we want to see why the "BetterDict error" appeared. (unlike the GUI version, this time, you'll get the error logs in terminal)

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...