millenniumearl / yam Goto Github PK
View Code? Open in Web Editor NEWUnofficial Game Updater for the F95Zone platform
License: MIT License
Unofficial Game Updater for the F95Zone platform
License: MIT License
Could we get some options on the path parsing when importing or scanning folders?
For example being able to set our own setup, users have different setups from the past and importing titles in bulk would be swell.
For example i have a Game-List controlled collection that has all the titles installed like: creator\title\version\game.exe
Having the ability to change the parsed path to say that scheme or any other scheme would open up for more usecases across the board.
Is your feature request related to a problem? Please describe.
To avoid searching for installed browsers, decide which one to use or prepare all the settings to let the user decide, it is necessary to add an internal browser for navigation
Each link opened within the application must be opened in this internal browser from which it is possible to export the link to open it in an external browser chosen by the user (for possible downloads).
Some useful libraries can be:
Describe the bug
The messagebox at the update message is using the GitHub format. And isn't displaying these formats correctly.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The description should be formatted correctly.
Desktop (please complete the following information):
CodeFactor found an issue: Complex Code
It's currently on:
app\electron\main\main-renderer.js
Commit 8236c9e
F95Zone now requires Captcha.. you need to add a way for us to solve the captcha in the program.
Describe the bug
Compressions of previews in WEBP/GIF is not performed due to an error
To Reproduce
Steps to reproduce the behavior:
Navigate the application pages
Expected behavior
Compression should be successful
Desktop (please complete the following information):
Describe the bug
adding game from url fails
log:
16:47:15.351 › Paginator prepared
16:47:15.353 › Paginator connected to DOM
16:47:15.355 › DOM loaded, initializing elements
16:47:15.461 › Elements initialized
16:47:15.461 › Preparing internal data
16:47:15.465 › Logging into F95Zone
16:47:15.516 › Online status: true
16:47:15.517 › Send API to main process for auth request
16:47:18.087 › Authentication result: AUTHENTICATED
16:47:18.093 › Retrieving user info from F95
16:47:18.094 › Loading paginator
undefined:1 Failed to load resource: the server responded with a status of 404 ()
main-renderer.js:179 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'id')
at HTMLAnchorElement.onAddRemoteGame (main-renderer.js:179:59)
onAddRemoteGame @ main-renderer.js:179
16:48:27.955 › Error 11205: onAddRemoteGame -> window.F95.getGameDataFromURL (URL: https://f95zone.to/threads/maid-idle-v1-0-phracassado.120049/): Error: Error invoking remote method 'f95api': TypeError: Cannot read properties of undefined (reading 'match')
setTimeout (async)
consoleLog @ VM143 console.js:93
transport @ VM143 console.js:46
runTransport @ VM141 log.js:44
runTransports @ VM141 log.js:27
log @ VM141 log.js:21
module.exports.reportError @ VM197 error-manger.js:108
reportError @ VM115 main-preload.js:199
(anonymous) @ main-renderer.js:178
Promise.catch (async)
onAddRemoteGame @ main-renderer.js:178
16:48:27.956 › Unhandled promise rejection in main-renderer.js: Error: Cannot read properties of undefined (reading 'id')
setTimeout (async)
consoleLog @ VM143 console.js:93
transport @ VM143 console.js:46
runTransport @ VM141 log.js:44
runTransports @ VM141 log.js:27
log @ VM141 log.js:21
module.exports.manageUnhandledError @ VM197 error-manger.js:61
unhandlederror @ VM115 main-preload.js:340
window.onunhandledrejection @ main-renderer.js:27
To Reproduce
Steps to reproduce the behavior:
Desktop:
Is your feature request related to a problem? Please describe.
I don't want to open a porn website in my default browser
Describe the solution you'd like
It would be awesome if I could choose which browser I want to use for this application, or an option to copy the link
Describe the bug
Unhandled promise rejection in main-renderer.js: ENOENT: no such file or directory, rename 'C:\Users\USERNAME\AppData\Roaming\yam\appcache\threads.db~' -> 'C:\Users\USERNAME\AppData\Roaming\yam\appcache\threads.db'
To Reproduce
It happens randomly
Desktop:
Is your feature request related to a problem? Please describe.
It can be annoying sometimes when you're still on an oudated version.
Describe the solution you'd like
Create an update button in the settings page. So you still have a choice if you want to download/install the update or not.
Describe alternatives you've considered
An autoupdater maybe, but not that many people like autoupdaters.
Describe the bug
Unable to delete a game from disc, on console the error "EPERM: the directory is not empty"
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The game should be removed without errors
Desktop (please complete the following information):
Is your feature request related to a problem? Please describe.
As far as I have experienced, there is no way to add anything from the "Comics" or "Animations" sections.
Describe the solution you'd like
Seperate sections for those categories, Due to the nature of them, they should not require a folder, but just a link to the post.
This should make it possible to add a post, and verify that you have seen the newest update. The should then be possible to "mark as read" so that they won't show a marker until next update.
Describe alternatives you've considered
I have tried using F95Watcher, which seems to do this without too much trouble. Although it would be nice to have this implemented in the same manager as the games.
The tool is located here: https://f95zone.to/threads/f95-favorite-games-updates-v1-2-0.44538/
Hi sometime when i launch YAM a window opens infinitely by creating mass processes
Describe the bug
It is possible to delete a game from disk even if its path does not exist (e.g. external drive)
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The application should warn that the game path does not exist
Desktop (please complete the following information):
Add an option to mark the current version of a game completed.
This would just be, more or less, a checkmark, so that you can see that you have completed all the content in the current version. This could be auto cleared when a new version is installed.
Describe the bug
When i go to click on "Open Thread" in the update dialog, nothing happens,
electron logs Check failed: chdir(current_directory) == 0
but if i manually run xdg-open <link>
(as electron does on linux) it works fine
the "Open Directory" button works normally
Does not affect the link on the game card
Desktop:
I get this error in the log files over and over again for every game. in version 2.5.7
Error: spawn C:\Users\kai\AppData\Local\Programs\yam\resources\app.asar\node_modules\cwebp-bin\vendor\cwebp.exe ENOENT
at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
at onErrorNT (internal/child_process.js:469:16)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
[2021-05-10 03:10:07.422] [error] Error 20307: _preparePreview -> this._compressGamePreview: Error: Uncaught TypeError: Cannot read property 'length' of undefined
I had some problems with the menu bar not going away even after I unticked dev mode. it kept popping up on restart. I fixed that by deleting the config.json and preferences. I also deleted the cache.
because the meny tab was open, the rest of the window got pushed down. and I had to scroll down every time I wanted to change page. annoying....
I don't know if these two bugs are related...
If I keep it at default window size and don't touch the dev switch again. it looks fine, and works fine. I'll just use F11 for fullscreen instead to see more.
So I don't really know if this error actually does anything bad or not.
But I figured I'd report it.
Is your feature request related to a problem? Please describe.
Add support for game mods/patch, allowing the user to store and install/uninstall them at will.
Describe the solution you'd like
To install a patch, it is usually necessary to add and/or overwrite files present in the original game. It may happen that some mods stop working due to application updates that introduce changes at the code level. For this reason (or because for other reasons) it is necessary to remove the mod files which, for less experienced users, can be a difficult procedure, especially if some files have been overwritten and need to be restored.
To work around this problem, mods can be added via YAM, providing them to the program in the form of a complete directory structure for the game.
Example:
To add a patch to a Ren'Py game you usually add the patch.rpy
file in the game
directory. This means that YAM will need to pass a file (perhaps compressed, such as zip/rar) or an extracted directory on your computer containing in turn a game
directory including the patch.rpy
file and not the single patch.rpy
file. This is because there may be other files that need to be placed in a particular directory.
The patches/mods will be saved in a system directory in the same folder that contains the game (or its executable) and that mod will have a record in a dedicated database.
id | filename | game_id | path (relative to game) | installed (y/n) | date |
---|
When the mod is added, this operation will be recorded in the database (in a specific table) where the following information will be saved (one record for each mod file added):
id | mod_id | operation | filename | path_to_original_file | checksum_sha |
---|
Where is it:
mod_id
: is a reference to the unique ID of the actual modoperation
: Type of operation performed between add
, overwrite
or join
path_to_original_file
: Path to the original overwritten file (which was previously saved)checksum_sha
: Checksum of the installed mod file (for verification)The process of adding a mod to a game is as follows (steps for each mod file):
add
operations previous to an overwrite operation of the same file.Removing a mod is analogous:
type=add
) and merged ones (type=merge
) are removedpath_to_original_file
fieldDescribe the bug
When trying to add certain games, the program is unable to find them. When then proceeding to try and add them via URL it will popup with "Adding game from url" and then stop. I've noticed that this only happens on games with 0 reviews on f95.
To Reproduce
Steps to reproduce the behavior:
The brackets in the version naming system [ ] messes with unren.bat all versions.
can't Decompile rpyc files without removing the brackets first. took me a while to figure out that is was the brackets. tried everything else first.
I don't know if the brackets mess with RenPy games when you play them. but unren doesn't work with brackets.
could we use ( ) instead? that works fine.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
Warning
These dependencies are deprecated:
Datasource | Name | Replacement PR? |
---|---|---|
npm | i18next-electron-language-detector |
|
npm | string-similarity |
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.
.github/workflows/codeql-analysis.yml
actions/checkout v3.6.0
github/codeql-action v2
github/codeql-action v2
github/codeql-action v2
.github/workflows/electron-build.yml
actions/checkout v3.6.0
actions/cache v3.3.3
actions/setup-node v3.8.2
samuelmeuli/action-electron-builder v1.6.0
.github/workflows/issue-label.yml
github/issue-labeler v2.6
.github/workflows/pr-label.yml
actions/labeler v4
.github/workflows/stale.yml
actions/stale v4
package.json
@material-icons/font 1.0.36
@materializecss/materialize ^1.0.0
@millenniumearl/f95api ^2.0.0-beta.13.2
@millenniumearl/recaptcha-harvester ^1.2.1
ajv ^8.11.0
electron-is-dev ^2.0.0
electron-log ^4.4.6
electron-online ^1.0.0
electron-store ^8.0.1
electron-updater ^5.0.1
glob ^8.0.1
i18next ^21.6.16
i18next-electron-language-detector 0.0.10
image-downloader ^4.2.0
nedb-promises ^6.0.3
new-github-issue-url ^0.2.1
string-similarity ^4.0.4
v8-compile-cache ^2.3.0
@babel/eslint-parser 7.24.1
electron-builder 23.6.0
electron 18.3.15
eslint 8.57.0
node >=14.10
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.