Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,46 @@ name: 🐞 Bug report
about: Report an issue
labels: ['s: pending triage', 'c: bug']
---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
What did you expect to happen but did not?

**Screenshots**
If applicable, add screenshots to help explain your problem.

### Technical information

To help us debug the problem, please complete relevant information as much as you can:

**Elk information**
- Elk URL: (e.g.: https://elk.zone, https://main.elk.zone)
- Elk version:

**Server information**
- Server URL: (e.g. https://mastodon.social)
- Server software version: (e.g. v4.5.7)
- URL to relevant post: (e.g. https://mastodon.social/@Gargron/1)

**Desktop:**
- OS: (e.g. MacOS)
- Browser: (e.g. Chrome, Safari)
- Browser version (e.g. 22)

**Smartphone:**
- Device: (e.g. iPhone6)
- OS: (e.g. iOS8.1)
- Browser: (e.g. Chrome, Safari)
- Version: (e.g. 22)

**Additional context**
Add any other context about the problem here.
2 changes: 1 addition & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ jobs:
echo "digest=$DIGEST" >> "$GITHUB_OUTPUT"

- name: Attest
uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4
id: attest
with:
subject-name: ghcr.io/${{ github.repository }}
Expand Down
10 changes: 8 additions & 2 deletions app/components/timeline/TimelineHome.vue
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,14 @@ function preprocess(items: mastodon.v1.Status[]) {
let followedTags: mastodon.v1.Tag[]
if (currentUser.value !== undefined) {
const { client } = useMasto()
const paginator = client.value.v1.followedTags.list()
followedTags = (await paginator.values().next()).value ?? []
try {
const paginator = client.value.v1.followedTags.list()
followedTags = (await paginator.values().next()).value ?? []
}
catch (e) {
console.error('Failed to fetch followed tags', e)
followedTags = []
}
}
</script>

Expand Down
12 changes: 8 additions & 4 deletions app/composables/about.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,14 @@ export const elkTeamMembers: Team[] = [
link: '/m.webtoo.ls/@antfu',
},
{
github: 'patak-dev',
github: 'patak-cat',
display: 'Patak',
twitter: 'patak_dev',
mastodon: 'patak@webtoo.ls',
link: '/m.webtoo.ls/@patak',
},
{
github: 'danielroe',
display: 'Daniel Roe',
twitter: 'danielcroe',
mastodon: 'daniel@roe.dev',
link: '/mastodon.roe.dev/@daniel',
},
Expand All @@ -51,7 +49,13 @@ export const elkTeamMembers: Team[] = [
display: 'TAKAHASHI Shuuji',
mastodon: 'shuuji3@webtoo.ls',
link: '/m.webtoo.ls/@shuuji3',
sponsors: 'elk-zone', // sponsors/shuuji3 isn't enabled
},
{
github: 'ayo-run',
display: 'ayo',
mastodon: 'ayo@ayco.io',
link: '/social.ayco.io/@ayo',
sponsors: 'elk-zone', // sponsors/ayo-run isn't enabled
},
].sort(() => Math.random() - 0.5)

Expand Down
2 changes: 2 additions & 0 deletions app/composables/users.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ export const currentServer = computed<string>(() => currentUser.value?.server ||
export const currentNodeInfo = computed<null | Record<string, any>>(() => nodes.value[currentServer.value] || null)
export const isGotoSocial = computed(() => currentNodeInfo.value?.software?.name === 'gotosocial')
export const isGlitchEdition = computed(() => currentInstance.value?.version?.includes('+glitch'))
// TODO: currentNodeInfo is null for qoto instance
// export const isQoto = computed(() => currentNodeInfo.value?.software?.version?.includes('qoto'))

export function useUsers() {
return users
Expand Down
11 changes: 5 additions & 6 deletions app/pages/[[server]]/tags/[tag].vue
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ const params = useRoute().params
const tagName = computed(() => params.tag as string)

const { client } = useMasto()
const { data: tag, refresh } = await useAsyncData(() => `tag-${tagName.value}`, () => client.value.v1.tags.$select(tagName.value).fetch(), { default: () => shallowRef() })
const { data: tag, refresh } = await useAsyncData(() => `tag-${tagName.value}`, () => client.value?.v1.tags.$select(tagName.value).fetch(), { default: () => shallowRef() })

const paginator = client.value.v1.timelines.tag.$select(tagName.value).list()
const paginator = client.value?.v1.timelines.tag.$select(tagName.value).list()
const stream = useStreaming(client => client.hashtag.subscribe({ tag: tagName.value }))

if (tag.value) {
Expand All @@ -28,9 +28,8 @@ onReactivated(() => {

let followedTags: mastodon.v1.Tag[]
if (currentUser.value !== undefined) {
const { client } = useMasto()
const paginator = client.value.v1.followedTags.list()
followedTags = (await paginator.values().next()).value ?? []
const paginator = client.value?.v1.followedTags.list()
followedTags = paginator ? (await paginator.values().next()).value ?? [] : []
}
</script>

Expand All @@ -47,7 +46,7 @@ if (currentUser.value !== undefined) {
</template>

<slot>
<TimelinePaginator :followed-tags="followedTags" v-bind="{ paginator, stream }" context="public" />
<TimelinePaginator v-if="isHydrated && paginator" :followed-tags="followedTags" v-bind="{ paginator, stream }" context="public" />
</slot>
</MainContent>
</template>
4 changes: 4 additions & 0 deletions config/pwa.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ export const pwa: VitePWANuxtOptions = {
includeManifestIcons: false,
manifest: false,
injectManifest: {
// debug options
// minify: false,
// enableWorkboxModulesLogs: true,

globPatterns: ['**/*.{js,json,css,html,txt,svg,png,ico,webp,woff,woff2,ttf,eot,otf,wasm}'],
globIgnores: ['emojis/**', 'manifest**.webmanifest'],
},
Expand Down
2 changes: 1 addition & 1 deletion locales/eu-ES.json
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,6 @@
"copy_original_link_to_post": "Kopiatu bidalketa honen jatorrizko esteka",
"delete": "Ezabatu",
"delete_and_redraft": "Ezabatu eta berridatzi",
"direct_message_account": "Mezu zuzena {0}",
"edit": "Editatu",
"hide_reblogs": "Ezkutatu {0}(r)en bultzadak",
"mention_account": "Aipatu {0}",
Expand All @@ -297,6 +296,7 @@
"share_account": "Partekatu {0}",
"share_post": "Partekatu bidalketa",
"show_favourited_and_boosted_by": "Erakutsi nork egin duen gogoko eta nork bultzatu duen",
"show_reacted_by": "Erakutsi interakzioak",
"show_reblogs": "Erakutsi {0}(r)en bultzadak",
"show_untranslated": "Erakutsi jatorrizko hizkuntzan",
"toggle_theme": {
Expand Down
25 changes: 14 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,13 +123,14 @@
"vue-advanced-cropper": "^2.8.9",
"vue-i18n": "^11.1.12",
"vue-virtual-scroller": "2.0.0-beta.8",
"workbox-build": "^7.1.1",
"workbox-cacheable-response": "^7.1.0",
"workbox-expiration": "^7.1.0",
"workbox-precaching": "^7.1.0",
"workbox-routing": "^7.1.0",
"workbox-strategies": "^7.1.0",
"workbox-window": "^7.1.0",
"workbox-build": "^7.4.0",
"workbox-cacheable-response": "^7.4.0",
"workbox-core": "^7.4.0",
"workbox-expiration": "^7.4.0",
"workbox-precaching": "^7.4.0",
"workbox-routing": "^7.4.0",
"workbox-strategies": "^7.4.0",
"workbox-window": "^7.4.0",
"ws": "^8.15.1"
},
"devDependencies": {
Expand All @@ -140,28 +141,30 @@
"@types/fs-extra": "^11.0.4",
"@types/wicg-file-system-access": "^2023.10.7",
"@types/ws": "^8.18.1",
"@unocss/eslint-config": "^66.6.7",
"@unocss/eslint-config": "^66.6.8",
"@vue/test-utils": "2.4.6",
"bumpp": "^10.4.1",
"consola": "^3.4.2",
"eslint": "^9.39.4",
"eslint-plugin-format": "^1.5.0",
"flat": "^6.0.1",
"nano-staged": "^0.9.0",
"ofetch": "^1.5.1",
"page-lifecycle": "^0.1.2",
"prettier": "^3.8.1",
"prettier": "^3.8.3",
"sharp": "^0.34.5",
"sharp-ico": "^0.1.5",
"simple-git-hooks": "^2.13.1",
"typescript": "^5.4.4",
"vitest": "4.0.18",
"vitest": "4.1.4",
"vue-component-type-helpers": "^3.2.6",
"vue-tsc": "^2.1.6"
},
"resolutions": {
"nuxt-component-meta": "0.17.2",
"serialize-javascript": "7.0.5",
"unstorage": "^1.17.5",
"vitest": "4.0.18",
"vitest": "4.1.4",
"vue": "^3.5.4"
},
"simple-git-hooks": {
Expand Down
Loading
Loading