chiyadev / genshin-schedule Goto Github PK
View Code? Open in Web Editor NEWπ Genshin farming scheduler
Home Page: https://genshin.chiya.dev
License: MIT License
π Genshin farming scheduler
Home Page: https://genshin.chiya.dev
License: MIT License
While reviewing #34 I realized that Enter the Golden House trounce domain is also missing from the domain list.
Low-prio as it works the exact same way as Confront Stormterror and Wolf of the North Challenge right now.
Currently the task list is naively sorted such that more overdue tasks appear first. If a pathfinding algorithm for tasks is to be implemented, it could potentially make farming more time efficient. Unfortunately this is an instance of TSP which is an NP-hard problem.
I tried implementing the simulated annealing algorithm but ended up with a big mess. Maybe it was not a suitable algorithm for this problem. Opening this issue to see if anyone is interested in tackling this.
Successful initial implementation must account for teleports as weight=0 unidirectionally. Elevation and water consideration is an added bonus (there are no geo data for these though).
Notifications are sent most of the time, but sometimes it fails with the log:
warn: GenshinSchedule.SyncServer.Discord.NotificationService[0]
No recipient user <null> found.
This line seems to be problematic.
The Resin calculator is super handy - I use it all the time. But it would be even more helpful if it could also show (or be set to show) when you'll hit relevant amounts of resin (as opposed to how much resin you'll have in certain amounts of time). Basically, how long until you hit any given multiple of 20 so you know when you can hit your next domain, boss, etc.
This would be even better if you could set your time zone and see what time you'll hit these milestones, and best of all if you could set reminders for them with the reminders bot (ping me whenever I have 40 resin available, for instance)
Sometimes icons in the task list are jumbled or incorrect. This fixes itself when collapsing and expanding the tasks widget, so it's likely to be a problem with SSR.
When you use the buttons to subtract set amounts of resin, it will reset the timer for the resin regenerating.
I tested this by matching the resin calculator to my resin in game and then clicking -20 before my resin regenerated in game.
If it kept the timer, it would've regenerated 1 resin in the next minute at most, but it didn't.
If you click > to preview the resin amount tomorrow, then click any of the buttons to subtract resin, and then click < to return to your current time, you'll have negative resin that shows as 0.
Clicking > again won't fix the issue, the preview will act like usual and add hours to simulate regeneration without touching the actual number.
May I ask if we can add a language change feature for this project?
I can provide L10n of Chinese.
Prerequisites:
Task list is responsible for handling keyboard shortcuts related to tasks n
and d
. Collapsing the list overlay in the map page however unmounts the component, so shortcuts do not work unexpectedly.
Low priority, since this issue only seems to happen while using the Brave browser.
https://i.imgur.com/ZHJQBCA.gif
Works fine in Google Chrome and Mozilla Firefox.
The website is currently only available in English and all strings are hardcoded. Implementing i18n support would allow people to add localizations for other languages.
It would be great if we could have the map as an option to turn off. I don't use the map and it would use fewer resources in loading into the schedule tracker if it didn't load unless needed by users. On mobile especially since it takes up a large part of the screen.
Suggested by tae***@gmail.com
via email
If I may throw in a little idea/suggestion. Add a 4th button to filter out the weekly domain? Those weekly take a lot of space and once they are done the info panels arenβt needed anymore.
The latest update makes the first 3 weekly bosses cost 30 resin rather than 60, but there's no button for that.
Most countries in North America and Europe observe Daylight Savings Time, where clocks are set forward one hour for half of the year. Currently the website doesn't account for this when displaying times.
As an example, for timezones such as America/New_York
, currently the time should be displayed in Eastern Daylight Time (EDT, or UTC-04:00), but it is still displayed in Eastern Standard Time (EST, or UTC-05:00)
Daylight Savings Time is complicated and varies in implementation between countries, so it'd probably be easiest to use something like moment.js and moment-timezone to take care of that stuff. If this isn't feasible or too time consuming, a simple manual toggle in the Settings menu would be enough. (e.g. checking a checkbox would add an hour to all times displayed)
Suggested by UnkWeil#9701
on Discord
Is it possible to have an option to add more resin calculators? Because I have 2 accounts and i'm sure a lot of people also have 2 account or more. And also, to be able to give names to our different calculators.
Due to the way resin calculators are implemented right now, it's not easy to make a "multiple calculator" feature. I think a better way to approach this would be to make a quick account switcher that lets you sign in to another account without having to type in the username/password, similar to how Google does it.
Suggested by Dechi#0001
on Discord
Could there be a special timer a weekly server reset for BP weeklies, especially the merchants that sell artifacts on Thursdays every week, or the weekly bosses?
there are weekly missions for the bp so a reminder every week to make sure they're done could be nice or the artifact merchants that reset every thursday
This could be implemented as a generic "reminders" system that complements the current tasks system. Users should be able to create their own one-time reminders or reminders that reset on specific a day and time.
(I fully intend to submit a PR for this but as I'll explain below it's not currently possible)
This issue appears to be a perfect storm of:
event.code
or event.which
instead of event.key
for key handlers (which is what hotkeys JS does)If you happen to have such a device on macOS you can test it out here: https://omatsuri.app/events-keycode
Basically, for e.g. 4, the top row key returns:
key: '4', code: 'Digit4', which: 52
but the numeric keypad returns (I think this matches NumLock off on Windows but macOS does not do NumLock):
key: '4', code: 'Numpad4', which: 100
Furthermore, Chrome seems to pave over this difference and returns the same as the top row key above, so it is left as a Firefox issue.
Solution:
4
becomes 4, num_4
for example)The MC should be part of the characters, possibly as a different character for each element, since talents are leveled independently between variants and with different materialas.
Suggested by hukio#6499
on Discord
for weapons - a way to select how many you own, who has it, and the lvl of each copy (this can be done by writing it down in notes, but I just think having it implemented into the interface can make it look neater than having it as a note)
for characters - be able to put what lvl their talents are.
In general - a way to "prioritize" select items. can be simple like the ability to favorite an item and it'll appear golden.
Also, character talent level input will allow #11 to proceed.
Hello! I love this project, but had 2 small requests.
1:
More time zones. The current one for "America" is ahead by 1 hour for me, which is a small inconvenience but I hope it can be edited in the future.
2:
More specific time. Right now, the resin regeneration estimate says 120 in 16 hours no matter how long it actually will take to get the resin to 120. While this is technically true, it'd be useful to have the 120 resin time estimate change dynamically just like every other estimate.
It'd also be useful to know what time in the timezone selected would be the time the resin is fully regenerated.
For example, it'd still say "120 in 12 hours" for those who are fine with doing the mental math but it'd also say "120 at XX:XX" in a single line below it.
Thank you for making this website! It's super useful.
On Firefox 85.0.2, when a task is clicked on the map, or an empty location is clicked on the map to open the task add/edit interface, the dropdown to select the unit of time is drawn outside the bounds of the add item card. If you know that it's there, you can still click it by clicking off towards the right and get the dropdown. See screenshot for details.
Potential feature to notify daily tasks and domains using web notifications API.
https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API/Using_the_Notifications_API
Thanks for the site! It's been super useful.
Would it be possible to add an expedition timer module? Something along the lines of "clicking this button starts a 20 hour timer that counts down to zero" would be useful. Obviously there'd be other stuff that could be fleshed out (decreased times for characters with expedition passives, a separate entry and timer for each character out on expedition, etc.) but at its core it'd just be a countdown timer.
I guess another request might be to add the ability to reorder the modules on the page, but that would likely be a bit more involved to implement depending on how the page is laid out.
Some crystal chunks respawn at server reset time starting 1.1
Sunsettia and apple icons missing in map marker icons
Couldn't find a website with a compiled list of all new items but the new in-game archive should be useful for this.
No preference on what keys are chosen. 2
, 4
, and 6
and their Numpad variants would be intuitive, but a check would be needed to make sure the text box isn't currently active.
Currently, resin events are fairly general with the amounts of resin they require.
They either need 20, 40, or 60.
I think it'd be useful to have the resin calculator show how long until you reach those thresholds if you're below them just so you know how long it'll be until you can run the next domain, weekly boss, elite boss, etc.
For example: if you're at 12 resin, it'll say "20 resin in 1 hour 4 minutes" and "40 resin in 3 hours 44 minutes"
This could potentially even replace what the calculator currently does by keeping track of intervals of 15.
I don't understand why the lack of such an obvious feature didn't prompt me until now.
Hi, first of all thanks for making this website!
I tried using the new sync feature today, but I wasn't able to log in on Firefox. For a brief moment, the red notification text below the submit button changes to NetworkError when attempting to fetch resource
, and then the page reloads. I then tried signing in with the same username-password combination on a Chromium-based browser which worked flawlessly.
I tried investigating the issue, but it started going over my head pretty quickly. The authentication request is shown as "blocked" in the Network tab (see below), which after a quick google search might be related to too many simultaneous connections to the server? I'm not sure how that could be the case here though.
These two links might explain part of what's going on:
https://stackoverflow.com/questions/43783829/what-does-blocked-really-mean-in-the-firefox-developer-tools-network-monitorin
https://developer.mozilla.org/en-US/docs/Tools/Network_Monitor/request_details#Request_Timing
Here is my relevant system info in case you need any of it:
Sync should automatically retry on failures without discarding failed patches.
Useful when I don't feel like farming ores this week.
how i can sign in to the website?
Suggested by Noh#4452
on Discord
Hey my suggestion would be to be able to set a notification when you reach a certain amount of resin before the 160 max
Like: You got 140 resin you'll be full in 2hours and 40minutes
Maybe this has more to do on how I use the site but, I have my own routes marked on the map, currently only crystals and respawnable artifacts, and is quite tedious having to click on each icon twice (one for selecting it and one to mark as done) for every icon.
My suggestion is being able to have a parent task and its children, and checking the parent would mark all as done.
I've seen the post "Keyboard shortcuts for common actions" but that leads me to this issue:
About the task list, i would find it better if the task got arranged alphabetically, that way we could have more control with the order they appear. I'm not sure how they are currently arranged.
The last thing that i found missing is the possibility of having filters to pick specific tasks and avoid having the list and the map cluttered. Would be great being capable of having multiple swappable lists like: Ore location tasks, elite enemies locations, artifact locations, etc. I can solve this switching between different users on Google Chrome so I'm not too worried about this.
Also want to say that this is one of the best pages for Genshin Impact. Thanks for your hard work.
Add keyboard shortcuts for commonly performed actions such as:
d
arrow keys
n
Theres a way to add timezones? I'm 1 hour ahead the America server, but I can't find the timezone adjust.
Thanks for the excelent work.
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.