MadeBaruna / paimon-moe

Your best Genshin Impact companion! Help you plan what to farm with ascension calculator and database. Also track your progress with todo and wish counter.
https://paimon.moe
MIT License
1.41k stars 270 forks source link

Feature Suggestion: Track Traveler's Diary #272

Closed EffortlessFury closed 2 years ago

EffortlessFury commented 2 years ago

I know that this requires providing different auth credentials and thus means introducing an entire additional process, but I was wondering if this feature might be worth adding? I'm willing to work on implementing it myself but wanted to know if it seemed like too much to ask of players to go through an additional import process for it.

MadeBaruna commented 2 years ago

I kinda don't want to add something that requires credentials

EffortlessFury commented 2 years ago

Doesn't the Wish Importer use credentials?

EffortlessFury commented 2 years ago

You know, I may have used the wrong word. It doesn't require credentials, it requires an auth token (cookies).

MadeBaruna commented 2 years ago

The hoyolab token is basically the username and password, it's different from the wish import, the token can only access wish history

EffortlessFury commented 2 years ago

Or, in other words, you feel that the auth needed to facilitate this feature offers access to too many things to justify asking for it?

MadeBaruna commented 2 years ago

Yes. I might be wrong tho, never really check it.

EffortlessFury commented 2 years ago

Technically speaking, it theoretically gives you access to all of the HoYoLab endpoints; anything a user could do on the site you could technically do on their behalf. That said, this site is open source, so how it is used can be verified, but that's still not necessarily enough to convince most people.

Another approach could be to have a Powershell script retrieve the information locally and allow you to import the resulting Diary JSON into the site?

nagi-desuuu commented 2 years ago

Wouldn't the Privacy Policy come into play here?

EffortlessFury commented 2 years ago

Yes, it would. A new entry under what the site collects and does would be needed, but there wouldn't be any changes to what the site does not save, as this wouldn't be saving anything but the diary information you want imported.

EffortlessFury commented 2 years ago

So, is this something there's any interest in having be part of the site? It can definitely be implemented without requiring storing any auth info in any capacity, so is the concern with the feature's existence or with the implementation details?

nagi-desuuu commented 2 years ago

My simplest implementation if I were the developer would be to just have an option in the database that just links to the original website, which would be the safest. However, specialized shenanigans can turn HoYoLab's API into a Swiss Army Knife, which would achieve the above; I'm just not cut out for it.

EffortlessFury commented 2 years ago

The reason I suggest the feature is that the diary has a three-month expiration period. I can absolutely make this work, I just want to make sure it's wanted and, if so, what implementation is preferred.

These two methods are both already implemented for the Wish Importer. I could always start with the latter option (Local Importer) as that's the more secure option, and the option for utilizing the CORS proxy could be added later if desired?

MadeBaruna commented 2 years ago

Btw, isn't the traveler diary can be opened only in the app?

EffortlessFury commented 2 years ago

It's only served to the app but like anything it can be accessed via the API anywhere. You make a good point though, maybe better to not draw attention to "circumvention" on a well-known platform. I'll go implement it elsewhere less overt.