Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
2ded382
feat(tasks): add a modal to create custom tasks
raphckrman Apr 5, 2026
46de3cf
feat(tasks): add icon when a task is custom
raphckrman Apr 5, 2026
59ac5da
feat(tasks): add layout for new modal
raphckrman Apr 5, 2026
e72f637
fix: don't trigger homework completion for custom homework
raphckrman Apr 5, 2026
042f4ed
feat(tasks): add icon if homework is custom
raphckrman Apr 5, 2026
c6a1816
feat(tasks): add a method to delete an homework from database
raphckrman Apr 5, 2026
e064d7d
feat(tasks): add the way to edit a custom task
raphckrman Apr 5, 2026
1f1a885
fix(tasks): adjust title for action
raphckrman Apr 13, 2026
abe1cb8
chore: Fix expo managed package versions
ecnivtwelve Apr 2, 2026
379aefa
fix: Android onboarding double back button
ecnivtwelve Apr 2, 2026
ca647d7
fix(android): Onboarding status and items
ecnivtwelve Apr 2, 2026
4fc7d77
fix(android): Various Android UI fixes
ecnivtwelve Apr 2, 2026
6c1b574
fix: Browser infinite load when stuck on PRONOTE page
ecnivtwelve Apr 2, 2026
bddc013
fix: Android status bar
ecnivtwelve Apr 2, 2026
e14bc10
fix: Android account switcher display
ecnivtwelve Apr 2, 2026
cb8220a
fix: Prevent errors on UserProfile selector
ecnivtwelve Apr 2, 2026
c127352
chore: Add Pronote error watcher
ecnivtwelve Apr 2, 2026
0199f64
chore: Allow browser loading skipping if waiting too long
ecnivtwelve Apr 2, 2026
c06b6f4
chore(android): Android UX enhancements
ecnivtwelve Apr 2, 2026
bfc7906
chore(android): More android UX fixes
ecnivtwelve Apr 2, 2026
b37590f
chore: Add List.Section support and Material You
ecnivtwelve Apr 2, 2026
523a024
feat: Use the new/List component in Settings views
ecnivtwelve Apr 2, 2026
709adfd
fix: Android welcome background
ecnivtwelve Apr 2, 2026
d81f53f
fix: Hide Android back button on iOS
ecnivtwelve Apr 2, 2026
3464acd
chore: migrate News to new/List
ecnivtwelve Apr 2, 2026
61164ef
fix(android): Average component background
ecnivtwelve Apr 2, 2026
c77e113
chore(Android): More Android enhancements
ecnivtwelve Apr 2, 2026
c6dd88e
fix: update opacity and add recommended label in personalization sett…
ecnivtwelve Apr 2, 2026
c9dcda8
chore(android): Various Android UI fixes
ecnivtwelve Apr 3, 2026
77181bc
fix(Pronote): Login error display
ecnivtwelve Apr 3, 2026
2b4842d
feat: Refactor modals and components to use new List and Typography s…
ecnivtwelve Apr 3, 2026
97fbbdc
fix(android): More Material UI enhancements
ecnivtwelve Apr 3, 2026
5753c8f
feat: Update List and Typography components across various modals and…
ecnivtwelve Apr 3, 2026
3b6ad57
feat: Update Typography variants in SettingsMagic and adjust List row…
ecnivtwelve Apr 3, 2026
702a34b
feat: Enhance GradesWidget with inline display and average calculatio…
ecnivtwelve Apr 3, 2026
70db1e8
fix: Update alert icons from "TriangleAlert" to "AlertTriangle" for c…
ecnivtwelve Apr 3, 2026
2689f88
feat: Refactor HomeWidget to use ErrorBoundary and update navigation …
ecnivtwelve Apr 3, 2026
4583def
feat: Update component styles for platform compatibility and improve …
ecnivtwelve Apr 3, 2026
a094bbe
feat: Integrate FlashList for improved performance, add default leadi…
ecnivtwelve Apr 3, 2026
31e8877
chore: Prebuild 8.4.1 iOS
ecnivtwelve Apr 3, 2026
04c2bf0
chore: Remove FlashList
ecnivtwelve Apr 3, 2026
67fed05
fix: Adjust background color handling for TasksHeader based on theme …
ecnivtwelve Apr 3, 2026
ca7e952
feat: Emoji picker
godetremy Apr 4, 2026
6629da7
chore: Enhance emoji picker performance
ecnivtwelve Apr 4, 2026
2590349
chore: Soon formSheet as modal on Android
ecnivtwelve Apr 4, 2026
949b865
fix: Update header visibility for modal screen and add translation fo…
ecnivtwelve Apr 4, 2026
8a265e1
feat: Add average grade label to home widget
ecnivtwelve Apr 4, 2026
0b66da1
fix: Adjust padding for List component to accommodate safe area insets
ecnivtwelve Apr 4, 2026
72b004c
feat(android): New custom context menu
algorythmice Apr 4, 2026
066e513
ci: add release workflow for merging dev into main
ryzenixx Apr 4, 2026
0abd496
ci: use GitHub App token for release workflow to bypass branch protec…
ryzenixx Apr 4, 2026
4186b72
ci: remove build aab for play store
ryzenixx Apr 4, 2026
4ff6237
ci: add manual merge workflow for dev into main
ryzenixx Apr 4, 2026
ae9b11d
feat(pronote): add postal code conversion for display in city list
ecnivtwelve Apr 4, 2026
7b58365
chore: Add question news warning
ecnivtwelve Apr 4, 2026
fe2e61c
ci: add Android build and emove old beta workflow
ryzenixx Apr 4, 2026
812ab2c
ci: remove issue-check workflow
ryzenixx Apr 4, 2026
85faad9
ci: improve Android build caching with Expo prebuild and Gradle confi…
ryzenixx Apr 4, 2026
27a0692
feat: enhance Android UI components and improve theme integration
ecnivtwelve Apr 4, 2026
3d7a0ba
feat: update UI components for attendance and cards, enhance header f…
ecnivtwelve Apr 4, 2026
1157c06
feat: refactor AttendanceView to use new List component and improve l…
ecnivtwelve Apr 4, 2026
8813960
feat: update section title container style to improve layout
ecnivtwelve Apr 4, 2026
f6c38fd
feat: enhance attendance time formatting and improve localization str…
ecnivtwelve Apr 4, 2026
495a5c4
feat: enhance localization strings in English
ecnivtwelve Apr 4, 2026
7ef318d
fix: createDefaultTheme tint color not applying custom theme colors
ecnivtwelve Apr 4, 2026
f484531
chore: remove useless Theme import
ecnivtwelve Apr 4, 2026
f793753
fix: adjust paddingBottom calculation for FlatList in HomeScreen
ecnivtwelve Apr 5, 2026
f9402ef
fix: improve lessons detection
ElyassCreates Apr 3, 2026
a92e5cc
feat: enhance HomeScreen with masked view and gradient background
ecnivtwelve Apr 5, 2026
73dd7e5
fix: Standardisation de l'empty state des tâches par rapport aux autr…
Fefedu973 Apr 5, 2026
5037050
Use router.push instead of router.replace
Fefedu973 Apr 4, 2026
7e6e70e
Localize wallpaper menu and fix ActionMenu placement
Fefedu973 Apr 4, 2026
07f6e43
fix: ActionMenu unpredictable behaviour
ecnivtwelve Apr 5, 2026
387f302
Fixed empty state centering in timetable
Fefedu973 Apr 4, 2026
0a6f78b
build: Upgrade Expo to SDK 55
ecnivtwelve Apr 5, 2026
6ea6529
fix(iOS): HomeScreen mask making home content disappear
ecnivtwelve Apr 5, 2026
8d583c2
fix: Remove iOS specific condition in HomeViewContainer and adjust gr…
ecnivtwelve Apr 5, 2026
4a8b88a
fix: Adjust vertical scroll indicator visibility for iOS in List comp…
ecnivtwelve Apr 5, 2026
b4992e1
feat: Use Expo UI for NativeSwitch component
ecnivtwelve Apr 5, 2026
75dc800
feat: Use Expo Router Native Tabs
ecnivtwelve Apr 5, 2026
33fe1be
fix: Android insets.top tab padding
ecnivtwelve Apr 5, 2026
5f636c0
fix: Enable unstable log box for Expo
ecnivtwelve Apr 5, 2026
b16ddf1
fix: Update keyExtractor to handle missing id in CalendarDay component
ecnivtwelve Apr 8, 2026
53f50d2
fix: Safely access transportInfo in CalendarDay component
ecnivtwelve Apr 8, 2026
c26b78b
fix: Hide disabled tabs in TabLayout based on user settings
ecnivtwelve Apr 8, 2026
e80eae6
fix: Refactor CompactGrade component to use ListTouchable and improve…
ecnivtwelve Apr 8, 2026
fe473dc
feat: Add median calculation method
ecnivtwelve Apr 8, 2026
d4a6e0e
chore: Next course Bottom Accessory
ecnivtwelve Apr 5, 2026
66e641f
feat: Add features settings screen with options for BottomAccessory a…
ecnivtwelve Apr 8, 2026
3dc0591
fix: Update HomeViewContainer background color to white for better vi…
ecnivtwelve Apr 8, 2026
7522e47
fix(ecoledirecte): restore grades period mapping
Fefedu973 Apr 5, 2026
006f974
🐛 fix: add conditional check for repository in workflow
notthebestdev Apr 8, 2026
2ed5ec0
fix: add for merge workflow
notthebestdev Apr 8, 2026
fea66f9
fix: add for release workflow
notthebestdev Apr 8, 2026
95a5400
Refactor loginARD to accept parameters for credentials
Fefedu973 Apr 4, 2026
b8436e8
Enhance ScrollView with keyboard handling properties
Fefedu973 Apr 4, 2026
421135f
Update turboself.tsx
Fefedu973 Apr 4, 2026
ce485b8
Update credentials.tsx
Fefedu973 Apr 4, 2026
3d30eb1
Update credentials.tsx
Fefedu973 Apr 4, 2026
2acfdea
Update credentials.tsx
Fefedu973 Apr 4, 2026
3f60b91
feat: Customizable grade scale
ecnivtwelve Apr 8, 2026
8fecff5
feat: Update normalized grade terminology in French localization
ecnivtwelve Apr 8, 2026
c7365a2
feat(tasks): add layout for new modal
raphckrman Apr 5, 2026
c1f84a3
feat(tasks): add icon if homework is custom
raphckrman Apr 5, 2026
c1656b3
feat(tasks): add the way to edit a custom task
raphckrman Apr 5, 2026
e146d6b
fix: duplicated screens
raphckrman Apr 20, 2026
bbd2206
fix: don't display settings if not a custom task
raphckrman Apr 20, 2026
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
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
name: Build AAB for Play Store
name: Build Android

