Compare commits

..

3 Commits

Author SHA1 Message Date
98dcb4f25b 1.20.1
All checks were successful
CI / Lint (push) Successful in 30s
CI / Test (push) Successful in 57s
2026-04-23 09:23:41 +01:00
7709634a9a Merge pull request 'Clear Nostr event cache from Settings' (#47) from feature/clear_nostr_cache into master
All checks were successful
CI / Lint (push) Successful in 31s
CI / Test (push) Successful in 57s
Reviewed-on: #47
2026-04-23 08:22:02 +00:00
3ddc85669f Clear nostr event cache from Settings
All checks were successful
CI / Lint (pull_request) Successful in 32s
CI / Test (pull_request) Successful in 57s
Release Drafter / Update release notes draft (pull_request) Successful in 7s
2026-04-23 09:19:25 +01:00
8 changed files with 38 additions and 6 deletions

View File

@@ -12,6 +12,7 @@ const stripProtocol = (url) => (url ? url.replace(/^wss?:\/\//, '') : '');
export default class AppMenuSettingsNostr extends Component {
@service settings;
@service nostrData;
@service toast;
@tracked newReadRelay = '';
@tracked newWriteRelay = '';
@@ -90,6 +91,16 @@ export default class AppMenuSettingsNostr extends Component {
this.settings.update('nostrWriteRelays', null);
}
@action
async clearCache() {
try {
await this.nostrData.clearCache();
this.toast.show('Nostr cache cleared');
} catch (e) {
this.toast.show(`Failed to clear Nostr cache: ${e.message}`);
}
}
<template>
{{! template-lint-disable no-nested-interactive }}
<details>
@@ -213,6 +224,18 @@ export default class AppMenuSettingsNostr extends Component {
</button>
{{/if}}
</div>
<div class="form-group">
<label>Cached data</label>
<button
type="button"
class="btn btn-outline btn-full"
{{on "click" this.clearCache}}
>
<Icon @name="database" @size={{18}} @color="var(--danger-color)" />
Clear profiles, photos, and reviews
</button>
</div>
</div>
</details>
</template>

View File

@@ -356,6 +356,13 @@ export default class NostrDataService extends Service {
return 'Not connected';
}
async clearCache() {
await this._cachePromise;
if (this.cache) {
await this.cache.deleteAllEvents();
}
}
_cleanupSubscriptions() {
if (this._requestSub) {
this._requestSub.unsubscribe();

View File

@@ -7,6 +7,7 @@ import checkSquare from 'feather-icons/dist/icons/check-square.svg?raw';
import chevronLeft from 'feather-icons/dist/icons/chevron-left.svg?raw';
import chevronRight from 'feather-icons/dist/icons/chevron-right.svg?raw';
import clock from 'feather-icons/dist/icons/clock.svg?raw';
import database from 'feather-icons/dist/icons/database.svg?raw';
import edit from 'feather-icons/dist/icons/edit.svg?raw';
import facebook from 'feather-icons/dist/icons/facebook.svg?raw';
import gift from 'feather-icons/dist/icons/gift.svg?raw';
@@ -153,6 +154,7 @@ const ICONS = {
'comedy-mask-and-tragedy-mask': comedyMaskAndTragedyMask,
croissant,
'cup-and-saucer': cupAndSaucer,
database,
donut,
edit,
eyeglasses,

View File

@@ -1,6 +1,6 @@
{
"name": "marco",
"version": "1.20.0",
"version": "1.20.1",
"private": true,
"description": "Unhosted maps app",
"repository": {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -39,7 +39,7 @@
<meta name="msapplication-TileColor" content="#F6E9A6">
<meta name="msapplication-TileImage" content="/icons/icon-144.png">
<script type="module" crossorigin src="/assets/main-AsE4IKjj.js"></script>
<script type="module" crossorigin src="/assets/main-CGySSjv6.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-BA3LWr76.css">
</head>
<body>