AFFiNE Project Sees Continued Focus on Mobile Optimization and UI/UX Enhancements Amidst Backend Refactoring Efforts
AFFiNE, an open-source knowledge base platform, continues to evolve with a strong emphasis on improving mobile accessibility and user interface design, while also undergoing significant backend refactoring to enhance performance and maintainability.
The AFFiNE project aims to provide a privacy-focused alternative to tools like Notion and Miro by offering a versatile, local-first workspace that integrates documents and whiteboards. Built with TypeScript, the platform supports real-time collaboration and self-hosting options, with plans for an enterprise edition featuring advanced capabilities.
Recent Activity
Recent issues and pull requests (PRs) indicate a concerted effort to address user experience enhancements, particularly in mobile optimization and UI/UX improvements. Notable issues such as #7995 and #7982 reflect user demands for better visual customization and interface clarity. Meanwhile, PRs like #7993 and #7976 focus on implementing new mobile UI components, highlighting a strategic push towards enhancing mobile usability.
Development Team Activities:
-
EYHN
- Developed editor setting service; implemented new print PDF API.
- Refactored infrastructure code; removed
setImmediate
.
-
JimmFly
- Added UI components for editor settings; adjusted share menu UI.
- Bumped versions for
@marsidev/react-turnstile
and happy-dom
.
-
DarkSky (darkskygit)
- Fixed native return type casts; updated throttler functionality.
- Reverted breaking change dependencies.
-
LongYinan (Brooooooklyn)
- Updated CI for Slack notifications post-deployment.
-
Peng Xiao (pengx17)
- Implemented keyboard shortcuts for electron; adjusted app-tabs-header styles.
-
liuyi (forehalo)
- Corrected server table usage; developed server storage adapters.
-
Don Isaac (DonIsaac)
- Removed unused variables across various files.
-
Cats Juice (CatsJuice)
- Implemented mobile menu support; adjusted sidebar style.
-
Mirone (Saul-Mirone)
- Bumped BlockSuite-related dependencies.
-
renovate[bot]
- Managed dependency updates across multiple packages.
Of Note
- Mobile Optimization: PRs #7993 and #7976 underscore a significant focus on enhancing the mobile experience, indicating AFFiNE's commitment to accessibility on smaller devices.
- UI/UX Enhancements: Issues like #7995 highlight ongoing efforts to refine the platform's visual appeal and user interaction.
- Backend Refactoring: PR #7994 reflects substantial backend improvements aimed at optimizing server-side authentication logic.
- Feature Expansion: New features such as document metadata enhancements (#7991) are being introduced to expand user engagement potential.
- Dependency Management: Regular updates (#7974, #7963) ensure security and modern standards compliance, although some updates may introduce breaking changes requiring careful integration.
Quantified Reports
Quantify Issues
Recent GitHub Issues Activity
Timespan |
Opened |
Closed |
Comments |
Labeled |
Milestones |
7 Days |
15 |
11 |
42 |
7 |
1 |
30 Days |
65 |
86 |
165 |
33 |
1 |
90 Days |
154 |
107 |
399 |
84 |
1 |
1 Year |
345 |
198 |
1016 |
175 |
2 |
All Time |
2111 |
1957 |
- |
- |
- |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
Quantify commits
Quantified Commit Activity Over 30 Days
PRs: created by that dev and opened/merged/closed-unmerged during the period
Detailed Reports
Report On: Fetch issues
Recent Activity Analysis
Recent GitHub issue activity for the AFFiNE project shows a focus on user experience enhancements, bug fixes, and feature requests. Notable issues include requests for improved UI responsiveness, support for additional authentication providers, and enhancements to the AI functionality. There are also reports of bugs related to self-hosted instances, such as email configuration errors and synchronization issues. A recurring theme is the desire for more customization options, both in terms of user interface and backend integrations.
Notable Issues
- #7995: A request for more vibrant code block colors highlights a user-driven demand for better visual customization.
- #7982: The need for customizable background colors in whiteboard mode indicates ongoing challenges with visibility and user interface clarity.
- #7979: Issues with link previews in self-hosted instances suggest potential gaps in documentation or configuration guidance.
- #7978: Reopening of a previously unresolved issue (#6024) regarding email verification links points to persistent challenges in self-hosted email configurations.
- #7958: Keyboard layout compatibility issues emphasize the importance of supporting diverse user environments.
Themes and Commonalities
- Customization Requests: Users frequently request features that allow greater personalization of their workspace, such as color settings, keyboard shortcuts, and layout adjustments.
- Self-hosting Challenges: Several issues relate to difficulties in setting up or maintaining self-hosted instances, particularly around email configurations and authentication.
- AI Functionality: There is interest in expanding AI capabilities and integrating alternative AI providers, reflecting a broader trend towards leveraging AI for productivity.
- User Interface Improvements: Many issues focus on enhancing the user experience through smoother interactions, better performance, and more intuitive design elements.
Issue Details
Most Recently Created Issues
- #7995: Request for more vibrant code block colors (Priority: Medium, Status: Untriaged)
- #7992: Incorrect line number alignment in code blocks (Priority: High, Status: Untriaged)
Most Recently Updated Issues
- #7982: Customizable background color in whiteboard mode (Priority: Medium, Status: Untriaged)
- #7979: Link preview not working in self-hosted instances (Priority: High, Status: Untriaged)
These issues reflect ongoing efforts to address both aesthetic preferences and functional challenges within the AFFiNE platform.
Report On: Fetch pull requests
Overview
The provided data consists of a list of 34 open pull requests (PRs) for the AFFiNE project, which is an open-source knowledge base platform. The PRs cover a range of updates, including feature additions, bug fixes, refactoring, and dependency updates.
Summary of Pull Requests
- #7994: Refactor server authentication; focuses on improving server-side authentication logic.
- #7993: Add mobile detail page; introduces a new UI component for mobile.
- #7991: Implement Doc Info and Bi-Directional Links display settings; enhances document metadata display options.
- #7990: Add new document default mode setting; introduces configuration for default document settings.
- #7989: Adjust font menu and slider style; minor UI improvements in font and slider components.
- #7988: Move fontFamily and fullWidthLayout to editor settings; refactors editor settings management.
- #7976: Mobile all docs page UI implementation; adds a comprehensive UI for mobile document browsing.
- #7974: Bump oxlint version to v0.9.0; updates linting tool with potential breaking changes.
- #7971: Bump BlockSuite version; updates dependencies related to the BlockSuite editor.
- #7963: Update non-major dependencies; routine maintenance to keep dependencies up-to-date.
- #7960: Filter out empty workspaces in sidebar list; improves workspace management by excluding empty entries.
- #7959: Mobile index page UI; develops the main entry point for mobile users.
- #7955: Add outgoing links to doc info; expands document information with external link capabilities.
- #7952: Add sign-in button to shared doc; enhances user authentication options on shared documents.
- #7946: Support block or element reference links; draft PR adding support for linking specific blocks or elements.
- #7942: Mobile renderer for explorer; implements a mobile-friendly version of the explorer feature.
- #7938: Add editor record functionality; introduces tracking for editor interactions and changes.
- #7936: Bump keyv version to v5; updates a database-related dependency with major changes.
- #7933: Add custom configuration to database options; allows more flexible database configurations.
- #7930: User data database implementation; draft PR focusing on user data management enhancements.
Analysis of Pull Requests
The current set of pull requests highlights several ongoing themes within the AFFiNE project:
-
Mobile Optimization and Features:
- There is a significant focus on enhancing the mobile experience (#7993, #7976, #7959, #7942). This includes new UI components and improved navigation features tailored for mobile users, indicating a strategic push towards making AFFiNE more accessible on smaller devices.
-
UI/UX Improvements:
- Several PRs address user interface improvements (#7989, #7988), suggesting an ongoing effort to refine the visual and interactive aspects of the platform.
-
Backend Enhancements and Refactoring:
- Backend improvements are evident in PRs like #7994 and #7960, where server-side logic is being refactored or optimized for better performance and maintainability.
-
Feature Expansion:
- New features such as document metadata enhancements (#7991), outgoing links (#7955), and editor records (#7938) are being introduced, expanding the platform's capabilities and user engagement potential.
-
Dependency Management:
- Routine updates to dependencies (#7974, #7963, #7936) ensure that the project remains secure and compatible with modern standards, although some updates like oxlint (#7974) may introduce breaking changes that require careful integration.
-
Drafts and Long-Standing PRs:
- Some PRs remain in draft status or have been open for extended periods (#7946, #7930), potentially indicating complex issues or resource constraints delaying their completion.
-
Community Engagement and Contribution:
- The variety of contributors across these PRs reflects a healthy level of community involvement, essential for an open-source project like AFFiNE.
Overall, the pull requests demonstrate AFFiNE's commitment to enhancing both its core functionalities and user experience while maintaining robust backend systems and staying current with software dependencies. However, attention should be given to resolving long-standing drafts and ensuring that major dependency updates do not disrupt existing workflows or introduce regressions.
Report On: Fetch commits
Development Team and Recent Activity
Team Members and Activities:
-
EYHN
- Worked on fixing the core to remove the share page in desktop environments.
- Refactored infrastructure code to remove
setImmediate
.
- Developed the editor setting service and adjusted sync API.
- Implemented new print PDF API.
-
JimmFly
- Disabled expand database block feature.
- Bumped up versions for
@marsidev/react-turnstile
and happy-dom
.
- Added UI components for editor settings and custom font family settings.
- Adjusted share menu UI.
-
DarkSky (darkskygit)
- Fixed native return type casts and native binding issues.
- Updated throttler and block slides functionality.
- Reverted breaking change dependencies.
-
LongYinan (Brooooooklyn)
- Updated CI to send Slack messages post-deployment.
-
Peng Xiao (pengx17)
- Adjusted app-tabs-header styles for electron.
- Implemented keyboard shortcuts for switching tabs in electron.
- Fixed issues with switchSplitView events in electron.
-
liuyi (forehalo)
- Fixed core to avoid expanding runtime config everywhere.
- Corrected server table usage for userspace data.
- Developed server storage adapters and ydoc storage abstraction.
-
Don Isaac (DonIsaac)
- Removed unused variables across various backend and frontend files.
-
Cats Juice (CatsJuice)
- Implemented mobile menu support and adjusted sidebar style.
- Fixed onboarding switch active state visibility issue.
-
Mirone (Saul-Mirone)
- Bumped up BlockSuite-related dependencies.
-
renovate[bot]
- Managed dependency updates across multiple packages, including
oxlint
, electron
, @blocksuite/icons
, etc.
Patterns, Themes, and Conclusions:
-
Collaborative Efforts: The team is actively collaborating on both frontend and backend improvements, with a focus on enhancing user experience through UI/UX adjustments and performance optimizations.
-
Dependency Management: Regular updates to dependencies indicate a strong emphasis on maintaining up-to-date libraries and tools, ensuring security, stability, and access to new features.
-
Feature Enhancements: There is a continuous effort to enhance existing features such as editor settings, share menu UI, and mobile support, reflecting a commitment to improving user interaction with the platform.
-
Bug Fixes: The team is attentive to resolving bugs promptly, as seen in fixes related to native bindings, server data handling, and UI components.
-
Infrastructure Improvements: Refactoring efforts are evident in infrastructure code, aiming for cleaner, more efficient codebases that can support future scalability needs.
Overall, the development team is actively engaged in refining the AFFiNE platform through collaborative coding practices, regular updates, and a focus on both backend robustness and frontend usability.