Giter Site home page Giter Site logo

Comments (9)

stkAnon avatar stkAnon commented on June 25, 2024

Actually, here's an interesting note: When this does happen, manually pressing Home key will also have no effect, but Page Up still works. So it seems to be a problem with how Chrome/the OS handles jumping to the "beginning" of a page.

Platform: Fedora 25 Linux with Cinnamon desktop and the official build of Google Chrome 61.0.3163.100

Simultaneously using a diverse set of methods to do the scrolling might help.

from discord-history-tracker.

chylex avatar chylex commented on June 25, 2024

I can try forcing the "Load more messages" button to trigger, but I don't know why scrolling stops working in the first place, or whether it's stopping because it cannot find any new messages (that is done by searching for the "Load more messages" button, so if that button doesn't exist for whatever reason, it can't trigger older messages anyway).

from discord-history-tracker.

chylex avatar chylex commented on June 25, 2024

I'm able to reproduce the issue, will try to fix both of the reports. It's not possible to combine both clicking the button and scrolling, because it messes up Discord and doesn't clean up messages that are on the screen, so the browser just dies.

from discord-history-tracker.

chylex avatar chylex commented on June 25, 2024

Released an update, try if both issues are fixed. I also added an enforced delay because Discord can't keep up hiding messages on the bottom as it keeps scrolling, so this prevents the browser from crawling to a halt.

from discord-history-tracker.

stkAnon avatar stkAnon commented on June 25, 2024

This is awesome. I just tested it and it's already plowed through a good 50,000 messages without running into either issue.

I really do appreciate your work here and fast reply. I'm using it to download a year's worth of a very personally important group chat with some 1.8 million messages in the main channel, so it's super helpful. I know it's not ideal for large amounts of data, but it'll still probably only take a couple hours at most, there aren't really any other options available, the format is easy to parse, and it even comes with a custom viewer.

The delay when scrolling doesn't seem too noticeable. I guess most of the wait time is still spent requesting new messages? Anyway, again, thanks a lot for this.

from discord-history-tracker.

chylex avatar chylex commented on June 25, 2024

Chrome is probably better than Firefox with the delays, FF without multiprocess starts to tank with DHT running, video streaming, and about 40 other tabs. If you notice no delays, then Discord is probably cleaning up quickly enough that the limit of 300 messages on screen at once never triggers.

from discord-history-tracker.

chylex avatar chylex commented on June 25, 2024

I'd still recommend saving the file every so often, and if it crashes use Discord's search to jump back to the last message. If you set "Do Nothing" for "After reaching a previously saved message...", it'll continue until it reaches the start of the server.

I'm wary about adding a feature that'd find the earliest message and auto-jump to it (it probably wouldn't be too easy to implement either), but you can do that manually for 1.8M messages (should end up being close to 200 MB, so splitting it up into 2-3 files might be a good idea).

from discord-history-tracker.

stkAnon avatar stkAnon commented on June 25, 2024

I know Chrome handles every tab as its own separate process, so I figure the "crashes" just happen when it runs into an artificial memory limit for the tab. I've actually switched to Firefox now, which seems to have fixed it. It's almost up to 1.7M messages and still running smoothly.

Incidentally, I do seem to have another problem in Firefox where the radio buttons in the settings dialog are all rendered with a size of 0×0, making it impossible to click on them. But it doesn't impact usage too much and might just be a problem with my computer.
firefox
chrome

You might be able to keep a record of the earliest saved messages from each channel as it scrolls so you don't have to find it every time, then jump to it by plugging its contents, sender, embed content, and (local) date in the search bar? Or alternatively, you could also just keep track of the earliest timestamp and jump to any message from the day after it, letting it scroll through up to one duplicated day since it won't save duplicated messages anyway.

To make sure the record's completely comprehensive for every channel without any gaps though, you might have to keep track of each saved period, instead of just the earliest message, by saving both the earliest and the latest message seen every time you start and pause tracking. Then you can guarantee that nothing's been missed between messages (except edits), as long as all the saved periods cover a continuous length of time when unioned together. It might be overkill and complicated enough to affect future stability and maintenance, but it might also be fun to code?

from discord-history-tracker.

chylex avatar chylex commented on June 25, 2024

You can click the labels to select radio buttons (even if the cursor doesn't change), idk why they're not showing but something here might help?

The main reason I'm wary about auto-jumping to the past is that it'd make saving massive servers a lot easier, and I don't want to get in trouble with Discord by having lots of people load millions of messages. I don't know if they ever start rate limiting, but I'd think they'd notice a bunch of accounts doing requests 2-3 times a second for several hours.

from discord-history-tracker.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.