Tagging bot for https://imgur.com made under the MIT license.
Please refer to the wiki for information on this project. https://github.com/RoseLaLuna/Prodosia/wiki
Tagging bot for https://imgur.com
License: MIT License
Tagging bot for https://imgur.com made under the MIT license.
Please refer to the wiki for information on this project. https://github.com/RoseLaLuna/Prodosia/wiki
It makes the application hang after importing a particularly large amount of users.
This issue overlaps partially with #19
When a tag command gets issued on a post again, it doesn't get refreshed properly.
-> A Tag-request in the queue should be properly updated from the database whenever it runs out of tag-comments.
Subscription command output should also contain the ratings and filters that were supplied.
Some users have indicated that their archives aren't working, but this doesn't seem to be a universal issue for everyone. Will need looking into to determine the cause.
Which includes notepad.exe
Commands should be threaded so that larger commands do not lock up the User Interface.
java.lang.IllegalArgumentException: The taglist-id was not recognized.
at com.Bluefix.Prodosia.DataType.User.UserSubscription.<init>(UserSubscription.java:66)
at com.Bluefix.Prodosia.DataHandler.UserHandler.parseUsers(UserHandler.java:285)
at com.Bluefix.Prodosia.DataHandler.UserHandler.dbGetUsers(UserHandler.java:248)
at com.Bluefix.Prodosia.DataHandler.UserHandler.getAllItems(UserHandler.java:115)
at com.Bluefix.Prodosia.DataHandler.LocalStorageHandler.getAll(LocalStorageHandler.java:157)
at com.Bluefix.Prodosia.GUI.Managers.ButtonListManager.UserListManager.listItems(UserListManager.java:66)
at com.Bluefix.Prodosia.GUI.Managers.ButtonListManager.UserListManager.listItems(UserListManager.java:40)
at com.Bluefix.Prodosia.GUI.Managers.ListManager.GuiListManager.fill(GuiListManager.java:97)
at com.Bluefix.Prodosia.GUI.Managers.ListManager.GuiListManager.setRoot(GuiListManager.java:72)
at com.Bluefix.Prodosia.GUI.Managers.ListManager.LimitedGuiListManager.<init>(LimitedGuiListManager.java:63)
at com.Bluefix.Prodosia.GUI.Managers.ButtonListManager.UserListManager.<init>(UserListManager.java:57)
at com.Bluefix.Prodosia.GUI.Application.ApplicationWindow.setupListManagers(ApplicationWindow.java:302)
at com.Bluefix.Prodosia.GUI.Application.ApplicationWindow.initialize(ApplicationWindow.java:251)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.reflect.misc.Trampoline.invoke(Unknown Source)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.load(Unknown Source)
at com.Bluefix.Prodosia.GUI.Navigation.GuiApplication.loadWindow(GuiApplication.java:57)
at com.Bluefix.Prodosia.GUI.Navigation.VistaNavigator.GetVista(VistaNavigator.java:134)
at com.Bluefix.Prodosia.GUI.Navigation.VistaNavigator.loadVista(VistaNavigator.java:148)
at com.Bluefix.Prodosia.GUI.Navigation.GuiApplication.start(GuiApplication.java:124)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$159(Unknown Source)
at com.sun.javafx.application.LauncherImpl$$Lambda$52/22727184.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$172(Unknown Source)
at com.sun.javafx.application.PlatformImpl$$Lambda$48/20268726.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$null$170(Unknown Source)
at com.sun.javafx.application.PlatformImpl$$Lambda$50/17111350.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$171(Unknown Source)
at com.sun.javafx.application.PlatformImpl$$Lambda$49/8835591.run(Unknown Source)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$145(Unknown Source)
at com.sun.glass.ui.win.WinApplication$$Lambda$38/17066501.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Taglists in GUI list managers seem to be accumulating for some reason.
memory is not properly GC'd for the user-list (especially with a large user list). Expected to be an issue because onClick property isn't properly dereferenced.
Rework the project into separated layers to more closely resemble industry standard.
There should be a subfolder in the folder with the executable .jar that contains periodic copies of the database file, should it become corrupted or lost.
To prevent the application from crashing when trying to show all of them. If the threshold is exceeded, simply tell the user the amount of users that were selected.
One tagger has indicated that her archives do not function properly. Discord channels are recognized properly and permissions were in order.
I have two taglists set up, but the bot doesn't seem to think they exist. My taglists are "Default" and "Members"
Here are their details:
Default:
Members:
I also have two Users added, myself and another. We are both subscribed to both taglists. I'll attach a screenshot of one of our user pages (with Imgur name and id edited out). I'm not sure if this is right, but the only thing that changes when I subscribe or unsubscribe from a taglist is the presence of the "+" next to it's name on the left.
I have tried every possible variation of the tag, sub, and suball commands, but they each give an error:
tag example: prefix tag postid Members
Response: Error! No taglists were found.
sub example: prefix sub ImgurName Default
Response: Error! There was no subscription data detected.
suball example: prefix suball ImgurName
Response: There were no "" quotation marks around the argument. Please check your syntax.
So, does anyone have any idea what I'm doing wrong? I'd greatly appreciate any help!
Every hours a number (~50) of users should be checked by Imgur id to see if their name is still the same.
After editing the name of a taglist, the taglist itself was gone. The following error message
java.lang.IllegalArgumentException: The taglist-id was not recognized.
at com.Bluefix.Prodosia.DataType.User.UserSubscription.<init>(UserSubscription.java:67)
at com.Bluefix.Prodosia.DataHandler.UserHandler.parseUsers(UserHandler.java:372)
at com.Bluefix.Prodosia.DataHandler.UserHandler.dbGetUsers(UserHandler.java:330)
at com.Bluefix.Prodosia.DataHandler.UserHandler.getAllItems(UserHandler.java:142)
at com.Bluefix.Prodosia.DataHandler.LocalStorageHandler.getAll(LocalStorageHandler.java:169)
at com.Bluefix.Prodosia.GUI.Managers.ButtonListManager.UserListManager.listItems(UserListManager.java:67)
at com.Bluefix.Prodosia.GUI.Managers.ButtonListManager.UserListManager.listItems(UserListManager.java:39)
at com.Bluefix.Prodosia.GUI.Managers.ListManager.GuiListManager.fill(GuiListManager.java:113)
at com.Bluefix.Prodosia.GUI.Managers.ListManager.GuiListManager.setRoot(GuiListManager.java:70)
at com.Bluefix.Prodosia.GUI.Managers.ListManager.LimitedGuiListManager.<init>(LimitedGuiListManager.java:63)
at com.Bluefix.Prodosia.GUI.Managers.ButtonListManager.UserListManager.<init>(UserListManager.java:58)
at com.Bluefix.Prodosia.GUI.Application.ApplicationWindow.setupListManagers(ApplicationWindow.java:210)
at com.Bluefix.Prodosia.GUI.Application.ApplicationWindow.initialize(ApplicationWindow.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.reflect.misc.Trampoline.invoke(Unknown Source)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2566)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425)
at com.Bluefix.Prodosia.GUI.Navigation.GuiApplication.loadWindow(GuiApplication.java:58)
at com.Bluefix.Prodosia.GUI.Navigation.VistaNavigator.GetVista(VistaNavigator.java:136)
at com.Bluefix.Prodosia.GUI.Navigation.VistaNavigator.loadVista(VistaNavigator.java:150)
at com.Bluefix.Prodosia.GUI.Navigation.GuiApplication.initializationFinished(GuiApplication.java:146)
at com.Bluefix.Prodosia.GUI.Navigation.GuiApplication.start(GuiApplication.java:121)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$161(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$174(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Unknown Source)
Where there is more than one filter being used and a user has an array of filters, the post isn't properly blocked.
https://imgur.com is known to have a wonky API and will, at times, not properly delete comments. An automated module that attempts to add comments directly from the user account if they adhere to a certain pattern should be added.
suball command requires more extensive testing. This in turn requires a means of mocking the Baringo Client (by means of a provider implementation).
The suball / unsuball currently looks in the wrong comment tier. Restore the original comment tier check and reflect this in the tests.
The permissions for a tracker do not update properly after they have been set in the GUI
When a taglist is updated to (not) use ratings, this change should be properly reflected in the other parts of the application.
TagRequest.java is a key class in the project and should have proper test coverage.
If the application detects a 404-issue while retrieving the comments for a Tracker, update the tracker name by its stored id. Alternatively, every hour one or several trackers could be automatically updated.
While retrieving the comments from a post, the original tag-command should be visible. This prevents issues where the tag-comments are not properly retrieved but the comments are posted nonetheless.
Despite explicitly closing them, there is still a memory leak present with the Finalizer objects. An update of the library or a different library entirely might resolve this.
When API credentials are incorrect, it's possible for someone to get stuck in the login-screen. If logging in goes wrong, instead direct them to the API keys screen, which forces the user to login properly and allows for them to shut down the application.
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.