‹ Reports
The Dispatch

OSS Report: toeverything/AFFiNE


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:

  1. EYHN

    • Developed editor setting service; implemented new print PDF API.
    • Refactored infrastructure code; removed setImmediate.
  2. JimmFly

    • Added UI components for editor settings; adjusted share menu UI.
    • Bumped versions for @marsidev/react-turnstile and happy-dom.
  3. DarkSky (darkskygit)

    • Fixed native return type casts; updated throttler functionality.
    • Reverted breaking change dependencies.
  4. LongYinan (Brooooooklyn)

    • Updated CI for Slack notifications post-deployment.
  5. Peng Xiao (pengx17)

    • Implemented keyboard shortcuts for electron; adjusted app-tabs-header styles.
  6. liuyi (forehalo)

    • Corrected server table usage; developed server storage adapters.
  7. Don Isaac (DonIsaac)

    • Removed unused variables across various files.
  8. Cats Juice (CatsJuice)

    • Implemented mobile menu support; adjusted sidebar style.
  9. Mirone (Saul-Mirone)

    • Bumped BlockSuite-related dependencies.
  10. renovate[bot]

    • Managed dependency updates across multiple packages.

Of Note

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

Developer Avatar Branches PRs Commits Files Changes
renovate 11 19/15/1 29 55 16783
JimmFly 9 19/11/1 47 199 14550
liuyi 4 27/24/1 34 292 13634
Peng Xiao 6 37/35/1 59 203 12105
Cats Juice 5 17/14/0 30 244 8811
EYHN 8 35/33/1 45 270 7069
DarkSky 7 16/14/0 83 92 2988
L-Sun 2 5/5/0 9 25 1525
Tasnim Tantawi 1 1/1/0 1 2 1455
Lye Hongtao 2 3/2/0 4 7 863
LongYinan 2 2/2/0 3 10 774
Hwang 1 1/1/0 1 5 763
Fangdun Tsai 3 4/1/0 6 22 686
Mirone 2 1/1/0 2 21 553
Chen 2 6/6/0 11 20 378
Flrande 1 0/0/0 1 7 184
Don Isaac 1 1/1/0 1 18 36
Yue Wu 1 1/1/0 1 1 11
None (link0002) 0 1/0/1 0 0 0
Peiyuan Yu (PeiyuanYu) 0 1/0/1 0 0 0
Ikko Eltociear Ashimine 1 1/1/0 1 0 0
None (doyourbest96) 0 1/0/1 0 0 0
Disha Bhardwaj (bhardwajdisha) 0 1/0/1 0 0 0

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

  1. Customization Requests: Users frequently request features that allow greater personalization of their workspace, such as color settings, keyboard shortcuts, and layout adjustments.
  2. Self-hosting Challenges: Several issues relate to difficulties in setting up or maintaining self-hosted instances, particularly around email configurations and authentication.
  3. AI Functionality: There is interest in expanding AI capabilities and integrating alternative AI providers, reflecting a broader trend towards leveraging AI for productivity.
  4. 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)
    • Created 0 days ago
  • #7992: Incorrect line number alignment in code blocks (Priority: High, Status: Untriaged)
    • Created 0 days ago

Most Recently Updated Issues

  • #7982: Customizable background color in whiteboard mode (Priority: Medium, Status: Untriaged)
    • Updated 0 days ago
  • #7979: Link preview not working in self-hosted instances (Priority: High, Status: Untriaged)
    • Updated 0 days ago

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

  1. #7994: Refactor server authentication; focuses on improving server-side authentication logic.
  2. #7993: Add mobile detail page; introduces a new UI component for mobile.
  3. #7991: Implement Doc Info and Bi-Directional Links display settings; enhances document metadata display options.
  4. #7990: Add new document default mode setting; introduces configuration for default document settings.
  5. #7989: Adjust font menu and slider style; minor UI improvements in font and slider components.
  6. #7988: Move fontFamily and fullWidthLayout to editor settings; refactors editor settings management.
  7. #7976: Mobile all docs page UI implementation; adds a comprehensive UI for mobile document browsing.
  8. #7974: Bump oxlint version to v0.9.0; updates linting tool with potential breaking changes.
  9. #7971: Bump BlockSuite version; updates dependencies related to the BlockSuite editor.
  10. #7963: Update non-major dependencies; routine maintenance to keep dependencies up-to-date.
  11. #7960: Filter out empty workspaces in sidebar list; improves workspace management by excluding empty entries.
  12. #7959: Mobile index page UI; develops the main entry point for mobile users.
  13. #7955: Add outgoing links to doc info; expands document information with external link capabilities.
  14. #7952: Add sign-in button to shared doc; enhances user authentication options on shared documents.
  15. #7946: Support block or element reference links; draft PR adding support for linking specific blocks or elements.
  16. #7942: Mobile renderer for explorer; implements a mobile-friendly version of the explorer feature.
  17. #7938: Add editor record functionality; introduces tracking for editor interactions and changes.
  18. #7936: Bump keyv version to v5; updates a database-related dependency with major changes.
  19. #7933: Add custom configuration to database options; allows more flexible database configurations.
  20. #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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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:

  1. 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.
  2. 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.
  3. DarkSky (darkskygit)

    • Fixed native return type casts and native binding issues.
    • Updated throttler and block slides functionality.
    • Reverted breaking change dependencies.
  4. LongYinan (Brooooooklyn)

    • Updated CI to send Slack messages post-deployment.
  5. 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.
  6. 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.
  7. Don Isaac (DonIsaac)

    • Removed unused variables across various backend and frontend files.
  8. Cats Juice (CatsJuice)

    • Implemented mobile menu support and adjusted sidebar style.
    • Fixed onboarding switch active state visibility issue.
  9. Mirone (Saul-Mirone)

    • Bumped up BlockSuite-related dependencies.
  10. 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.