Skip to content

Commit 28dda97

Browse files
authored
Merge pull request #23 from RonasIT/production
Release 1.1.0
2 parents d54adca + 25a2196 commit 28dda97

87 files changed

Lines changed: 1366 additions & 128 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

apps/mobile/app.config.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ const createConfig = (): Omit<ExpoConfig, 'extra'> & { extra: { eas: EASConfig }
2727
slug: process.env.EXPO_PUBLIC_APP_SLUG as string,
2828
scheme: process.env.EXPO_PUBLIC_APP_SCHEME as string,
2929
owner: process.env.EXPO_PUBLIC_APP_OWNER as string,
30-
version: '1.0.0',
30+
version: '1.1.0',
3131
orientation: 'portrait',
3232
icon: './assets/icon.png',
33-
runtimeVersion: '1.0.0',
33+
runtimeVersion: '1.1.0',
3434
experiments: {
3535
reactCompiler: true,
3636
},
@@ -42,7 +42,7 @@ const createConfig = (): Omit<ExpoConfig, 'extra'> & { extra: { eas: EASConfig }
4242
supportsTablet: false,
4343
buildNumber: appEnv.select({
4444
default: '13',
45-
production: '6',
45+
production: '7',
4646
}),
4747
config: {
4848
usesNonExemptEncryption: false,
@@ -52,7 +52,7 @@ const createConfig = (): Omit<ExpoConfig, 'extra'> & { extra: { eas: EASConfig }
5252
package: appId,
5353
versionCode: appEnv.select({
5454
default: 13,
55-
production: 6,
55+
production: 7,
5656
}),
5757
adaptiveIcon: {
5858
foregroundImage: './assets/adaptive-icon.png',
@@ -81,15 +81,15 @@ const createConfig = (): Omit<ExpoConfig, 'extra'> & { extra: { eas: EASConfig }
8181
[
8282
'expo-image-picker',
8383
{
84-
photosPermission: 'Allow Open Web UI to access your photos.',
85-
cameraPermission: 'Allow Open Web UI to access your camera.',
84+
photosPermission: 'Allow Open MobileUI to access your photos.',
85+
cameraPermission: 'Allow Open MobileUI to access your camera.',
8686
},
8787
],
8888
[
8989
'expo-media-library',
9090
{
91-
photosPermission: 'Allow Open Web UI to access your photos.',
92-
savePhotosPermission: 'Allow Open Web UI to save photos.',
91+
photosPermission: 'Allow Open MobileUI to access your photos.',
92+
savePhotosPermission: 'Allow Open MobileUI to save photos.',
9393
},
9494
],
9595
googleAuthIosUrlScheme
-6.32 KB
Loading

apps/mobile/assets/icon.png

-16.5 KB
Loading

apps/mobile/assets/splash-dark.png

34 KB
Loading

apps/mobile/assets/splash.png

-9.6 KB
Loading

i18n/mobile/auth/en.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@
22
"AUTH": {
33
"SIGN_IN": {
44
"TEXT_TITLE_EXTERNAL": "Sign In",
5-
"TEXT_TITLE_INTERNAL": "Sign In to Ronas IT",
6-
"TEXT_TITLE_INTERNAL_SUBTITLE": "OpenWeb UI",
7-
"TEXT_USE_YOUR_RONAS_IT": "Use your Ronas IT",
8-
"TEXT_GOOGLE_ACCOUNT_TO_SIGN_IN": "Google account to sign in",
95
"TEXT_YOU_LOGGED_IN": "You`re now logged in.",
106
"EMAIL_FORM": {
117
"TEXT_EMAIL_ADDRESS": "Email Address",

i18n/mobile/chat/en.json

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,15 @@
120120
},
121121
"AI_MESSAGE_ACTIONS": {
122122
"TEXT_EDIT": "Edit",
123-
"TEXT_COPY": "Copy"
123+
"TEXT_COPY": "Copy",
124+
"TEXT_CONTINUE_RESPONSE": "Continue response",
125+
"TEXT_REGENERATE": "Regenerate",
126+
"REGENERATE_MESSAGE_ACTION_SHEET": {
127+
"TEXT_SUGGEST_A_CHANGE": "Suggest a change",
128+
"TEXT_TRY_AGAIN": "Try again",
129+
"TEXT_ADD_DETAILS": "Add details",
130+
"TEXT_MORE_CONCISE": "More concise"
131+
}
124132
},
125133
"EDIT_MESSAGE_INPUT": {
126134
"TEXT_EDIT_MESSAGE": "Edit message",
@@ -129,6 +137,10 @@
129137
"BUTTON_SEND": "Send",
130138
"BUTTON_CANCEL": "Cancel"
131139
},
140+
"SUGGEST_CHANGE_INPUT": {
141+
"TEXT_SUGGEST_A_CHANGE": "Suggest a change",
142+
"BUTTON_CANCEL": "Cancel"
143+
},
132144
"ARCHIVED_CHATS_FILTERS_SHEET": {
133145
"USE_SEARCH_FILTERS": {
134146
"TEXT_MOST_RECENT": "Most recent",

i18n/mobile/shared/en.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,17 @@
8686
"TEXT_THIS_WILL_DELETE": "This will delete {{name}}",
8787
"TEXT_CLONE_OF": "Clone of {{title}}",
8888
"TEXT_CHAT_ACTIONS": "Chat actions",
89+
"TEXT_MOVE_TO_FOLDER": "Move to folder",
8990
"DOWNLOAD_CHAT_OPTIONS_SHEET": {
9091
"TEXT_EXPORT_CHAT_JSON": "Export chat (.json)",
9192
"TEXT_PLAIN_TEXT": "Plain text (.txt)",
9293
"TEXT_PDF_DOCUMENT": "PDF document (.pdf)"
94+
},
95+
"MOVE_CHAT_TO_FOLDER_MODAL": {
96+
"TEXT_SEARCH_FOLDER": "Search folder",
97+
"TEXT_NO_FOLDERS": "There is no folders",
98+
"TEXT_CREATE_NEW_FOLDER": "Create folder",
99+
"TEXT_NO_FOLDER": "No folder"
93100
}
94101
},
95102
"SEARCH_INPUT": {

libs/mobile/auth/features/email-sign-in-form/src/lib/component.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ import { EmailFormSchema } from './forms';
1515

1616
interface EmailSignInFormProps {
1717
onSuccess: () => void;
18+
onApiUrlChange?: (url: string) => void;
1819
}
1920

20-
export function EmailSignInForm({ onSuccess }: EmailSignInFormProps): ReactElement {
21+
export function EmailSignInForm({ onSuccess, onApiUrlChange }: EmailSignInFormProps): ReactElement {
2122
const translate = useTranslation('AUTH.SIGN_IN.EMAIL_FORM');
2223
const emailRef = useRef<TextInput>(null);
2324
const passwordRef = useRef<TextInput>(null);
@@ -57,6 +58,7 @@ export function EmailSignInForm({ onSuccess }: EmailSignInFormProps): ReactEleme
5758

5859
useEffect(() => {
5960
setValue('url', query, { shouldValidate: true });
61+
onApiUrlChange?.(query);
6062
}, [query]);
6163

6264
useEffect(() => {

libs/mobile/auth/features/email-sign-in-form/src/lib/forms/email-form.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,13 @@ export class EmailFormSchema {
2121
.url(i18n.t('SHARED.VALIDATION.TEXT_INVALID_URL'))
2222
.test('no-path', i18n.t('SHARED.VALIDATION.TEXT_INVALID_URL'), (value) => {
2323
if (!value) return true;
24-
if (value.endsWith('/')) return false;
2524

2625
try {
27-
const url = new URL(value);
26+
const normalizedValue = value.trim();
27+
const url = new URL(normalizedValue);
28+
const normalizedPath = url.pathname.replace(/\/+$/, '/');
2829

29-
return url.pathname === '/' && !url.search && !url.hash;
30+
return normalizedPath === '/' && !url.search && !url.hash;
3031
} catch {
3132
return false;
3233
}

0 commit comments

Comments
 (0)