diff --git a/src/views/AccountViewView.vue b/src/views/AccountViewView.vue
index 96b1d83ebf..cc60881019 100644
--- a/src/views/AccountViewView.vue
+++ b/src/views/AccountViewView.vue
@@ -68,9 +68,9 @@
class="inline-block text-md uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-4 py-2 rounded-md"
@click="
() =>
- ($refs.userNameDialog as UserNameDialog).open(
- (name) => (givenName = name),
- )
+ ($refs.userNameDialog as UserNameDialog).open((name) => {
+ if (name) givenName = name;
+ })
"
>
Set Your Name
@@ -437,7 +437,7 @@
{{ endorserLimits?.maxClaimsPerWeek || "?" }} for this week.
Your claims counter resets at
{{
- readableDate(endorserLimits?.nextWeekBeginDateTime)
+ readableDate(endorserLimits?.nextWeekBeginDateTime ?? "")
}}
@@ -454,7 +454,7 @@
(You cannot register anyone on your first day.)
Your registration counter resets at
- {{ readableDate(endorserLimits?.nextMonthBeginDateTime) }}
+ {{ readableDate(endorserLimits?.nextMonthBeginDateTime ?? "") }}
@@ -463,7 +463,7 @@
{{ imageLimits?.maxImagesPerWeek || "?" }} for this week. Your
image counter resets at
{{
- readableDate(imageLimits?.nextWeekBeginDateTime)
+ readableDate(imageLimits?.nextWeekBeginDateTime ?? "")
}}
@@ -976,11 +976,10 @@ import Dexie from "dexie";
import "dexie-export-import";
// @ts-expect-error - they aren't exporting it but it's there
import { ImportProgress } from "dexie-export-import";
-import { LeafletMouseEvent } from "leaflet";
import * as R from "ramda";
import { IIdentifier } from "@veramo/core";
import { ref } from "vue";
-import { Component, Vue } from "vue-facing-decorator";
+import { Component, Vue, Hook } from "vue-facing-decorator";
import { RouteLocationNormalizedLoaded, Router } from "vue-router";
import { useClipboard } from "@vueuse/core";
import { LMap, LMarker, LTileLayer } from "@vue-leaflet/vue-leaflet";
@@ -1016,15 +1015,14 @@ import {
import * as databaseUtil from "../db/databaseUtil";
import {
clearPasskeyToken,
- EndorserRateLimits,
- ErrorResponse,
errorStringForLog,
fetchEndorserRateLimits,
fetchImageRateLimits,
getHeaders,
- ImageRateLimits,
tokenExpiryTimeDescription,
} from "../libs/endorserServer";
+import { EndorserRateLimits, ImageRateLimits } from "../interfaces/limits";
+import { ErrorResponse } from "../interfaces/common";
import {
DAILY_CHECK_TITLE,
DIRECT_PUSH_TITLE,
@@ -1040,7 +1038,6 @@ const inputImportFileNameRef = ref();
components: {
EntityIcon,
ImageMethodDialog,
- LeafletMouseEvent,
LMap,
LMarker,
LTileLayer,
@@ -1117,8 +1114,11 @@ export default class AccountViewView extends Vue {
*
* @throws Will display specific messages to the user based on different errors.
*/
+ @Hook("mounted")
async mounted() {
try {
+ // eslint-disable-next-line no-console
+ console.log("[AccountViewView] -- mounted", process.env.VITE_PLATFORM);
// Initialize component state with values from the database or defaults
await this.initializeState();
await this.processIdentity();
@@ -1145,7 +1145,12 @@ export default class AccountViewView extends Vue {
throw Error("Unable to load profile.");
}
} catch (error) {
- if (error.status === 404) {
+ if (
+ error &&
+ typeof error === "object" &&
+ "status" in error &&
+ error.status === 404
+ ) {
// this is ok: the profile is not yet created
} else {
databaseUtil.logConsoleAndDb(
@@ -1676,7 +1681,9 @@ export default class AccountViewView extends Vue {
}
async uploadImportFile(event: Event) {
- inputImportFileNameRef.value = (event.target as EventTarget).files[0];
+ inputImportFileNameRef.value = (
+ event.target as HTMLInputElement
+ ).files?.[0];
}
showContactImport() {
@@ -1886,6 +1893,11 @@ export default class AccountViewView extends Vue {
}
async onClickSaveApiServer() {
+ console.log("[AccountViewView] -- Starting API server update", {
+ current: this.apiServer,
+ new: this.apiServerInput,
+ component: "AccountViewView",
+ });
logger.debug("[AccountViewView] Starting API server update", {
current: this.apiServer,
new: this.apiServerInput,
@@ -2123,6 +2135,7 @@ export default class AccountViewView extends Vue {
const headers = await getHeaders(this.activeDid);
const payload: UserProfile = {
description: this.userProfileDesc,
+ issuerDid: this.activeDid,
};
if (this.userProfileLatitude && this.userProfileLongitude) {
payload.locLat = this.userProfileLatitude;
@@ -2164,11 +2177,14 @@ export default class AccountViewView extends Vue {
if (USE_DEXIE_DB) {
logConsoleAndDb("Error saving profile: " + errorStringForLog(error));
}
- const errorMessage: string =
- error.response?.data?.error?.message ||
- error.response?.data?.error ||
- error.message ||
- "There was an error saving your profile.";
+ let errorMessage = "There was an error saving your profile.";
+ if (error instanceof AxiosError) {
+ errorMessage =
+ error.response?.data?.error?.message ||
+ error.response?.data?.error ||
+ error.message ||
+ errorMessage;
+ }
this.$notify(
{
group: "alert",
@@ -2259,11 +2275,14 @@ export default class AccountViewView extends Vue {
if (USE_DEXIE_DB) {
logConsoleAndDb("Error deleting profile: " + errorStringForLog(error));
}
- const errorMessage: string =
- error.response?.data?.error?.message ||
- error.response?.data?.error ||
- error.message ||
- "There was an error deleting your profile.";
+ let errorMessage = "There was an error deleting your profile.";
+ if (error instanceof AxiosError) {
+ errorMessage =
+ error.response?.data?.error?.message ||
+ error.response?.data?.error ||
+ error.message ||
+ errorMessage;
+ }
this.$notify(
{
group: "alert",