Skip to content

Commit c77359d

Browse files
committed
Merge remote-tracking branch 'origin/main' into lsp-codemirror
2 parents b808f1a + c49f403 commit c77359d

File tree

9 files changed

+167
-71
lines changed

9 files changed

+167
-71
lines changed

.github/workflows/nightly-build.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -170,28 +170,28 @@
170170
run: |
171171
node utils/storage_manager.mjs y
172172
npm run build paid dev apk
173-
mv platforms/android/app/build/outputs/apk/debug/app-debug.apk platforms/android/app/build/outputs/apk/debug/app-debug-normal.apk
173+
mv platforms/android/app/build/outputs/apk/debug/app-debug.apk /tmp/app-debug-normal.apk
174174
echo "VERSION: $UPDATED_VERSION" >> $GITHUB_STEP_SUMMARY
175175
176176
- name: Upload APK Artifact
177177
uses: actions/upload-artifact@v4
178178
with:
179179
name: app-debug-${{ env.GIT_COMMIT }}
180-
path: platforms/android/app/build/outputs/apk/debug/app-debug-normal.apk
180+
path: /tmp/app-debug-normal.apk
181181

182182
- name: Run npm build paid dev apk fdroid (for F-Droid)
183183
if: ${{ !inputs.is_PR }}
184184
run: |
185185
node utils/storage_manager.mjs y
186186
npm run build paid dev apk fdroid
187-
mv platforms/android/app/build/outputs/apk/debug/app-debug.apk platforms/android/app/build/outputs/apk/debug/app-debug-fdroid.apk
187+
mv platforms/android/app/build/outputs/apk/debug/app-debug.apk /tmp/app-debug-fdroid.apk
188188
189189
- name: Upload APK Artifact
190190
uses: actions/upload-artifact@v4
191191
if: ${{ !inputs.is_PR }}
192192
with:
193193
name: app-debug-fdroid-${{ env.GIT_COMMIT }}
194-
path: platforms/android/app/build/outputs/apk/debug/app-debug-fdroid.apk
194+
path: /tmp/app-debug-fdroid.apk
195195

196196
- name: remove keystore and build.json
197197
run: |
@@ -226,15 +226,15 @@
226226
- name: Release Nightly Version
227227
# Only run this step, if not called from another workflow. And a previous step is successful with releasedRequired=true
228228
id: release
229-
if: ${{ ! inputs.skip_tagging_and_releases && success() && env.releaseRequired == 'true' }}
229+
if: ${{ ! inputs.skip_tagging_and_releases && success() && env.releaseRequired == 'true' && !inputs.is_PR }}
230230
uses: softprops/action-gh-release@v2
231231
with:
232232
prerelease: true
233233
name: ${{ env.UPDATED_VERSION }}
234234
tag_name: ${{ env.UPDATED_VERSION }}
235235
files: |
236-
platforms/android/app/build/outputs/apk/debug/app-debug-normal.apk
237-
platforms/android/app/build/outputs/apk/debug/app-debug-fdroid.apk
236+
/tmp/app-debug-normal.apk
237+
/tmp/app-debug-fdroid.apk
238238
body: |
239239
Automated Nightly (pre-release) Releases for Today
240240

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@
134134
"@xterm/xterm": "^5.5.0",
135135
"autosize": "^6.0.1",
136136
"codemirror": "^6.0.2",
137-
"cordova": "12.0.0",
137+
"cordova": "13.0.0",
138138
"core-js": "^3.45.0",
139139
"crypto-js": "^4.2.0",
140140
"dompurify": "^3.2.6",

src/components/sidebar/style.scss

Lines changed: 106 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -55,49 +55,78 @@ body.no-animation {
5555
}
5656

