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

Add affordances to make the bits-and-bobs workflow easier #688

Open
36 of 61 tasks
jkomoros opened this issue Mar 30, 2024 · 0 comments
Open
36 of 61 tasks

Add affordances to make the bits-and-bobs workflow easier #688

jkomoros opened this issue Mar 30, 2024 · 0 comments

Comments

@jkomoros
Copy link
Owner

jkomoros commented Mar 30, 2024

Bulk-edit

  • Allow adding/removing TODO tags
  • Allow adding/removing tags

Selection

(Also tracked in #174 )

  • Add a concept of selected state (ephermal, non persisted)
  • Add selectCards, unselectCards, unselectAllCards and selectAllCardsInCollection action creators
  • Add addCollectionToSelectedCards
  • Make the selectSelectedCards use this
  • Add a selected filter. Override selectFilters to include filters as well as the selected map. Add a inverse_filter_names as well for not-selected
  • Checking the checkbox should update the card selected state
  • Checkboxes should be hidden unless at least one card is selected
  • Add a hidden checkbox on card thumbnails in the left rail that show up on hover and can be clicked.
  • If any card is selected, the checkboxes show up on all thumbnails
  • If any card is selected, show a 'Clear selection' in the top of the drawer
  • 'Add all cards to selection' only shows up if some cards in current collection are not selected
  • If any card is selected in the current collection and the collection doesn't have a selected filter, show a 'Show only selected' that if clicked adds a selected filter to the filter chain
  • If any card is selected that is not currently showing in the selection, show a Show all selected to the top of the drawer that will navigate to everything/selected
  • If any card is selected, show a 'Add all to selection' button
  • Add the ability to shift-select adjacent cards in the drawer
  • Hitting space when viewing a card toggles its selected state

Import

  • Do TODOs in bulkCreateWorkingNotes
  • Get the extraction working
  • Add tests for extraction
  • Add a flag for imports to keep track of later (e.g. importType, importVersion)
  • Remove aria-level?
  • Consider replacing quotes with more common characters? The character U+2019 "’" could be confused with the ASCII character U+0060 "", which is more common in source code`
  • Get italics and bolds to be kept
  • Get bold to be kept in pasted data
  • Get bold+italic simultaneously to be kept
  • If there's a selection already (which will be blown away when the import happens, check before performing the import that overriding selection is OK)
  • Add a message in the dialog to explain how it works (and hwat to check for)
  • Why is that ',' showing up after the first li?
  • When creating a card, only expect the first one to then wait for it. (Since they're all batched at the beginning, when the first card comes in, all of them do, and then the waiting machinery will work)
  • Actually wire in hitting create to creating notes
  • Gray out screen while creating cards (instead of immediately closing dialog while it's happening)
  • Have an import feature where you can paste final bits-and-bobs rich text and it will create cards by splitting at each top-level li and then removing other formatting (not links).
  • Have a 'select created cards' checkbox, and if selected then it will replace the card selection state with those cards and also navigate to them afterwards.
  • Allow bulk deleting of selected cards
  • Allow better overflow of very many card imports (have the text areas be in a scroller in the dialog)

Export

  • Add a mode in BulkImport that is import or export.
  • If mode is export then title and content of the dialog should be different
  • Add a export button to launch the dialog in export mode.
  • auto-select the output content
  • Add tests for the exportContentForCards
  • Split on new sentences into a new bullet.
  • Don't remove card-link (transfer to , by running toContentEditable?)
  • if semanticSortCallable fails, show a message for why and stop expecting the result.
  • Handle long export content better (currently the dialog doesn't scroll)
  • Show a loading scrim while fetching card order
  • There are suspiciously few swaps made in the server
  • Disable semantic sort button / action creator if ai not enabled
  • Correctly handle cards with only a single paragraph of content (it currently indents them at each level)
  • Do TODOs in the card sorter on the server side
  • Strip out paragraphs in the list items
  • Actually export content in export mode to make it easy to copy/paste
  • Add a button in export mode to resort by similarity, which hits a function endpoint
  • Play around with different embedding based sorts in the ranker. The current sort just rarely does anything at all, to a highly suspicious degree. Even though pairwise conditionals won't find global ordering problems, they should notice a local one that can then cascade through the list on multiple iterations, knocking other ones to diffeerent positions, which isn't happening.
    • One option: do a PCA and then sort along the main vector. The downside is it will be totally different order than the current order.
    • Another option. Repeatedly: pick a single key card randomly. Then compute the semantic distance to each card (normalized so they're all 0 to 1 if they aren't already) and divide that by the number of indexes different it is. (Maybe have some kind of nonlinear softmax kind of thing). Have positive for moves down and negative for moves up. And then sum up to see the overall index diff. Repat until a max iterations is met or the net movement has been below some threshold f for some number of iterations m.
    • Is there some kind of markov chain thing?
  • Semantic sort should place things that are in a clique of references closer together naturally
  • Have a thing in card drawer to take the currently visible cards and export them into a proto bits-and-bobs format, to copy and paste. This means each card starts a new li, and each sentence and paragraph break is a new sub-li.

Embedding sort

  • A sort of sort/semantics that sorts all of the cards based on minimizing the difference in their embedding difference. This is NP-hard (I think). Probably just do principal component analysis
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
Not yet used for anything.

Part of #688. Part of #174.
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
Subtle is backwards.

Part of #174. Part of #688.
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 30, 2024
jkomoros added a commit that referenced this issue Mar 31, 2024
No way to change it yet. If none are selected, selectSelectedCards simply returns the current collection of cards, as before.

Part of #688. Part of #174.
jkomoros added a commit that referenced this issue Mar 31, 2024
jkomoros added a commit that referenced this issue Mar 31, 2024
It's treated like a normal filterMemberships, but unlike all of the other ones (which are derivable entirely from the card itself) this FilterMap is stored in a different part of state.

Part of #688. Part of #174.
jkomoros added a commit that referenced this issue Mar 31, 2024
jkomoros added a commit that referenced this issue Mar 31, 2024
jkomoros added a commit that referenced this issue Mar 31, 2024
jkomoros added a commit that referenced this issue Mar 31, 2024
jkomoros added a commit that referenced this issue Apr 3, 2024
Prefviously the dialog would close immediately, which was confusing because it might take many seconds for the import to be done.

Uses the same basic pattern as the multi-edit dialog.

Part of #688.
jkomoros added a commit that referenced this issue Apr 4, 2024
jkomoros added a commit that referenced this issue Apr 8, 2024
No way to trigger it in action creators or antyhing yet.

Part of #688.
jkomoros added a commit that referenced this issue Apr 8, 2024
jkomoros added a commit that referenced this issue Apr 8, 2024
…te:config.

This likely broke when upgrading node at some point.

Found a suggestion on TypeStrong/ts-node#1997 to just use tsx, which works! Part of #688.
jkomoros added a commit that referenced this issue Apr 8, 2024
jkomoros added a commit that referenced this issue Apr 8, 2024
Not yet possible to trigger in the UI.

Part of #688.
jkomoros added a commit that referenced this issue Apr 8, 2024
Some truly heinous manual processing .

Part of #688.
jkomoros added a commit that referenced this issue Apr 8, 2024
jkomoros added a commit that referenced this issue Apr 8, 2024
jkomoros added a commit that referenced this issue Apr 8, 2024
jkomoros added a commit that referenced this issue Apr 8, 2024
jkomoros added a commit that referenced this issue Apr 8, 2024
… based on embeddings.

Likely dumb in like 12 different ways.

Part of #688.
jkomoros added a commit that referenced this issue Apr 8, 2024
jkomoros added a commit that referenced this issue Apr 8, 2024
jkomoros added a commit that referenced this issue Apr 8, 2024
jkomoros added a commit that referenced this issue Apr 8, 2024
jkomoros added a commit that referenced this issue Apr 8, 2024
jkomoros added a commit that referenced this issue Apr 13, 2024
jkomoros added a commit that referenced this issue Apr 14, 2024
jkomoros added a commit that referenced this issue Apr 27, 2024
jkomoros added a commit that referenced this issue May 12, 2024
… of selectActiveCards.

This matches the behavior of the bulk-edit. It uses selected cards if any selection is active, and ohterwise the whole collection.

There have been a few times I've accidentally forgotten to filter down to only selected cards and then semanticSort fails because there are too many cards.

Part of #688.
jkomoros added a commit that referenced this issue May 12, 2024
Note the message likely won't be very useful, I presume I'm not unpacking the server side error well.

Part of #688.
jkomoros added a commit that referenced this issue Aug 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant