From 0a26a319b241978ee317bbe768eb61c4eb7a39d9 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Wed, 25 Aug 2021 18:48:34 +0200 Subject: Faster mangakatana search on exact match --- TODO | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) (limited to 'TODO') diff --git a/TODO b/TODO index 4e1ed73..b241b45 100644 --- a/TODO +++ b/TODO @@ -22,7 +22,7 @@ Show filename at the bottom when viewing an image/video on 4chan. Use https://github.com/simdjson/simdjson as a json library in other parts than matrix. Sanitize check: do not allow pasting more than 2gb of text. Add autocomplete for matrix commands. -Add option to disable autosearch and search when pressing enter instead or something? this would be needed for mobile phones where typing is slow. +Add option to disable autosearch and search when pressing enter instead or something? this would be needed for mobile phones where typing is slow. Or mobile should have longer timeout for all searches. Render view to a rendertexture and render that instead of redrawing every time every time. Provide a way to specify when notifications should be received (using matrix api) and also read the notification config from matrix. Also provide a way to disable notifications globally. Use quickmedia to show image in matrix rooms, instead of mpv. @@ -67,7 +67,6 @@ Modify matrix sync to download and parse json but not handle it, and then add a Fetch replies/pinned message using multiple threads. Show in room tags list when there is a message in any of the rooms in the tag. Show images while they download by showing them as scanlines starting from the top. Needed for slow websites such as 4chan. -Use curl parallel download instead of downloading with multiple threads. This can be done with multiple -O parameters. Add functionality to ignore users in matrix. This is done with an ignore request and we wont get messages and invites from that user anymore. Also add option to ignore in the invites page. Add keybind to go to invites page from any page. Show marker beside pinned messages tab name if there are new pinned messages. @@ -97,10 +96,8 @@ Allow removing reactions. When fetching previous messages in matrix, fetching until there are 0 messages or until there is at least 1 visible item. This is needed because right now we could fetch 10 messages, all which are delete/edit/react and it will look like there are no more messages to fetch to the user. QuickMedia crashes if you enter a room that you have left before. This could happen if cache is loaded that has a room that is then getting removed when sync is finished. Limit size of Entry and scroll content instead. -Instead of doing a GET for the first N bytes to check if a video is streamable, start streaming the video and if the first bytes doesn't contain MOOV then wait until the whole video has downloaded before playing it. Implement matrix spoiler, see: https://github.com/matrix-org/matrix-doc/blob/master/proposals/2010-spoilers.md. -Replace sfml font glyph loading completely with FreeType. -Add arguments to pipe plugin to pass input and output fifo for sending commands to QuickMedia and receiving events. +Replace sfml font glyph loading completely with stb_freetype. Create a workaround for dwm terminal swallow patch stealing mpv when moving QuickMedia to another monitor sometimes. Maybe check for structure notify events on mpv and reparent and select input on the mpv window again? Add option to decline and mute user in invites. This is to combat invite spam, where muted users cant invite you. Add an option to select video resolution, if we want to use less power and less bandwidth for example. @@ -124,8 +121,7 @@ Update timestamp of messages posted with matrix (and move them to the correct pl When sfml dependency is removed use libvips for image manipulation. Its a very fast library, especially for thumbnail creation. Notification race condition when fetching the first notifications page and receiving a notification immediately after the first sync? we might end up with a duplicate notification. Readd copying of Text in Body copy constructor. Find out why we need to make the text dirty on copy. -Body items that are no longer visible should stop their thumbnail download/creation (moving to bottom of file-manager is very slow). -Fix body flickering when moving up and there is a new local image to load. It happens because we have no idea how large the thumbnail is before loading it. +Body items that are no longer visible should stop their thumbnail download. Make body width the same as the window width (for the main body when there isn't a room list beside it) and pass margin to body draw. This is needed to allow swiping body from the window (screen) edge. Restrict sf::View viewport in Body to x axis as well, to hide the body in the end when swiping right. Ctrl+F to either bring up search that searches in the body (filtering, of searching for all messages in the room in matrix) or does an autocomplete search. For youtube that would be a google autocomplete search. @@ -141,8 +137,6 @@ When synapse adds support for media download http request range then quickmedia Ctrl+S when a body item is selected on youtube/xxxplugins should show an option to download the video, instead of having to press ctrl+s after the video is playing. Show a subscribe button for channels, which should be red and say "subscribe" if we are not subscribed and it should be gray and say "unsubscribe" if we already are subscribed. Display youtube playlists differently and support downloading the whole playlist at once. -To fix jitter in body when items are added before the selected item, we should increase page_scroll by the height of the new item. -Cancel current search when search is updated. Support 4chan archive. Use old method of rendering body where rendering items is done up and down, starting from the selected item. This will make quickmedia run as fast when displaying 100 000 items as when displaying 10 items. Use correct spacing when in grid (card) mode. Should be row spacing instead of body spacing. @@ -153,18 +147,13 @@ Embedding elements in rich text: first byte should be an invalid utf8 character Do not set fps to monitor hz if no key is pressed and cursor is not moving (for example when the computer is sleeping). (Maybe just detect if any sfml event is received), but maybe that wouldn't work with accelerometer. Ctrl+arrow key to move to previous/next video. Add keybinding to view file-manager images in fullscreen to preview them. Also add keybinding to create/delete directories. -Update item height when it switches from not being merged with previous to being merged with previous. This happens when loading previous messages in matrix and the message is the top one. Reload youtube video url if the video is idle for too long. The video url is only valid for a specific amount of time (the valid duration is in the json). Improve live stream startup time by downloading the video formats in parts instead of the hls/dash manifest? (use YoutubeLiveStreamMediaProxy). -Disable drop shadow on pinephone. Load the next page in chapter list when reaching the bottom (when going to previous chapters in image view). Loading image background should be rounded. -//Workaround mpv issue where video is frozen after seeking (with and without cache enabled, but more often with cache enabled). This happens because of audio. Reloading audio fixes this but audio will then be gone. Better deal with reading from file errors. This could happen when reading a file while its being modified. See read_file_as_json. Allow ctrl+r for video when the video is loading. -Youtube download gets stuck sometimes because of audio. Find a workaround for this. Dynamically change youtube video quality by modifying the itags (and other params?) if download is buffering or if the video is lagging. -Use the new media proxy for downloading youtube videos as well. PgUp/PgDown shouldn't move body by the number of visible items. It should instead move by the height of the body. Add option to view dead link in 4chan with 4chan archive and navigate to crossboard links. Show latest message before sync is done for a room when the latest message is an edit. Right now it has to fetch previous messages until the first non-edit message. -- cgit v1.2.3