Commits
May 2026:
September 2023:
August 2023:
June 2023:
- bump the version again
- bump the build number again
- Add a right-click menu to copy an image
- Make the focused image draggable
- Remove an unnecessary VStack
- show a progress spinner before the auth message
- move the Xcode bits to the top level
- add an app category
- remove all the old app stuff
- Pick up edits to photos made outside the app
- Allow opening the photo directly in Photos
- Add support for light/dark mode and a setting
- the app only has and needs a single window
- Merge pull request #22 from alexwlchan/track-asset-identifiers
- more commentary
- Add more comments on PHAssetHStack
- Add some more comments, move things around
- Move functions around into a more sensible order, add more comments
- Push out the timing code into a separate file
- Add a comment to photoLibraryDidChange
- Add a comment about the list of internal identifiers
- remove some unused variables
- Fix album info
- Snap to scroll when we’re moving >100 images at a time
- Push some setState stuff into PhotosLibrary for snappier UI
- WIP make it faster (but more complicated)
- now data is live, but slow
- WIP don’t fetch the PHAsset immediately
- Track the asset identifiers in the HStack
- remove an unused import
- auto-increment the build number
- Add ⌘← / ⌘→ to jump to the beginning/end of the Photos Library
- Implement a basic LRU cache to limit memory usage
- Simplify how the FocusedImage is determined
- Remove an old variable
- make the thumbnails look less fuzzy
- fix the links
- less slagging off of Darkroom
- let’s not slag off Darkroom
- Add the new README
- Merge pull request #18 from alexwlchan/remove-dead-code
- Remove some unused profiling code
- Remove some commented-out code in ThumbnailImage
- Merge pull request #17 from alexwlchan/tidy-up-event-handler
- Add some syntactic sugar for looking up state by index
- Add some syntactic sugar for looking up assets by index
- Consume any handled keyDown events
- bigger icon!
- fix a file association
- finish renaming to Blink
- rename to Blink
- fix some crappy naming choices
- this is really a model class
- remember to actually assign this variable!
- Try to preserve a user’s position in the thumbnail list
- Add a basic info overlay; right-align info
- better variable name
- remove a bunch of commented-out code
- remove a bunch of dead code
- jump to last unreviewed/random unreviewed
- include the asset index as debug info
- allow jumping directly to a photo
- mark images as degraded when we switch
- black
- remove the word ‘new’ from a bunch of places
- Ensure we pick up changes to album info in AlbumInfoOverlay
- allow selecting the debug/stats text
- remove a now-unused asset
- fix a warning about optional debug info
- make the icons a different size if the item is selected
- Fix the performance issues in PHAssetHStack
- Revert “Revert “don’t doubly-create this Collection”“
- Revert “don’t doubly-create this Collection”
- don’t doubly-create this Collection
- fetch all the photos
- Handle the Photos Library auth flow properly
- keep the thumbnail list scrolled to the right position
- remove some old code
- keep cranking away at review latency
- default showing debug info to false
- Get thumbnails working in a non-awful way
- make .gitignore happy
- make sure thsi still compiles
- Tidy up FavoriteOverlay
- create a NewThumbnailList view
- keep tidying
- move album info down a layer
- remove some old code
- add a loading indicator overlay
- clean up some old code
- wire up favorite toggling
- Fix the problem with albums not updating
- fiddle with album overlays, allow reviewing again
- Sort out FocusedImage and why it works
- make xcode project files happy
- add a big image, implement basic back/forth navigation
- start writing a faster path for dealing with updates
- Break up all the thumbnail bits
- get the new hstack working with thumbnails
- remove an unnecessary VStack
- remove a file I never used
- Make the PHAssetHStack indexes consistent
- Create a generic version of the PHAssetHStack
- Add a preview for PHFetchResultCollection
- Add a preview for DeferredRendering
- Extract and document PHFetchResultCollection
- remove some dead code
- more debugging
- delete debugging text
- get indexes working again
- WIP
- reduce diff churn
- reduce diff churn
- WIP
- try using PHFetchResult
- We only need to get a PHFetchResult here, don’t load into memory
- add a path to update this snappily
- Cache the list of approved/rejected/needs action assets
- Only create a single instance of PhotosLibrary
- Add another layer of caching in PHAssetImage
- Pass along the deliveryMode
- add a note on an edge case
- Don’t show the progress indicator for the first second
- Add a spinning indicator for images which are loading
- Handle errors when getting the image; don’t crash
- actually refresh the assets when possible
- add a stats overlay
- jump to last unreviewed
- remove some unnecessary logging
- try shoving state around
- We can get the asset for AlbumInfo from PHAssetImage
- keep fiddling with PHAssetImage
- get async images working (kinda)
- add a cross-stitch toggle
- sort photos by date
- get toggling working for favouites
- toggle favorites, kinda
- allow marking a photo as reviewed
- remove an unused file
- desaturate rejected images
- don’t show the names of meta-albums
- Add coloured icons to show what review state a photo is in
- start adding review states
- Add a little heart overlay for favorites
- Start by scrolling to the end (hacky)
- Merge pull request #8 from alexwlchan/jump-to-image
- Add the missing vertical space in the VStack
- remove a now-completed TODO item
- tidy up the main window
- Pull this view out into a standalone file
- Add a tap gesture to jump to a selected photo
- Make array index available inside this ForEach
- Merge pull request #7 from alexwlchan/swiftui
- Get thumbnailimage working
- fixes, readability
- move out a couple more bits
- Move out some of the helper functions
- Add a TODO comment
- remove border
- keep fiddling with thumbnails
- do some cleanup
- don’t put this asset in the app
- update thumbnailImage when you page through
- get nice square images
- now put thumbnails in the scrollbar
- update the position of thumbnails
- get a scrolling list of images
- Add AlbumInfo and PreviewImage
- render a full-sized image
- ignore a few other bits
- ignore xcuserdata
- get all the photo data
- Add the basic SwiftUI app
May 2023:
- get some fancy corner stuff working
- kick off background tasks for thumbnail regen
- Optimise the state toggling logic
- add a ‘random unreviewed’ command
- improve the error handling for conflicting states
- add a command to jump to the next unreviewed photo
- move some of the JavaScript out into a separate file, use a switch
- remember to reload after getting new metadata
- add a button to refresh the metadata
- fix a typo
- restructure run_action to minimise db lookups
- Don’t retrieve the asset unless we’re going to use it
- make sure ‘next unreviewed’ actually works!
- add an explanation of the video
- add a brief usage bit
- add more readme stuff
- add some architecture notes
- add some stats
- approved, not flagged
- Update README.md
- start writing the README
- add the screen recording
- get the original filename
- start opening photos.app
- add the missing variable
- WIP
- fix a couple of issues
- comment the get_asset_jpeg script
- remove two unused scripts
- add some explanatory comments
- add more comments and swift-i-ness
- remove two unused files; keep tweaking
- wire up the other actions
- switch to actions for flagged
- start refactoring the actions
- allow toggling favorite status
- tidy up code, only interested in images
- get flagging/rejecting working
- get actions working
- get the viewer working
- continue fleshing out get_asset_jpeg; add a web server
- continue sorting out the scripts I need
- create some thumbnails
- get some sort of script working
- start fleshing out the Swift scripts
- Add a script to remove a photo from a photo album