5757
.apps {
58-
width: 45px;
59-
min-width: 45px;
58+
width: 52px;
59+
min-width: 52px;
6060
height: 100%;
61-
background-color: rgba(0, 0, 0, 0.2);
62-
padding: 10px 0;
61+
background-color: rgba(0, 0, 0, 0.15);
62+
padding: 0;
6363
display: flex;
6464
flex-direction: column;
6565
position: relative;
66+
box-sizing: border-box;
6667

6768
.app-icons-container {
6869
flex: 1;
6970
overflow-y: auto;
70-
padding: 10px 0;
71+
overflow-x: hidden;
72+
padding: 8px 0;
73+
display: flex;
74+
flex-direction: column;
75+
align-items: center;
76+
gap: 4px;
77+
scrollbar-width: none;
78+
-ms-overflow-style: none;
79+
80+
&::-webkit-scrollbar {
81+
display: none;
82+
}
7183
}
7284

7385
.user-icon-container {
7486
position: sticky;
7587
bottom: 0;
7688
width: 100%;
77-
padding: 10px 0;
89+
padding: 12px 0;
7890
display: flex;
7991
justify-content: center;
80-
border-top: 1px solid var(--border-color);
92+
align-items: center;
93+
background-color: rgba(0, 0, 0, 0.1);
94+
border-top: 1px solid rgba(255, 255, 255, 0.08);
8195

8296
.avatar {
8397
display: block;
84-
height: 35px;
85-
width: 35px;
98+
height: 32px;
99+
width: 32px;
86100
border-radius: 50%;
87101
object-fit: cover;
88102
object-position: center;
103+
cursor: pointer;
104+
transition: all 0.2s ease;
105+
border: 2px solid transparent;
106+
107+
&:hover {
108+
transform: scale(1.05);
109+
border-color: rgba(255, 255, 255, 0.3);
110+
}
89111
}
90112

91113
.icon {
92114
height: 40px;
93115
width: 40px;
94116
color: currentColor;
95-
font-size: 1.6em;
96-
border-radius: 12px;
97-
opacity: 0.5;
117+
font-size: 1.4em;
118+
border-radius: 10px;
119+
opacity: 0.6;
98120
transition: all 0.2s ease;
99121
margin: 0 auto;
100122
cursor: pointer;
123+
text-align: center;
124+
line-height: 40px;
125+
126+
&:hover {
127+
opacity: 0.9;
128+
background-color: rgba(255, 255, 255, 0.08);
129+
}
101130

102131
&.active {
103132
opacity: 1;
@@ -106,17 +135,64 @@ body.no-animation {
106135
}
107136

108137
.icon {
109-
height: 35px;
110-
width: 35px;
138+
height: 40px;
139+
width: 40px;
140+
min-height: 40px;
111141
color: currentColor;
112-
font-size: 1em;
113-
border-radius: 12px;
114-
opacity: 0.5;
115-
transition: all 0.2s ease;
142+
font-size: 1.3em;
143+
border-radius: 10px;
144+
opacity: 0.55;
145+
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
116146
margin: 0 auto;
147+
cursor: pointer;
148+
position: relative;
149+
box-sizing: border-box;
150+
text-align: center;
151+
line-height: 40px;
152+
153+
// Active indicator bar using ::after to not interfere with font icon's ::before
154+
&::after {
155+
content: '';
156+
position: absolute;
157+
left: -6px;
158+
top: 50%;
159+
transform: translateY(-50%) scaleY(0);
160+
width: 3px;
161+
height: 20px;
162+
background-color: currentColor;
163+
border-radius: 0 2px 2px 0;
164+
transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
165+
opacity: 0;
166+
}
167+
168+
&:hover {
169+
opacity: 0.85;
170+
background-color: rgba(255, 255, 255, 0.08);
171+
}
117172

118173
&.active {
119174
opacity: 1;
175+
background-color: rgba(255, 255, 255, 0.12);
176+
177+
&::after {
178+
transform: translateY(-50%) scaleY(1);
179+
opacity: 1;
180+
}
181+
}
182+
183+
// Special styling for the favorites/sponsors icon
184+
&.favorite {
185+
margin-top: 8px;
186+
187+
&::after {
188+
display: none;
189+
}
190+
191+
&:hover {
192+
color: #ff6b8a;
193+
opacity: 1;
194+
background-color: rgba(255, 107, 138, 0.12);
195+
}
120196
}
121197
}
122198
}
@@ -139,8 +215,8 @@ body.no-animation {
139215
max-height: 100%;
140216

141217
&.hidden {
142-
max-height: 30px !important;
143-
min-height: 30px !important;
218+
max-height: 36px !important;
219+
min-height: 36px !important;
144220
overflow: hidden !important;
145221
}
146222

@@ -162,18 +238,21 @@ body.no-animation {
162238
}
163239

164240
.icon {
165-
height: 30px;
166-
width: 30px;
241+
height: 34px;
242+
width: 34px;
243+
min-width: 34px;
167244
color: currentColor;
168-
font-size: 1em;
245+
font-size: 1.15em;
246+
text-align: center;
247+
line-height: 34px;
169248
}
170249

171250
>ul {
172251
overflow: auto;
173252
width: 100%;
174253
max-width: 100%;
175-
max-height: calc(100% - 30px);
176-
height: calc(100% - 30px);
254+
max-height: calc(100% - 36px);
255+
height: calc(100% - 36px);
177256

178257
.tile:active {
179258
>*:nth-child(2) {
@@ -250,7 +329,7 @@ body.no-animation {
250329
.title {
251330
display: flex;
252331
width: 100%;
253-
height: 30px;
332+
height: 36px;
254333
align-items: center;
255334
justify-content: center;
256335
font-weight: 600;
@@ -321,4 +400,4 @@ body.no-animation {
321400
background-color: var(--border-color);
322401
margin: 4px 0;
323402
}
324-
}
403+
}

src/lang/de-de.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@
8686
"sort by name": "Nach Namen sortieren",
8787
"success": "Erfolg",
8888
"tab size": "Tab-Größe",
89-
"text wrap": "Textumbruch",
89+
"text wrap": "Textumbruch / Zeilenumbruch",
9090
"theme": "Thema",
9191
"unable to delete file": "Datei kann nicht gelöscht werden",
9292
"unable to open file": "Entschuldigung, Datei kann nicht geöffnet werden",
@@ -297,15 +297,15 @@
297297
"info-keyboardmode": "Tastaturmodus für Texteingaben. 'Keine Vorschläge' blendet Vorschläge und automatische Korrektur aus. Wenn 'Keine Vorschläge' nicht funktioniert, versuchen Sie, den Wert auf 'Keine aufdringlichen Vorschläge' zu ändern.",
298298
"info-rememberfiles": "Geöffnete Dateien merken, wenn die Anwendung geschlossen wird.",
299299
"info-rememberfolders": "Geöffnete Ordner merken, wenn die Anwendung geschlossen wird.",
300-
"info-floatingbutton": "Schwebende Schaltfläche für Schnelltools ein-/ausblenden.",
300+
"info-floatingbutton": "Schwebende Schaltfläche für Schnelltools ein- oder ausblenden.",
301301
"info-openfilelistpos": "Wo soll die Liste der aktiven Dateien angezeigt werden.",
302302
"info-touchmovethreshold": "Wenn die Berührungsempfindlichkeit des Gerätes zu hoch ist, können Sie diesen Wert erhöhen, um versehentliche Berührungen zu verhindern.",
303303
"info-scroll-settings": "Diese Einstellungen steuern Scrollen und Textumbruch.",
304304
"info-animation": "Wenn die Anwendung träge reagiert, deaktivieren Sie die Animation.",
305305
"info-quicktoolstriggermode": "Wenn die Schaltfläche in den Schnelltools nicht funktioniert, versuchen Sie, diesen Wert zu ändern.",
306306
"info-checkForAppUpdates": "Automatisch nach App-Updates suchen.",
307307
"info-quickTools": "Schnelltools ein- oder ausblenden.",
308-
"info-showHiddenFiles": "Versteckte Dateien und Ordner anzeigen. (Beginnen mit einem .)",
308+
"info-showHiddenFiles": "Versteckte Dateien und Ordner anzeigen. (Diese beginnen mit einem .)",
309309
"info-all_file_access": "Zugriff auf /sdcard und /storage im Terminal aktivieren.",
310310
"info-fontSize": "Die Schriftgröße, die zum Rendern von Text verwendet wird.",
311311
"info-fontFamily": "Die Schriftfamilie, die zum Rendern von Text verwendet wird.",
@@ -374,8 +374,8 @@
374374
"quicktools:quotation": "Zitat einfügen",
375375
"quicktools:and": "Und-Symbol einfügen",
376376
"quicktools:bar": "Balken-Symbol einfügen",
377-
"quicktools:equal": "Gleich-Symbol einfügen",
378-
"quicktools:slash": "Schrägstrich-Symbol einfügen",
377+
"quicktools:equal": "Gleichheitszeichen einfügen",
378+
"quicktools:slash": "Schrägstrich einfügen",
379379
"quicktools:exclamation": "Ausrufezeichen einfügen",
380380
"quicktools:alt-key": "Alt-Taste",
381381
"quicktools:meta-key": "Windows-Taste",
@@ -416,12 +416,12 @@
416416
"quicktools:pageup-key": "Bild auf-Taste",
417417
"quicktools:pagedown-key": "Bild ab-Taste",
418418
"quicktools:delete-key": "Entfernen-Taste",
419-
"quicktools:tilde": "Tilde-Symbol einfügen",
420-
"quicktools:backtick": "Backtick einfügen",
421-
"quicktools:hash": "Raute-Symbol einfügen",
422-
"quicktools:dollar": "Dollar-Symbol einfügen",
423-
"quicktools:modulo": "Modulo-/Prozent-Symbol einfügen",
424-
"quicktools:caret": "Caret-Symbol einfügen",
419+
"quicktools:tilde": "Tilde einfügen",
420+
"quicktools:backtick": "Accent grave einfügen",
421+
"quicktools:hash": "Raute einfügen",
422+
"quicktools:dollar": "Dollar einfügen",
423+
"quicktools:modulo": "Prozentzeichen einfügen",
424+
"quicktools:caret": "Caret einfügen",
425425
"plugin_enabled": "Plugin aktiviert",
426426
"plugin_disabled": "Plugin deaktiviert",
427427
"enable_plugin": "Dieses Plugin aktivieren",
@@ -448,11 +448,11 @@
448448
"reviews": "Bewertungen",
449449
"overview": "Überblick",
450450
"contributors": "Mitwirkende",
451-
"quicktools:hyphen": "Bindestrich-Symbol einfügen",
451+
"quicktools:hyphen": "Bindestrich einfügen",
452452
"check for app updates": "Auf App-Updates prüfen",
453453
"prompt update check consent message": "Acode kann nach neuen App-Updates suchen, wenn Sie online sind. Update-Prüfungen aktivieren?",
454454
"keywords": "Schlüsselwörter",
455455
"author": "Autor",
456456
"filtered by": "Gefiltert nach",
457-
"clean install state": "Clean Install State"
457+
"clean install state": "Sauberer Installationsstatus"
458458
}

src/pages/plugin/plugin.view.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ export default (props) => {
186186
<div
187187
id="overview"
188188
className="content-section active md"
189-
innerHTML={body}
189+
innerHTML={DOMPurify.sanitize(body)}
190190
></div>
191191
<div id="contributors" className="content-section">
192192
{(() => {

src/plugins/terminal/scripts/init-alpine.sh

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
2-
31
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/share/bin:/usr/share/sbin:/usr/local/bin:/usr/local/sbin:/system/bin:/system/xbin:$PREFIX/local/bin
42
export PS1="\[\e[38;5;46m\]\u\[\033[39m\]@localhost \[\033[39m\]\w \[\033[0m\]\\$ "
53
export HOME=/home
64
export TERM=xterm-256color
75

86

9-
required_packages="bash command-not-found"
7+
required_packages="bash command-not-found tzdata wget"
108
missing_packages=""
119

1210
for pkg in $required_packages; do
@@ -33,6 +31,16 @@ fi
3331

3432

3533
if [ "$1" = "--installing" ]; then
34+
echo "Configuring timezone..."
35+
36+
if [ -n "$ANDROID_TZ" ] && [ -f "/usr/share/zoneinfo/$ANDROID_TZ" ]; then
37+
ln -sf "/usr/share/zoneinfo/$ANDROID_TZ" /etc/localtime
38+
echo "$ANDROID_TZ" > /etc/timezone
39+
echo "Timezone set to: $ANDROID_TZ"
40+
else
41+
echo "Failed to detect timezone"
42+
fi
43+
3644
mkdir -p "$PREFIX/.configured"
3745
echo "Installation completed."
3846
exit 0
@@ -118,6 +126,7 @@ fi
118126
chmod +x "$PREFIX/alpine/initrc"
119127

120128
#actual souce
129+
#everytime a terminal is started initrc will run
121130
"$PREFIX/axs" -c "bash --rcfile /initrc -i"
122131

123132
else

0 commit comments

Comments
 (0)