on:
workflow_dispatch:
push:
branches:
- main

jobs:
build:
name: Build & Upload to Play Store
if: github.repository == 'PapillonApp/Papillon'
runs-on: ubuntu-latest

steps:
Expand All @@ -15,23 +19,44 @@ jobs:
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm

- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
distribution: temurin
java-version: 17

- name: Install deps
run: npm install --legacy-peer-deps || true
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4

- name: Install dependencies
run: npm install --legacy-peer-deps

- name: Cache Expo prebuild
id: prebuild-cache
uses: actions/cache@v4
with:
path: android/
key: ${{ runner.os }}-expo-prebuild-${{ hashFiles('app.json', 'package-lock.json') }}
restore-keys: ${{ runner.os }}-expo-prebuild-

- name: Create secrets.json
run: |
echo '{
"APP_KEY": "${{ secrets.COUNTLY_APP_KEY }}",
"SALT": "${{ secrets.COUNTLY_SALT }}",
"SERVER_URL": "${{ secrets.COUNTLY_SERVER_URL }}"
}' > secrets.json

- name: Prebuild Android
if: steps.prebuild-cache.outputs.cache-hit != 'true'
run: npx expo prebuild --platform android --clean

- name: Decode keystore
run: echo "${{ secrets.KEYSTORE }}" | base64 --decode > android/app/release.keystore

