mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2026-03-24 04:46:56 +00:00
[PR #7963] [CLOSED] feat: Add Native Splash Screen for Improved Startup UX #8244
Labels
No labels
2024
2025
2026
acct mgmt
AI
automation
bug
calendar
ci
CJK
cloud
code-block
collaboration
copy-paste
database
data migration
data sync
deploy
desktop
develop
develop
documentation
duplicate
editor
editor-plugin
emoji
export
files
flutter-only
follow-up
formula
good first issue for devs
good first issue for experienced devs
grid
hacktoberfest
HACKTOBERFEST-ACCEPTED
help wanted
i18n
icons
images
importer
improvements
infra
install
integrations
IR
kanban board
login
look and joy
mentorship
mobile
mobile
needs design
new feature
new feature
non-coding
notes
notifications
onboarding
organization
P0+
permission
platform-linux
platform-mac
platform-windows
plugins
program
pull-request
Q1 25
Q1 26
Q2 24
Q2 25
Q3 24
Q3 25
Q4 24
Q4 25
react
regression
rust
rust
Rust-only
Rust-only
Rust-starter
Rust-starter
self-hosted
shortcuts
side panel
slash-menu
sync v2
table
tablet
task
tauri
templates
tests
themes
translation
v0.5.6
v0.5.8
v0.5.9
v0.6.0
v0.6.1
v0.6.4
v0.6.7
v0.6.8
v0.7.1
v0.7.4
v0.7.4
v0.7.5
v0.7.6
v0.7.7
v0.7.8
v0.8.0
v0.8.4
v0.8.5
v0.8.9
web
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
AppFlowy-IO/AppFlowy#8244
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/AppFlowy-IO/AppFlowy/pull/7963
Author: @djeddi-yacine
Created: 5/21/2025
Status: ❌ Closed
Base:
main← Head:main📝 Commits (4)
088987badd the native_splash_screen plugin and update some others in the pubspec.yaml825be47add splash window to linuxed8ad18add splash window to windows79384ceadd splash window to macos📊 Changes
30 files changed (+1094558 additions, -93 deletions)
View changed files
➕
frontend/appflowy_flutter/assets/images/desktop_splash_image.png(+0 -0)📝
frontend/appflowy_flutter/integration_test/shared/data.dart(+1 -1)📝
frontend/appflowy_flutter/lib/shared/markdown_to_document.dart(+2 -2)📝
frontend/appflowy_flutter/lib/startup/startup.dart(+2 -2)📝
frontend/appflowy_flutter/lib/startup/tasks/windows.dart(+6 -0)📝
frontend/appflowy_flutter/lib/util/share_log_files.dart(+1 -1)📝
frontend/appflowy_flutter/linux/CMakeLists.txt(+3 -0)📝
frontend/appflowy_flutter/linux/main.cc(+11 -2)📝
frontend/appflowy_flutter/linux/my_application.cc(+1 -1)➕
frontend/appflowy_flutter/linux/runner/native_splash_screen.cmake(+48 -0)➕
frontend/appflowy_flutter/linux/runner/native_splash_screen_debug.cc(+91166 -0)➕
frontend/appflowy_flutter/linux/runner/native_splash_screen_profile.cc(+91166 -0)➕
frontend/appflowy_flutter/linux/runner/native_splash_screen_release.cc(+91166 -0)📝
frontend/appflowy_flutter/macos/Podfile.lock(+6 -0)📝
frontend/appflowy_flutter/macos/Runner.xcodeproj/project.pbxproj(+26 -8)📝
frontend/appflowy_flutter/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme(+1 -0)📝
frontend/appflowy_flutter/macos/Runner/AppDelegate.swift(+18 -12)➕
frontend/appflowy_flutter/macos/Runner/NativeSplashScreen.swift(+83 -0)➕
frontend/appflowy_flutter/macos/Runner/NativeSplashScreen_Debug.swift(+182306 -0)➕
frontend/appflowy_flutter/macos/Runner/NativeSplashScreen_Profile.swift(+182306 -0)...and 10 more files
📄 Description
PR Checklist
PR details
Hi AppFlowy Team,
This pull request introduces a native splash screen feature, as proposed in issue #7962 (https://github.com/AppFlowy-IO/AppFlowy/issues/7962), to enhance the application's startup experience. By providing an immediate visual response, the splash screen aims to reduce perceived jank and improve the overall user experience while the main Flutter application initializes.
Key Changes:
native_splash_screenpackage.native_splash_screen.yamland CLI-generated native code for Linux, Windows, and macOS.main.ccfor Linux,main.cppfor Windows, andAppDelegate.swiftfor macOS) to display the splash screen as early as possible.Platform Testing:
Request for Reviewers:
I would greatly appreciate it if the team could specifically test the native splash screen functionality on Windows and macOS to ensure it behaves correctly on those platforms before merging. This includes verifying:
1. The splash screen appears immediately on app launch.
2. The configured image and appearance (if customized per platform) are correct.
3. The splash screen closes smoothly when the Flutter UI is ready.
4. There are no adverse effects on the existing startup process for these platforms.
Future Work (Post-Merge):
If this initial implementation is accepted, I plan to investigate further optimizations for the main Flutter window's initialization on macOS and Windows. The goal would be to refine how the main window appears after the native splash screen closes, ensuring the smoothest possible visual transition from the native splash to the Flutter UI (e.g., preventing any brief white flashes or abrupt window appearance).
Thank you for considering this contribution! I believe native splash screens will be a valuable addition to AppFlowy.
Closes #7962
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.