mirror of
https://github.com/gtsteffaniak/filebrowser.git
synced 2026-11-04 16:50:08 -05:00
Compare commits
2
Commits
main
...
v1.2.0-stable
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d5e3ec040a | ||
|
|
6ec27c16f7 |
No files matched your search
@@ -2,6 +2,12 @@
|
||||
|
||||
All notable changes to this project will be documented in this file. For commit guidelines, please refer to [Standard Version](https://github.com/conventional-changelog/standard-version).
|
||||
|
||||
## v1.2.7-beta
|
||||
|
||||
**BugFixes**:
|
||||
- head > title > infinitely duplicating titles (#2016)
|
||||
- Proxy auth not working with Nginx, stuck at logo (#2013)
|
||||
|
||||
## v1.2.6-beta
|
||||
|
||||
**Security**:
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
import { globalVars } from "@/utils/constants";
|
||||
|
||||
const ssl = window.location.protocol === "https:";
|
||||
const protocol = ssl ? "wss:" : "ws:";
|
||||
|
||||
export default function command(url, command, onmessage, onclose) {
|
||||
url = `${protocol}//${window.location.host}${globalVars.baseURL}api/command${url}`;
|
||||
let conn = new window.WebSocket(url);
|
||||
conn.onopen = () => conn.send(command);
|
||||
conn.onmessage = onmessage;
|
||||
conn.onclose = onclose;
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
import { fetchURL, fetchJSON } from '@/api/utils'
|
||||
import { getApiPath, getPublicApiPath } from '@/utils/url.js'
|
||||
import { notify } from '@/notify' // Import notify for error handling
|
||||
|
||||
export async function getAllUsers() {
|
||||
try {
|
||||
const apiPath = getApiPath('api/users')
|
||||
|
||||
@@ -11,10 +11,10 @@ import { mutations } from "@/store";
|
||||
import { validateLogin } from "@/utils/auth";
|
||||
import i18n from "@/i18n";
|
||||
|
||||
|
||||
const titles = {
|
||||
Login: i18n.global.t("general.login"),
|
||||
Share: i18n.global.t("general.share"),
|
||||
PublicShare: i18n.global.t("general.share"),
|
||||
Files: i18n.global.t("general.files"),
|
||||
Tools: i18n.global.t("general.tool"),
|
||||
Settings: i18n.global.t("general.settings"),
|
||||
@@ -180,11 +180,12 @@ router.beforeResolve(async (to, from, next) => {
|
||||
to.matched.some((record) => record.meta.requiresAuth) ||
|
||||
to.matched.some((record) => record.meta.optionalAuth)
|
||||
) {
|
||||
const isPublicRoute = to.path.startsWith("/public");
|
||||
if (state?.user?.username) {
|
||||
// do nothing, user is already set
|
||||
} else {
|
||||
try {
|
||||
await validateLogin();
|
||||
await validateLogin(isPublicRoute);
|
||||
} catch (error) {
|
||||
mutations.setCurrentUser(getters.anonymous());
|
||||
}
|
||||
|
||||
@@ -76,7 +76,6 @@ export interface UserObject {
|
||||
rules?: any[];
|
||||
lockPassword?: boolean;
|
||||
hideDotfiles?: boolean;
|
||||
commands?: string[];
|
||||
sorting?: {
|
||||
by: string;
|
||||
asc: boolean;
|
||||
|
||||
@@ -2,9 +2,12 @@ import { mutations, getters,state } from "@/store";
|
||||
import { getApiPath, getPublicApiPath } from "@/utils/url.js";
|
||||
import { globalVars } from "@/utils/constants";
|
||||
|
||||
export async function validateLogin() {
|
||||
export async function validateLogin(isPublicRoute = false) {
|
||||
// Use direct fetch to avoid automatic logout on 401
|
||||
let apiPath = getPublicApiPath('users', { id: 'self' });
|
||||
// Public routes (e.g. /public/share/...) use the public API base path
|
||||
const apiPath = isPublicRoute
|
||||
? getPublicApiPath('users', { id: 'self' })
|
||||
: getApiPath('/api/users', { id: 'self' });
|
||||
const res = await fetch(apiPath, {
|
||||
credentials: 'same-origin', // Ensure cookies are sent with the request
|
||||
headers: {
|
||||
|
||||
@@ -356,8 +356,7 @@ export default {
|
||||
|
||||
// Display initial data immediately
|
||||
mutations.replaceRequest(file);
|
||||
document.title = `${document.title} - ${file.name}`;
|
||||
|
||||
document.title = globalVars.name + " - " + this.$t("general.share") + " - " + file.name;
|
||||
// Second pass: If directory has metadata available, fetch again with metadata IN THE BACKGROUND
|
||||
if (file.type === "directory" && file.hasMetadata) {
|
||||
this.loadingProgress = 90;
|
||||
@@ -476,7 +475,7 @@ export default {
|
||||
if (state.sources.count > 1) {
|
||||
mutations.setCurrentSource(data.source);
|
||||
}
|
||||
document.title = `${document.title} - ${res.name}`;
|
||||
document.title = globalVars.name + " - " + this.$t("general.files") + " - " + res.name;
|
||||
|
||||
// Display initial data immediately and clear loading spinner
|
||||
mutations.replaceRequest(data);
|
||||
|
||||
Reference in new issue
Block a user