mirror of
https://github.com/geode-sdk/geode.git
synced 2025-03-19 17:39:50 -04:00
fix the refresh button not actually forcing a cache reset on server mods
This commit is contained in:
parent
adcd42e42b
commit
3b58ed3ae2
2 changed files with 13 additions and 13 deletions
loader/src/ui/mods/sources
|
@ -104,12 +104,12 @@ ListenerResult InvalidateCacheFilter::handle(MiniFunction<Callback> fn, Invalida
|
|||
|
||||
InvalidateCacheFilter::InvalidateCacheFilter(ModListSource* src) : m_source(src) {}
|
||||
|
||||
typename ModListSource::PageLoadTask ModListSource::loadPage(size_t page, bool update) {
|
||||
if (!update && m_cachedPages.contains(page)) {
|
||||
typename ModListSource::PageLoadTask ModListSource::loadPage(size_t page, bool forceUpdate) {
|
||||
if (!forceUpdate && m_cachedPages.contains(page)) {
|
||||
return PageLoadTask::immediate(Ok(m_cachedPages.at(page)));
|
||||
}
|
||||
m_cachedPages.erase(page);
|
||||
return this->fetchPage(page, PER_PAGE).map(
|
||||
return this->fetchPage(page, PER_PAGE, forceUpdate).map(
|
||||
[this, page](Result<ProvidedMods, LoadPageError>* result) -> Result<Page, LoadPageError> {
|
||||
if (result->isOk()) {
|
||||
auto data = result->unwrap();
|
||||
|
@ -178,7 +178,7 @@ void InstalledModListSource::resetQuery() {
|
|||
};
|
||||
}
|
||||
|
||||
InstalledModListSource::ProviderTask InstalledModListSource::fetchPage(size_t page, size_t pageSize) {
|
||||
InstalledModListSource::ProviderTask InstalledModListSource::fetchPage(size_t page, size_t pageSize, bool forceUpdate) {
|
||||
m_query.page = page;
|
||||
m_query.pageSize = pageSize;
|
||||
|
||||
|
@ -277,10 +277,10 @@ void ServerModListSource::resetQuery() {
|
|||
}
|
||||
}
|
||||
|
||||
ServerModListSource::ProviderTask ServerModListSource::fetchPage(size_t page, size_t pageSize) {
|
||||
ServerModListSource::ProviderTask ServerModListSource::fetchPage(size_t page, size_t pageSize, bool forceUpdate) {
|
||||
m_query.page = page;
|
||||
m_query.pageSize = pageSize;
|
||||
return server::getMods(m_query).map(
|
||||
return server::getMods(m_query, !forceUpdate).map(
|
||||
[](Result<server::ServerModsList, server::ServerError>* result) -> ProviderTask::Value {
|
||||
if (result->isOk()) {
|
||||
auto list = result->unwrap();
|
||||
|
@ -355,7 +355,7 @@ bool ServerModListSource::wantsRestart() const {
|
|||
}
|
||||
|
||||
void ModPackListSource::resetQuery() {}
|
||||
ModPackListSource::ProviderTask ModPackListSource::fetchPage(size_t page, size_t pageSize) {
|
||||
ModPackListSource::ProviderTask ModPackListSource::fetchPage(size_t page, size_t pageSize, bool forceUpdate) {
|
||||
return ProviderTask::immediate(Err(LoadPageError("Coming soon ;)")));
|
||||
}
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ protected:
|
|||
std::optional<size_t> m_cachedItemCount;
|
||||
|
||||
virtual void resetQuery() = 0;
|
||||
virtual ProviderTask fetchPage(size_t page, size_t pageSize) = 0;
|
||||
virtual ProviderTask fetchPage(size_t page, size_t pageSize, bool forceUpdate) = 0;
|
||||
virtual void setSearchQuery(std::string const& query) = 0;
|
||||
|
||||
ModListSource();
|
||||
|
@ -77,8 +77,8 @@ public:
|
|||
virtual std::unordered_set<std::string> getModTags() const = 0;
|
||||
virtual void setModTags(std::unordered_set<std::string> const& tags) = 0;
|
||||
|
||||
// Load page, uses cache if possible unless `update` is true
|
||||
PageLoadTask loadPage(size_t page, bool update = false);
|
||||
// Load page, uses cache if possible unless `forceUpdate` is true
|
||||
PageLoadTask loadPage(size_t page, bool forceUpdate = false);
|
||||
std::optional<size_t> getPageCount() const;
|
||||
std::optional<size_t> getItemCount() const;
|
||||
|
||||
|
@ -110,7 +110,7 @@ protected:
|
|||
InstalledModsQuery m_query;
|
||||
|
||||
void resetQuery() override;
|
||||
ProviderTask fetchPage(size_t page, size_t pageSize) override;
|
||||
ProviderTask fetchPage(size_t page, size_t pageSize, bool forceUpdate) override;
|
||||
void setSearchQuery(std::string const& query) override;
|
||||
|
||||
InstalledModListSource(bool onlyUpdates);
|
||||
|
@ -140,7 +140,7 @@ protected:
|
|||
server::ModsQuery m_query;
|
||||
|
||||
void resetQuery() override;
|
||||
ProviderTask fetchPage(size_t page, size_t pageSize) override;
|
||||
ProviderTask fetchPage(size_t page, size_t pageSize, bool forceUpdate) override;
|
||||
void setSearchQuery(std::string const& query) override;
|
||||
|
||||
ServerModListSource(ServerModListType type);
|
||||
|
@ -160,7 +160,7 @@ public:
|
|||
class ModPackListSource : public ModListSource {
|
||||
protected:
|
||||
void resetQuery() override;
|
||||
ProviderTask fetchPage(size_t page, size_t pageSize) override;
|
||||
ProviderTask fetchPage(size_t page, size_t pageSize, bool forceUpdate) override;
|
||||
void setSearchQuery(std::string const& query) override;
|
||||
|
||||
ModPackListSource();
|
||||
|
|
Loading…
Reference in a new issue