- name: Calculate Android Version Code
- name: Calculate version code
run: |
VERSION_CODE=$(node -e "
const version = require('./package.json').version;
Expand All @@ -40,42 +65,32 @@ jobs:
console.log(cleanVersion * 100000 + runNumber);
")
echo "VERSION_CODE=$VERSION_CODE" >> $GITHUB_ENV
echo "Computed VERSION_CODE: $VERSION_CODE"

- name: Configure signing
run: |
sed -i '/signingConfigs {/a\ release {\n storeFile file('\''release.keystore'\'')\n storePassword '\''${{ secrets.KEYSTORE_PASSWORD }}'\''\n keyAlias '\''${{ secrets.KEY_ALIAS }}'\''\n keyPassword '\''${{ secrets.KEY_PASSWORD }}'\''\n }' android/app/build.gradle
sed -i 's/signingConfig signingConfigs.debug/signingConfig signingConfigs.release/' android/app/build.gradle
sed -i "s/versionCode .*/versionCode ${{ env.VERSION_CODE }}/" android/app/build.gradle
echo "Signing config and version code configured in build.gradle"

- name: Configure Gradle
run: |
chmod +x android/gradlew
echo "org.gradle.jvmargs=-Xmx6144m -XX:MaxMetaspaceSize=1024m -XX:+HeapDumpOnOutOfMemoryError" >> android/gradle.properties
echo "org.gradle.parallel=true" >> android/gradle.properties
echo "org.gradle.caching=true" >> android/gradle.properties
echo "org.gradle.configuration-cache=true" >> android/gradle.properties
echo "android.enable16KbPageSizes=true" >> android/gradle.properties

