Compare commits

..

2 Commits

Author SHA1 Message Date
Stavros 67dc85db9f New translations en.json (Italian) 2026-04-16 23:34:09 +03:00
Stavros 54d6f4dba0 New translations en.json (Serbian (Cyrillic)) 2026-04-16 00:58:09 +03:00
10 changed files with 9 additions and 76 deletions
-43
View File
@@ -1,43 +0,0 @@
name: Scorecard supply-chain security
on:
branch_protection_rule:
schedule:
- cron: "31 17 * * 5"
push:
branches: ["main"]
permissions: read-all
jobs:
analysis:
name: Scorecard analysis
runs-on: ubuntu-latest
if: github.event.repository.default_branch == github.ref_name || github.event_name == 'pull_request'
permissions:
security-events: write
id-token: write
steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
persist-credentials: false
- name: Run analysis
uses: ossf/scorecard-action@f49aabe0b5af0936a0987cfb85d86b75731b0186
with:
results_file: results.sarif
results_format: sarif
publish_results: true
- name: Upload artifact
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1
with:
name: SARIF file
path: results.sarif
retention-days: 5
- name: Upload to code-scanning
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
-3
View File
@@ -10,9 +10,6 @@
<img alt="Issues" src="https://img.shields.io/github/issues/steveiliop56/tinyauth">
<img alt="Tinyauth CI" src="https://github.com/steveiliop56/tinyauth/actions/workflows/ci.yml/badge.svg">
<a title="Crowdin" target="_blank" href="https://crowdin.com/project/tinyauth"><img src="https://badges.crowdin.net/tinyauth/localized.svg"></a>
<a href="https://scorecard.dev/viewer/?uri=github.com/steveiliop56/tinyauth" target="_blank" title="OpenSSF Scorecard">
<img src="https://api.scorecard.dev/projects/github.com/steveiliop56/tinyauth/badge">
</a>
</div>
<br />
@@ -17,7 +17,6 @@ interface Props {
onSubmit: (data: LoginSchema) => void;
loading?: boolean;
formId?: string;
params?: string;
}
export const LoginForm = (props: Props) => {
@@ -72,12 +71,6 @@ export const LoginForm = (props: Props) => {
</FormControl>
<a
href="/forgot-password"
onClick={(e) => {
e.preventDefault();
window.location.replace(
`/forgot-password${props.params ? `${props.params}` : ""}`,
);
}}
className="text-muted-foreground hover:text-muted-foreground/80 text-sm absolute right-0 bottom-[2.565rem]" // 2.565 is *just* perfect
>
{t("forgotPasswordTitle")}
+1 -2
View File
@@ -79,6 +79,5 @@
"profileScopeName": "Profile",
"profileScopeDescription": "Allows the app to access your profile information.",
"groupsScopeName": "Groups",
"groupsScopeDescription": "Allows the app to access your group information.",
"backToLoginButton": "Back to login"
"groupsScopeDescription": "Allows the app to access your group information."
}
+1 -2
View File
@@ -79,6 +79,5 @@
"profileScopeName": "Profile",
"profileScopeDescription": "Allows the app to access your profile information.",
"groupsScopeName": "Groups",
"groupsScopeDescription": "Allows the app to access your group information.",
"backToLoginButton": "Back to login"
"groupsScopeDescription": "Allows the app to access your group information."
}
+2 -2
View File
@@ -58,8 +58,8 @@
"invalidInput": "Input non valido",
"domainWarningTitle": "Dominio non valido",
"domainWarningSubtitle": "Stai accedendo a questa istanza da un dominio errato. Scegliendo di procedere, potresti incontrare problemi con l'autenticazione.",
"domainWarningCurrent": "Current:",
"domainWarningExpected": "Expected:",
"domainWarningCurrent": "Attuale:",
"domainWarningExpected": "Previsto:",
"ignoreTitle": "Ignora",
"goToCorrectDomainTitle": "Vai al dominio corretto",
"authorizeTitle": "Autorizza",
+1 -1
View File
@@ -57,7 +57,7 @@
"fieldRequired": "Ово поље је неопходно",
"invalidInput": "Неисправан унос",
"domainWarningTitle": "Неисправан домен",
"domainWarningSubtitle": "You are accessing this instance from an incorrect domain. If you proceed, you may encounter issues with authentication.",
"domainWarningSubtitle": "Приступате овој инстанци са неисправног домена. Ако наставите, можете наићи на проблеме са аутентификацијом.",
"domainWarningCurrent": "Тренутни:",
"domainWarningExpected": "Очекивани:",
"ignoreTitle": "Игнориши",
+4 -8
View File
@@ -10,13 +10,12 @@ import { Button } from "@/components/ui/button";
import { useAppContext } from "@/context/app-context";
import { useTranslation } from "react-i18next";
import Markdown from "react-markdown";
import { useLocation } from "react-router";
import { useNavigate } from "react-router";
export const ForgotPasswordPage = () => {
const { forgotPasswordMessage } = useAppContext();
const { t } = useTranslation();
const { search } = useLocation();
const searchParams = new URLSearchParams(search);
const navigate = useNavigate();
return (
<Card>
@@ -37,13 +36,10 @@ export const ForgotPasswordPage = () => {
className="w-full"
variant="outline"
onClick={() => {
const eparams = searchParams.toString();
window.location.replace(
`/login${eparams.length > 0 ? `?${eparams}` : ""}`,
);
navigate("/login");
}}
>
{t("backToLoginButton")}
{t("notFoundButton")}
</Button>
</CardFooter>
</Card>
-4
View File
@@ -264,10 +264,6 @@ export const LoginPage = () => {
onSubmit={(values) => loginMutate(values)}
loading={loginIsPending || oauthIsPending}
formId={formId}
params={(() => {
const eparams = searchParams.toString();
return eparams.length > 0 ? `?${eparams}` : "";
})()}
/>
)}
{providers.length == 0 && (
-4
View File
@@ -47,10 +47,6 @@ func (app *BootstrapApp) Setup() error {
fmt.Println("Tinyauth is moving to an organization! All versions after v5.0.7 will be released under ghcr.io/tinyauthapp/tinyauth. Existing images will continue to work but new features and updates (including security ones) will only be released under the new image path.")
// get app url
if app.config.AppURL == "" {
return fmt.Errorf("app URL cannot be empty, perhaps config loading failed")
}
appUrl, err := url.Parse(app.config.AppURL)
if err != nil {