moffatman / chan Goto Github PK
View Code? Open in Web Editor NEWFlutter imageboard browser for iOS and Android
License: GNU General Public License v3.0
Flutter imageboard browser for iOS and Android
License: GNU General Public License v3.0
ExtendedNetworkImage.cache
)For example, when opening or closing replies, peeking at HoverPopup.
Would be improved by #1, but separately from absolute time, there are some frame drops in the spinner animation on the current versions.
It will make it easier to navigate reply trees where there are a lot of replies in the middle of the tree.
It could be an opportunity for optimization, there is a lot of duplicated code. Post row is not as customizable as thread row at the moment.
Very insignificant
To avoid loading spinners or maybe for offline use?
Landscape mode on iPhone X+ looks bad as there is dead space on the side without the notch.
Not sure if it's the iPhone throttling as they don't seem to be observed when attached in profile mode. It could have to do with the power being connected.
Different than #11 as this would be some sort of userscript (Chance not running on desktop).
Right now you aren't allowed to open replies which are already opened as a parent of the current reply. It makes sense if the reply tree is simple, but if it's complex, you might want to open ancestor replies.
It's not crazy high but still a lot higher than it should be. The app is evicted more often than it needs to be. Would be helped by fixing #1.
Seems like the viewport is changing sizes after alt-tab (could have to do with the capture of the screenshots for multitasking resize). Maybe we can detect and recover from this, it only seems to happen when scrolled all the way to the bottom.
Will be needed after #31
Long WEBMs can have unacceptable load times. Maybe the playback could begin early by partially reading the output file.
Issue is that the mp4 MOOV atom is not computed until the end of transcoding.
Would be useful if #19 is not solvable
Maybe it should be disabled?
Mouse shouldn't be able to drag the interface around. Then it could be used to select text without opening the "select text" popup.
When dragging up, the post should expand from the bottom up. This was assumed to need an upstream change to TextOverflowPosition, but maybe with the new use of
Column` to render posts it would be easier.
Some sites are on the embeddable list, but they don't ever seem to return an appropriate image, so don't end up being shown. Removing them from the embed list (patching it) will mean reduced network requests and no loading embed widget which disappears once it's realized the site shouldn't be embedded.
Will need to set up a relatively clean build script.
Right now blocked as some android dependencies don't build in current flutter/master without some patches.
Right now, the background reply instantly appears behind the posts when scrolling stops. But if the user starts over-scrolling before it comes to a complete stop, it's not shown as expected. The duration of scroll-in should be known, so a fade-in could be used instead.
Export a clean image of a post or thread for sharing to other apps, rather than linking to the post or taking a screenshot.
Sometimes it takes some time before new thread data is provided by the sever. Once the reply ID is known, it could be inserted into the thread data and shown. The app would appear to be faster.
Right now that stuff just builds up forever, it's not obvious that it should be cleared semi frequently.
Right now the "red" count isn't used for board tabs. This could be a data point to add. Although on two-pane layout there are really no "board tabs" so it would be useless there.
Would need to determine which flags are possible based on board. Maybe related to #27
It has to do with the Skia graphics cache size. Not sure how much of a good idea it would be to unilaterally increase it.
Need a way to show WEBMs. Could use dart_vlc
but appears to crash upon minimal testing.
Right now, it always takes a fixed amount of time to fade-out an overscroll popup.
It would be good to verify that uses of [spoiler], [code], and [math] were well-formed before posting.
Loading premade 50,000+ line block lists is not possible right now. Will need a way to open as file, copy to internal directory, and load in an efficient manner.
For some reason WEBMs load awfully slowly for no apparent reason. Most devices they load very quickly. FFMPEG logs appear normal.
More complex than it seems due to how the replybox and tabs list hide behind the tab bar.
It's not easy to scroll through the gallery quickly in high-resolution right now.
Could be done by selecting archive first (limited to subset of boards on that archive) or a fusion of multiple searches behind the scenes.
Right now all previously seen threads will be loaded into RAM forever. The correct behavior should be to only load into memory when needed.
It's not really representative of the amount of scrolling that has occured, maybe updating that field should be blocked during search.
Will need to update extended_image
upstream to have some sort of concept of padding within the image rectangle
Dependent on Flutter support. Would be a large feature to add there.
Starting too many WEBM transcoding sessions at once will probably crash the device.
With hardware transcoding I believe it throws an error when too many are added, so it is not fatal.
The queue would need to reorder, it would be unacceptable to have to load all preceding WEBMs before the final ones.
Could be an issue for #21
Integrate with archives to fetch blocks of 1000 posts for event stickies.
In many places some hacks with touchSlop are used to handle gesture priority.
Maybe Drag start vs accepted could be investigated. Or fix upstream: flutter/flutter#11384
It's due to the use of getApplicationDocumentsDirectory()
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.