- name: Create secrets.json
run: |
echo '{
"APP_KEY": "${{ secrets.COUNTLY_APP_KEY }}",
"SALT": "${{ secrets.COUNTLY_SALT }}",
"SERVER_URL": "${{ secrets.COUNTLY_SERVER_URL }}"
}' > secrets.json

- name: Build AAB
run: |
cd android
./gradlew bundleRelease --no-daemon
run: cd android && ./gradlew bundleRelease --no-daemon

- name: Upload AAB
- name: Upload AAB artifact
uses: actions/upload-artifact@v4
with:
name: app-release.aab
path: android/app/build/outputs/bundle/release/*.aab

- name: Upload on Play Store on beta track
if: success()
- name: Upload to Play Store
uses: r0adkll/upload-google-play@v1
with:
serviceAccountJsonPlainText: ${{ secrets.PLAY_STORE_KEY }}
Expand Down
186 changes: 0 additions & 186 deletions .github/workflows/build-beta.yml

This file was deleted.

34 changes: 0 additions & 34 deletions .github/workflows/issue-check.yml

This file was deleted.

35 changes: 35 additions & 0 deletions .github/workflows/merge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Merge dev into main

on:
workflow_dispatch:

jobs:
merge:
name: Merge
if: github.repository == 'PapillonApp/Papillon'
runs-on: ubuntu-latest

steps:
- name: Generate app token
id: app-token
uses: actions/create-github-app-token@v3
with:
app-id: ${{ vars.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }}

- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ steps.app-token.outputs.token }}
fetch-depth: 0

- name: Configure git
run: |
git config user.name "papillon-release[bot]"
git config user.email "papillon-release[bot]@users.noreply.github.com"

- name: Merge dev into main
run: |
git checkout main
git merge origin/dev --no-edit
git push origin main
Loading