Android

55 posts

metaOriginal article

How AI Is Transforming the Adoption of Secure-by-Default Mobile Frameworks (opens in new tab)

Meta utilizes secure-by-default frameworks to wrap potentially unsafe operating system and third-party functions, ensuring security is integrated into the development process without sacrificing developer velocity. By leveraging generative AI and automation, the company scales the adoption of these frameworks across its massive codebase, effectively mitigating risks such as Android intent hijacking. This approach balances high-level security enforcement with the practical need for friction-free developer experiences. ## Design Principles for Secure-by-Default Frameworks To ensure high adoption and long-term viability, Meta follows specific architectural guidelines when building security wrappers: * **API Mirroring:** Secure framework APIs are designed to closely resemble the existing native APIs they replace (e.g., mirroring the Android Context API). This reduces the cognitive burden on developers and simplifies the use of automated tools for code conversion. * **Reliance on Public Interfaces:** Frameworks are built exclusively on public and stable APIs. Avoiding private or undocumented OS interfaces prevents maintenance "fire drills" and ensures the frameworks remain functional across various OS updates. * **Modularity and Reach:** Rather than creating a single monolithic tool, Meta develops small, modular libraries that target specific security issues while remaining usable across all apps and platform versions. * **Friction Reduction:** Frameworks must avoid introducing excessive complexity or noticeable performance overhead in terms of CPU and RAM, as high friction often leads developers to bypass security measures entirely. ## SecureLinkLauncher: Preventing Android Intent Hijacking SecureLinkLauncher (SLL) is a primary example of a secure-by-default framework designed to stop sensitive data from leaking via the Android intent system. * **Wrapped Execution:** SLL wraps native Android methods such as `startActivity()` and `startActivityForResult()`. Instead of calling `context.startActivity(intent)`, developers use `SecureLinkLauncher.launchInternalActivity(intent, context)`. * **Scope Verification:** The framework enforces scope verification before delegating to the native API. This ensures that intents are directed to intended "family" apps rather than being intercepted by malicious third-party applications. * **Mitigating Implicit Intents:** SLL addresses the risks of untargeted intents, which can be received by any app with a matching intent-filter. By enforcing a developer-specified scope, SLL ensures that data like `SECRET_INFO` is only accessible to authorized packages. ## Scaling Adoption through AI and Automation The transition from legacy, insecure patterns to secure frameworks is managed through a combination of automated tooling and artificial intelligence. * **Automated Migration:** Generative AI identifies insecure usage patterns across Meta’s vast codebase and suggests—or automatically applies—the appropriate secure framework replacements. * **Continuous Monitoring:** Automation tools continuously scan the codebase to ensure compliance with secure-by-default standards, preventing the reintroduction of vulnerable code. * **Scaling Consistency:** By reducing the manual effort required for refactoring, AI enables consistent security enforcement across different teams and applications without slowing down the shipping cycle. For organizations managing large-scale mobile codebases, the recommended approach is to build thin, developer-friendly wrappers around risky platform APIs and utilize automated refactoring tools to drive adoption. This ensures that security becomes an invisible, default component of the development lifecycle rather than a manual checklist.

discord2 min readCurated summary

Discord Patch Notes: November 4, 2025

Discord’s November 4, 2025 patch focuses on faster startup and calls, more reliable streaming, improved notification processing, and a broad set of platform-specific fixes. Audio devices now initialize during call connection, reducing connection times by roughly 5–15%, while asset-fetch retries have reduced startup failures by about 80%. The release also improves Roblox streaming, iOS notification emojis, accessibility, navigation, and chat rendering. ## Performance and Reliability - Roblox streams on PC should no longer appear as blank or white frames, thanks to a more reliable capture pipeline. - Audio devices such as microphones now start while a call is connecting rather than afterward. - Notification targeting is up to five times faster, improving notification availability. - Asset-loading retries have significantly reduced startup failures that previously required closing and relaunching Discord. ## General Improvements - Desktop Quick Switcher returns more results when searching without a type filter. - Server administrators can now apply age restrictions to servers. - Discord fixed incorrect content-type headers for text attachments, including subtitle files. - Apple Maps link embeds work again. - Overlay dismissal correctly returns focus to the game. - Passkey prompts no longer appear when a passkey is already enabled. - Numerous layout, localization, tooltip, profile-editing, status, badge, and scrolling issues were corrected across desktop and mobile. ## Mobile and Platform Fixes - Custom emojis now render in iOS notifications. - Android fixes address unwanted vibration in Appearance settings, swipe navigation, role-management state resets, server-list rendering, chat loading, and bottom-navigation text truncation. - iOS fixes improve emoji-picker navigation, event controls, username rendering, server-join text, and message editing. - Desktop fixes include muted badge colors, profile-preview overlap, status resets, profile-editor blank screens, and localized button tooltips. ## Chat and Messaging - Fixed message spacing, forwarding layouts, reply-preview emoji overlap, and text-input positioning on iOS and desktop. - Android chat should no longer display a gray screen. - Forum-channel links and Markdown previews now render correctly. - Dark-mode forum previews no longer display links and mentions in black. - Spoilers render interactively and consistently, including inside code blocks. - Fixed potential crashes and visual issues when reacting to messages on iOS. - Desktop channel notification menus now display all available options. The patch is primarily a reliability and polish release, with the largest user-facing benefits coming from faster call connections, fewer startup failures, and more dependable streaming. Fixes may continue rolling out across platforms after publication.

Read original(opens in new tab)
discord3 min readCurated summary

Discord Patch Notes: December 8, 2025

Discord’s December 8, 2025 patch focuses on faster uploads, quicker video playback, a redesigned Desktop User Settings experience, and broad reliability improvements. Major infrastructure updates include resumable media uploads, Rust-based retry logic, and CDN changes that substantially reduce video startup latency. The release also contains numerous desktop, mobile, chat, localization, and UI bug fixes. ## Uploads, Performance, and Settings - Media uploads now support resuming after interruptions, which is especially useful for large files. - New Rust-based retry logic reduced upload latency by about 15% overall: - iOS: 21% faster - Android: 10% faster - CDN configuration changes improved video embed startup times: - P90 latency fell from 600 ms to 275 ms. - P95 latency fell from 1,250 ms to 658 ms. - Rare cases involving videos taking up to 40 seconds to start were also addressed. - Desktop User Settings received a redesign intended to make options easier to find, with metrics indicating improved usability. ## Platform and General Improvements - Mobile apps upgraded from React Native 0.78 to 0.81.4. - Desktop upgraded to Electron 37. - Server Hub search is now more performant, particularly for hubs connected to more than 50 servers. - Linux clients no longer display duplicate titlebars. - Various desktop rendering issues were fixed, including stray white pixels, incorrect scrollbars, spacing problems, and MacOS traffic-light alignment. - Server folders, unread channels, invite searches, profile previews, and image previews received multiple correctness fixes. - Emoji Studio now properly re-centers images when using Reset Image. - Search in Settings no longer produces empty categories for certain queries. - Several localization issues were corrected, including “Edit Profiles” and “Search in DMs.” - Users can now dismiss the Upcoming Events banner in voice channels. - Event invites, event popouts, custom-location sharing, and event Join buttons were repaired. - Android and iOS fixes address server folders, server lists, nameplates, role settings, and profile customization controls. ## Chat and Messaging Fixes - Multiline typing in the Desktop Message Forward interface no longer causes visual shifting. - Spoiler timestamps now render correctly before content is revealed. - Mobile fixes improve message-row sizing, reply navigation, forum interactions, and thread rendering. - Android code blocks once again use monospace formatting. - Sticker Picker and Emoji Picker navigation now behaves correctly on Android. - Scrollbars remain interactive when thread previews are present. - Inbox navigation to thread-creation messages has been fixed. - Forum post search no longer includes excessive blank space. - Additional iOS fixes address swiping to reply, navigating to message replies, and displaying the thread spine connecting avatars to threads. Overall, the update combines meaningful performance improvements with a large collection of visual and interaction fixes. Users who depend on large uploads, embedded video, mobile chat, or Desktop settings should benefit most, though the changes may continue rolling out across platforms.

Read original(opens in new tab)
woowahanOriginal article

아한형제들 기술블로그 (opens in new tab)

The 7th Woowacourse crew has successfully launched three distinct services, demonstrating that modern software engineering requires a synergy of technical mastery and "soft skills" like product planning and team communication. By owning the entire lifecycle from ideation to deployment, these developers moved beyond mere coding to solve real-world problems through agile iterations, user feedback, and robust infrastructure management. The program’s focus on the full stack of development—including monitoring, 2-week sprints, and collaborative design—highlights a shift toward producing well-rounded engineers capable of navigating professional environments. ### The Woowacourse Full-Cycle Philosophy * The 10-month curriculum emphasizes soft skills, including speaking and writing, alongside traditional technical tracks like Web Backend, Frontend, and Mobile Android. * During Level 3 and 4, crews transition from fundamental programming to managing team projects where they must handle everything from initial architecture to UI/UX design. * The process mimics real-world industry standards by implementing 2-week development sprints, establishing monitoring environments, and managing automated deployment pipelines. * The core goal is to shift the developer's mindset from simply writing code to understanding why certain features are planned and how architecture choices impact the final user value. ### Pickeat: Collaborative Dining Decisions * This service addresses "decision fatigue" during group meals by providing a collaborative platform to filter restaurants based on dietary constraints and preferences. * Technical challenges included frequent domain restructuring and UI overhauls as the team pivoted based on real-world user feedback during demo days. * The platform utilizes location data for automatic restaurant lookups and supports real-time voting mechanisms to ensure democratic and efficient group decisions. * Development focused on aligning team judgment standards and iterating quickly to validate product-market fit rather than adhering strictly to initial specifications. ### Bottari: Real-Time Synchronized Checklists * Bottari is a checklist service designed for situations like traveling or moving, focusing on "becoming a companion for the user’s memory." * The service features template-based list generation and a "Team Bottari" function that allows multiple users to collaborate on a single list with real-time synchronization. * A major technical focus was placed on the user experience flow, specifically optimizing notification timing and sync states to provide "peace of mind" for users. * The project demonstrates the principle that technology serves as a tool for solving psychological pain points, such as the anxiety of forgetting essential items. ### Coffee Shout: Real-Time Betting and Mini-Games * Designed to gamify office culture, this service replaces simple "rock-paper-scissors" with interactive mini-games and weighted roulette for coffee bets. * The technical stack involved challenging implementations of WebSockets and distributed environments to handle the concurrency required for real-time gaming. * The team focused on algorithm balancing for the weighted roulette system to ensure fairness and excitement during the betting process. * Refinement of the service was driven by direct feedback from other Woowacourse crews, emphasizing the importance of community testing in the development lifecycle. These projects underscore that the transition from a student to a professional developer is defined by the ability to manage shifting requirements and technical complexity while maintaining a focus on the end-user's experience.

netflixOriginal article

AV1 — Now Powering 30% of Netflix Streaming | by Netflix Technology Blog | Dec, 2025 | Netflix TechBlog (opens in new tab)

Netflix has successfully integrated the AV1 codec into its streaming infrastructure, where it now accounts for 30% of all viewing traffic and is on track to become the platform's primary format. This transition from legacy standards like H.264/AVC is driven by AV1's superior compression efficiency, which allows for higher visual quality at significantly lower bitrates. By leveraging this open-source technology, Netflix has enhanced the user experience across a diverse range of devices while simultaneously optimizing global network bandwidth. ### Evolution of AV1 Adoption The journey to 30% adoption began with a strategic rollout across different device ecosystems, balancing software flexibility with hardware requirements. * **Mobile Origins:** The rollout started in 2020 on Android using the "dav1d" software decoder, which was specifically optimized for ARM chipsets to provide better quality for data-conscious mobile users. * **Large Screen Integration:** In 2021, Netflix expanded AV1 to Smart TVs and streaming sticks, working closely with SoC vendors to certify hardware decoders capable of handling 4K and high frame rate (HFR) content. * **Ecosystem Expansion:** Support was extended to web browsers in 2022 and eventually to the Apple ecosystem in 2023 following the introduction of hardware AV1 support in M3 and A17 Pro chips. ### Quantifiable Performance Gains The shift to AV1 has resulted in measurable improvements in video fidelity and streaming stability compared to previous standards. * **Visual Quality:** On average, AV1 streaming sessions achieve VMAF scores that are 4.3 points higher than AVC and 0.9 points higher than HEVC. * **Bandwidth Efficiency:** AV1 sessions require approximately one-third less bandwidth than both AVC and HEVC to maintain the same level of quality. * **Reliability:** The increased efficiency has led to a 45% reduction in buffering interruptions, making high-quality 4K streaming more accessible in regions with limited network infrastructure. ### Live Streaming and Spatial Video Beyond standard video-on-demand, Netflix is utilizing AV1 to power its latest innovations in live broadcasting and immersive media. * **Live Events:** For major live events, such as the Jake Paul vs. Mike Tyson fight, Netflix utilized 10-bit AV1 to provide better resilience against packet loss and lower latency compared to traditional codecs. * **Immersive Content:** AV1 serves as the backbone for spatial video on devices like the Apple Vision Pro, delivering high-bitrate HDR content necessary for a convincing "cinema-grade" experience. As AV1 continues to displace older codecs, the industry is already looking toward the next milestone with the upcoming release of AV2. For developers and hardware manufacturers, the rapid success of AV1 underscores the importance of supporting open-source media standards to meet the increasing consumer demand for high-fidelity, low-latency streaming.

slack3 min readCurated summary

Android VPAT journey

Slack’s Android VPAT review uncovered recurring accessibility issues after the company’s 2024 UI redesign. Slack addressed problems involving error announcements, headings, form labels, list counts, and workspace reordering through changes to UI components and TalkBack support. The review also showed that some vendor recommendations required interpretation against Android conventions, while keyboard navigation remains future work. ## Background and Triage - A VPAT documents how a product aligns with accessibility standards and helps customers evaluate software. - Slack commissioned a third-party VPAT in 2024 after its IA4 redesign. - Straightforward issues, such as poor color contrast and missing image labels, were assigned immediately. - The remaining Android findings were grouped into recurring themes: - Inaccessible error messages - Missing semantic headings - Unclear edit-field labels - Incorrect list item counts - Inaccessible workspace drag-and-drop - Strikethrough information not conveyed to screen readers - Errors communicated through color alone - Keyboard navigation and focus, which remain future work because Android’s large-form-factor support is limited ## Making Error Messages Accessible - Invalid form submissions displayed errors visually, but TalkBack did not announce them. - Slack addressed both primary error patterns: - `OutlinedTextField` now announces errors positioned below the field. - Error-type `SKBanner` components now announce their messages to screen-reader users. - Users can therefore understand both that a field is invalid and why it failed without swiping through the screen. ## Adding Semantic Headings - Missing headings made page structure difficult for screen-reader users to understand and navigate. - Slack added headings in lists, including the Preferences page. - The team did not classify top app-bar titles as headings because testing with other Android applications showed that this is not a consistent Android convention. ## Providing Persistent Edit-Field Context - Some fields relied only on placeholder text, which disappears after text is entered. - This can make the field’s purpose unclear, particularly for users with cognitive impairments. - The team explored difficult cases such as the main search field and message input area. - Because of space limitations, the message input received no ideal redesign. - Slack added a search icon to the search field, giving it a persistent visual cue even after the placeholder disappears. ## Correcting List Item Counts - TalkBack incorrectly counted decorative dividers as list items. - For example, a bottom sheet with five actual rows and two dividers was announced as containing seven items. - Slack introduced `SKListAccessibilityDelegate` for `SKListAdapter`. - The delegate overwrites accessibility `CollectionInfo` with the correct number of meaningful list items. ## Making Workspace Reordering Accessible - Dragging workspaces requires dexterity that some users may not have. - Slack added an explicit Edit mode with visible six-dot drag handles for each workspace. - TalkBack users can now use custom “Move before” and “Move after” actions from the accessibility context menu. - These actions are available through a three-finger tap or TalkBack gestures such as `L` and `r`. - A Done button exits Edit mode and removes the drag handles. Slack’s experience demonstrates that Android accessibility improvements often require both component-level fixes and alternative interaction models. Teams should validate screen-reader behavior directly, distinguish decorative elements from meaningful content, provide persistent context for inputs, and offer accessible alternatives to gesture- or dexterity-dependent interactions.

Read original(opens in new tab)
lineOriginal article

Code Quality Improvement Techniques Part 22: To equal, or not to equal (opens in new tab)

The post argues that developers should avoid overriding the `equals` method to compare only a subset of an object’s properties, as this violates the fundamental principles of identity and structural equivalence. Implementing "partial equality" often leads to subtle, hard-to-trace bugs in reactive programming environments where UI updates depend on detecting changes through equality checks. To ensure system reliability, `equals` must strictly represent either referential identity or total structural equivalence. ### Risks of Partial Equality in Reactive UI * Reactive frameworks such as Kotlin’s `StateFlow`, `Flow`, and Android’s `LiveData` utilize `distinctUntilChanged` logic to optimize performance. * These "observable" patterns compare the new object instance with the previous one using `equals`; if the result is `true`, the update is ignored to prevent unnecessary re-rendering. * If a `UserProfileViewData` object only compares a `userId` field, the UI will fail to reflect changes to a user's nickname or profile image because the framework incorrectly assumes the data has not changed. * To avoid this, any comparison logic that only checks specific fields should be moved to a uniquely named function, such as `hasSameIdWith()`, instead of hijacking the standard `equals` method. ### Defining Identity vs. Equivalence * **Identity (Referential Equality):** This indicates that two references point to the exact same object instance, which is the default behavior of `Object.equals()` in Java or `Any.equals()` in Kotlin. * **Equivalence (Structural Equality):** This indicates that two objects are logically the same because all their properties match. In Kotlin, `data class` implementations provide this by default for all parameters defined in the primary constructor. * Proper implementation of equivalence requires that all fields within the object also have clearly defined equality logic. ### Nuances and Implementation Exceptions * **Kotlin Data Class Limitations:** Only properties declared in the primary constructor are included in the compiler-generated `equals` and `hashCode` methods; properties declared in the class body are ignored by default. * **Calculated Caches:** It is acceptable to exclude certain fields from an equality check if they do not change the logical state of the object, such as a `cachedValue` used to store the results of a heavy mathematical operation. * **Context-Dependent Equality:** The definition of equality can change based on the model's purpose. For example, a mathematical model might treat 1/2 and 2/4 as equal, whereas a UI display model might treat them as different because they represent different strings of text. When implementing `equals`, prioritize full structural equivalence to prevent data-stale bugs in reactive systems. If you only need to compare a unique identifier, create a dedicated method instead of repurposing the standard equality check.

discord3 min readCurated summary

Discord Patch Notes: October 7, 2025

Discord’s October 7, 2025 patch focuses on reducing update interruptions, improving search and personalization, and resolving numerous platform-specific bugs. Notable changes include less frequent mandatory desktop updates on Windows, online indicators in Quick Switcher results, improved iOS notification clearing, and per-server Nameplates. The release also contains extensive fixes across general navigation, the Shop, Overlay, mobile apps, and chat. ## Desktop Updates and Personalization - Windows desktop updates are now delayed unless a release is mandatory or the client is several versions behind. - Users can still update immediately through the green arrow in the top-right corner. - Nameplates can now be configured individually for each server. - The Shop now supports search and filtering, making collectibles easier to find. - Quick Switcher search results display users’ online status. - Quick Switcher reliability was improved for users with per-server nicknames. ## Notifications and Platform Reliability - iOS notifications read on another device should now clear more reliably. - Remaining stale notifications are cleared when Discord launches. - Fixed blank screens when navigating backward on iOS. - Improved Android navigation between Channel Details tabs. - Fixed improperly rendered invite links on iOS and Android. - macOS title-bar traffic lights now render more consistently. - Desktop update windows should no longer occasionally display a blank screen. ## General Interface and Overlay Fixes - Dismissing the in-game overlay now correctly returns focus to the game. - Fixed drifting “New” badges, inconsistent Nitro badge borders, and various alignment issues. - Corrected problems with appearance settings, including the disabled “Reset to Default” button at 87.5% size. - Improved keyboard navigation in Server Settings. - Fixed unnecessary text truncation in the Multi-Factor Authentication modal. - Resolved issues with pasting content in several dialogs and screens. - Overlay context menus, tooltips, animations, voice widgets, toast notifications, and transparency received multiple visual and behavior fixes. - Fixed issues involving onboarding question deletion, server description limits, channel topics, forum sorting, and server invite behavior. - Updated the outdated Nitro logo and corrected capitalization in the Shop search tooltip. ## Chat and Messaging - Sending a DM from a profile modal now reliably loads the message into the chat view. - Fixed overlapping emoji in iOS reply previews. - Corrected the placement of the “Slowmode is enabled” message. - Android users can once again tap spoiler tags to reveal them. - Fixed scroll-position resets when navigating away from and back to the same Android channel. - Corrected typing indicators appearing over message text in Desktop chat history. - Fixed the iOS composer moving behind the keyboard after pasting a link. - Improved handling of character limits for the first message in a thread. - Fixed missing unread-message banners and incorrect positioning of iOS’s “Jump to Latest Message” button. Discord users should receive these improvements as the changes roll out across platforms, though availability may vary. Users encountering additional problems can report them through Discord’s community bug megathread, while iOS users can test upcoming changes through TestFlight.

Read original(opens in new tab)
discord3 min readCurated summary

Discord Patch Notes: September 3, 2025

Discord’s September 3, 2025 patch focuses on scaling, performance, mobile improvements, permissions, and a large collection of cross-platform bug fixes. Discord increased the default server capacity from 2.5 million to 25 million members while improving update processing and asynchronous operations for very large communities. The Android app also moved to React Native’s new architecture, with early results showing smoother performance, particularly on lower-end devices. ## Large-Server Improvements - Raised the default server member limit to **25 million**, up from 2.5 million. - Batched certain server updates and shifted more work to asynchronous processes to improve stability. - Added further improvements for large servers and those using Community features. - Continued work based on administrator feedback, including changes described in Discord’s Community Server Cleanup Report. ## Android and Mobile Updates - Upgraded Android to React Native’s new architecture across most of the app. - Early performance data shows: - Smoother app operation. - Fewer low-frame-rate problems. - Better behavior on lower-end devices. - Improved the mobile Shop with: - Faster loading. - Gifting. - Nameplate purchases. - A redesigned layout closer to the desktop experience. - Added camera-enable and camera-disable sound effects, especially useful when using keyboard shortcuts. - Improved mobile rendering and behavior for Markdown, member statuses, thread lists, voice-region menus, browser settings, and rotated layouts. ## Server Management and Permissions - Increased the pinned-message limit from **50 to 250**. - Added a dedicated permission for pinning and unpinning messages, separating it from **Manage Messages**. - Fixed issues involving: - Role assignment during Server Onboarding. - Reordering roles on iOS. - Server subscriptions and subscription modals. - Community server icons. - Server Insights announcement-channel charts. - Twitch integration’s Force Sync button. - Nitro boosts and localized Japanese formatting. ## General Usability Fixes - Mobile member lists now correctly display “Can’t Wait For” and “Obsessed With” status messages. - Fixed profile views that could become impossible to close after rapidly opening mutual-friend profiles. - Corrected poll notification placeholders on Android. - Restored proper Markdown rendering on mobile Event pages. - Fixed Quick Switcher search prefixes such as `!`, `@`, `#`, and `*`. - Improved DM context-menu hitboxes and fixed several spacing, padding, alignment, and tooltip issues. - Corrected invalid invite embeds, owner crown alignment, role and app badge positioning, and Friend Suggestions layout. - Fixed desktop pop-out windows incorrectly displaying a menu bar. ## Notifications, Themes, and Accessibility - Automod incident notifications now follow users’ existing push-notification settings. - Fixed randomly changing client theme colors. - Improved visibility and formatting for light-theme Student Hub search placeholders. - Corrected localization issues involving Nitro Home and other interface elements. - Fixed several unreadable, misaligned, or incorrectly sized buttons and controls. ## Platform-Specific Fixes - **iOS:** Fixed thread-list flickering, browser selection, voice-region menu backgrounds, role reordering, phone-related interface behavior, and channel details after rotation. - **Android:** Fixed phone country-code controls, app badge alignment, poll notifications, and mobile layout issues. - **Windows:** Corrected navigation from Action Center notifications. - **macOS:** Fixed an unclickable title bar. - **Desktop/Web:** Resolved issues with custom keybind warnings, pop-out windows, search, tooltips, subscription flows, and various menus. Discord says all listed fixes have been merged, though they may still be rolling out gradually across platforms.

Read original(opens in new tab)
discord2 min readCurated summary

Introducing the Community Server Cleanup Report for August 2025

Discord’s August 2025 Community Server Cleanup Report introduces the first wave of updates aimed at giving moderators, administrators, and game developers more control over their servers. The changes improve server management, onboarding, and Forum channels by fixing usability bugs, expanding feature availability, and improving accessibility. Discord says these improvements are part of an ongoing effort to make community management easier. ## Server and Channel Management - Unread mentions in Voice and Stage channels now appear in Suggested Channels for members who have not enabled “Show All Channels.” - The Role list in Permission settings now includes a right-click delete option. - Mod View now works on servers without the Community feature enabled. - Channel description editing has improved Markdown support. - Role changes now update correctly in Settings on Android and iOS. ## Community Onboarding and Server Guide - Disabling the Community feature now also disables the Server Guide if it was previously active. - The Server Guide supports screen readers for better accessibility. - A mobile bug that trapped users in an infinite Server Onboarding exit loop has been fixed. ## Forum Channel Improvements - Forum channels are now available on all server types, without requiring the Community feature. - Forum post editing on iOS has been improved. - Members can no longer bypass required Forum post tags. - Shift, Home, and End key behavior is now consistent when browsing Forums. - Users are no longer incorrectly affected by Slowmode when a Forum is full and their post cannot be created. - Closing Threads works correctly in Gallery View. - Posts from blocked users are hidden in Forums, as they are in regular channels. - Discord also made general cleanup improvements to Forum sorting and tagging. Discord presents these fixes as the beginning of a longer series of community-focused updates. Moderators and game developers can expect further improvements targeting server administration and member experiences.

Read original(opens in new tab)
discord3 min readCurated summary

Discord Patch Notes: August 4, 2025

Discord’s August 4, 2025 patch focuses on reliability, responsiveness, search, and cross-platform usability. Major updates improve Android keyboard behavior, media downloads, Tumblr embeds, thread search, pinned-message limits, and settings navigation during calls. The release also addresses numerous platform-specific bugs affecting navigation, rendering, notifications, accessibility, and server administration. ## Search, Media, and Content Improvements - Search now includes messages inside threads. - Thread names can be autocompleted with the `in:` search filter. - Embedded images and videos from other platforms download more reliably. - Downloaded media should no longer produce malformed filenames such as `@jpeg.bin.jpg`. - Tumblr links now receive properly formatted embeds, including Tumblr-hosted sites on custom domains. - The maximum number of pinned messages per channel increased from 50 to 250. ## Android and Mobile Usability - Android keyboard handling was improved, especially when switching between emoji input, the gallery, and the system keyboard. - Fixed cases where the keyboard covered messages or obscured too much of the interface on Android multitasking and foldable devices. - iOS received fixes for search crashes, emoji cropping, search-filter suggestions, Friends-list icon padding, and custom-status alignment. - Back gestures on mobile no longer incorrectly navigate from channel settings all the way back to chat. - Server Onboarding backgrounds, popups, and state retention were corrected across mobile flows. ## Desktop and Apple Platform Integrations - On desktop, User Settings now opens directly to Voice & Video when the user is in a call. - macOS Spotlight can now locate Discord channels by channel or server name. - Apple Handoff lets users move directly to a Discord channel from an iPad, Mac Dock, or iOS app switcher. - Desktop notifications now navigate correctly to Discord. - The system tray icon should remain visible after desktop updates. - Fixed PiP settings appearing behind the picture-in-picture window. ## Performance and Reliability - Discord improved GDM search, direct-message cleanup, and relationship-operation handling for accounts with extremely large amounts of data. - These changes target severe startup and application slowdowns experienced by heavy-utilization users. - Numerous crashes, rendering problems, and unreliable interactions were fixed across desktop, Android, and iOS. ## Server, Role, and Moderation Fixes - Roles can now be deleted from the right-click menu in Role Settings. - Mobile role sorting works again. - Pending friend requests are visible in desktop user profiles. - Audit-log entries for Android voice-channel statuses now use the correct icon. - Server invite dialogs once again show the username being used to accept an invitation. - Server template names that are too short now produce an informative error. - Mod View dates now respect the configured date format instead of always using `MM/DD/YYYY`. - Server Onboarding dismissal state is preserved when navigating away and returning. ## Rendering, Text, and Interface Corrections - Japanese channel names and Burmese Unicode text now render and transmit correctly. - Fixed blank reaction emojis, cropped iOS emojis, masked links in mobile event descriptions, and duplicated users in member lists. - Corrected alignment and padding issues across buttons, role displays, search controls, badges, popups, Clips, and subscription flows. - Username autocomplete is less aggressive and no longer locks onto the first matching result. - Discoverable-server globe icons, boosting icons, and official badges are now positioned correctly. - Student Hub menus, voice-message volume sliders, and invite-permission messaging were repaired or clarified. Overall, this release is primarily a broad maintenance update. Users with heavy Discord accounts, Android keyboard issues, thread-search needs, or frequent cross-device use should benefit most, while the many smaller fixes improve consistency across Discord’s platforms.

Read original(opens in new tab)
discord2 min readCurated summary

*FLAILS AROUND* SUMMER SPECIAL! JOIN NITRO, GET AN EXTRA MONTH OF NITRO ON US!

Discord’s July 8, 2025 promotion offers eligible new Nitro subscribers a second month free when they start a monthly Nitro membership by July 15. The deal provides 60 days of standard Nitro for the price of 30 and expands availability to desktop, web, mobile web, and Android users. Eligibility depends on recent subscription history, location, payment method, and plan type. ## What Discord Nitro Includes - More emoji and stickers. - Additional profile customization options. - Higher-quality streaming. - Larger file-sharing limits. - Features available with standard Nitro rather than Nitro Basic. ## Promotion Details - Eligible users who begin a monthly Nitro subscription receive one extra month. - The offer is valid through July 15, 2025. - Users pay for the first 30 days and receive 30 additional days at no extra charge. - The promotion applies to new standard Nitro memberships, not Nitro Basic. ## Where to Claim the Offer - Desktop Discord: open the **Nitro** tab. - Android: go to **User Settings > Nitro**. - Mobile web and desktop web are also supported. - Qualified users will see a promotional offer page in the app. ## Eligibility Requirements Users must: - Not have had a Nitro subscription during the 10 days before claiming the promotion. - Be upgrading from Nitro Basic or Classic to standard Nitro, where applicable. - Live in a region included in the promotion. - Provide a valid payment method. - Sign up through desktop, web, mobile web, or Android. - Not already be an active Nitro member. Those who do not see the offer may be ineligible or may need to consult Discord’s Help Center for troubleshooting. The practical takeaway is that eligible users interested in standard Nitro should claim the offer before July 15, 2025, while checking the promotion page and regional eligibility first.

Read original(opens in new tab)
googleOriginal article

Android Earthquake Alerts: A global system for early warning (opens in new tab)

Google’s Android Earthquake Alerts system utilizes the onboard accelerometers of billions of smartphones to create a global, crowdsourced seismic network. By detecting the initial P-waves of an earthquake and rapidly processing aggregate data, the system provides critical early warnings to regions that often lack traditional, expensive seismic infrastructure. This technological shift has expanded earthquake early warning access from roughly 250 million people to over 2.5 billion worldwide. ### Leveraging On-Device Accelerometers * Mobile accelerometers, typically used for screen orientation, function as mini-seismometers capable of detecting the initial, fast-moving P-waves of an earthquake. * When a stationary phone detects these vibrations, it sends a signal along with a coarse location to a centralized detection server. * The system aggregates these signals to confirm the event and estimate its magnitude before the slower, more destructive S-waves reach the population. ### Global Reach and Implementation * Active in nearly 100 countries, the system has detected over 18,000 earthquakes ranging from M1.9 to M7.8. * The system has issued alerts for over 2,000 significant earthquakes, resulting in approximately 790 million alerts sent to users globally. * By utilizing existing consumer hardware, the system serves as a "global safety net" for earthquake-prone regions that cannot afford traditional ground-based sensor networks. ### Magnitude Estimation and Accuracy * A primary technical challenge is the trade-off between speed and accuracy; the first few seconds of data are limited but essential for providing early warnings. * Over three years, the system's median absolute error for initial magnitude estimates has been reduced from 0.50 to 0.25. * The accuracy of these smartphone-based detections is now comparable to—and in some cases exceeds—the performance of established traditional seismic networks. ### User Alerts and Real-World Impact * The system delivers two tiers of notifications: "BeAware" alerts for light shaking and "TakeAction" alerts, which use full-screen takeovers and loud sounds for intense shaking. * During a magnitude 6.7 earthquake in the Philippines, the system issued alerts 18.3 seconds after the quake began, providing users further from the epicenter up to 60 seconds of lead time. * To maintain privacy, the system relies on coarse location data and requires users to have Wi-Fi or cellular connectivity and location settings enabled. For users in seismic zones, ensuring that Android Earthquake Alerts and location services are enabled provides a vital layer of protection. This crowdsourced model demonstrates how ubiquitous consumer technology can be repurposed to provide essential public safety infrastructure on a planetary scale.

discord3 min readCurated summary

Discord Patch Notes: July 7, 2025

Discord’s July 7, 2025 patch focuses on scalability, responsiveness, media support, and bug fixes across desktop, web, iOS, and Android. Major improvements include raising the default server member cap to 2.5 million, reducing Push to Talk latency, adding AV1 attachments and embeds, and fixing a long-standing mobile voice communication issue. The release also contains numerous usability, localization, accessibility, and interface fixes. ## Large-Server Improvements - Increased the default member cap from 500,000 to 2.5 million. - Improved member-list loading for large servers. - Strengthened monitoring and automatic scaling to detect and resolve server-specific performance problems. ## Voice and Input Enhancements - Added the “Voice Activity Priority” hotkey for users with the appropriate permissions. - Priority speakers reduce the volume of non-priority speakers while talking. - Reduced desktop Push to Talk activation latency. - Fixed a long-standing mobile voice-channel issue caused by specific network-provider conditions, where other participants could no longer hear the user. ## Media and Performance - Added AV1 video attachment and embed support across all platforms. - Improved AVIF processing speed and flexibility. - Fixed a message-sending bug where failed image uploads could block all later image sends until the app restarted. ## Interface and Usability Fixes - Channel names now preserve complex Unicode emoji sequences such as `👩🏻‍🔬` and `❤️`. - Added an interactive empty Voice Channel animation on desktop and web. - Prevented repeated Gift Nitro overlays on Android. - Restored the behavior where pressing Escape marks channels as read. - Improved Nameplate preview updates while editing display names. - Added a copy-link option to Forum post context menus. - Made the Events “More Options” button easier to click. - Prevented the Channel Settings “Add Role” interface from shifting during scrolling. - Fixed hidden Overlay widgets blocking interaction with the space they occupied. - Corrected shop-logo alignment, profile modal borders, event overflow behavior, and several tooltip and label issues. ## Mobile and Platform-Specific Fixes - Fixed blank keyboards when opening chat with an app. - Resolved iOS notification-swipe behavior that could open notifications instead of dismissing them. - Fixed iOS Server Discovery links incorrectly redirecting to profiles. - Restored mobile profile-banner animations. - Fixed Android Nitro gift-button overlays that could not be dismissed. - Corrected QR-code login errors when camera permission had not yet been granted. - Fixed light-mode styling for the “Remove Phone Number” modal. ## Search, Profiles, Events, and Moderation - Search suggestions no longer appear behind tabs. - Refreshing Forum searches no longer inserts the search text into the New Topic interface. - Fixed text truncation involving Custom Status and Rich Presence displays. - Corrected event text that incorrectly said “Starting on Tomorrow.” - Fixed AutoMod rules not disappearing immediately after deletion. - Prevented removing another user’s linked role from accidentally removing the role from oneself. - Fixed Server Template edits that deleted characters but could not be saved. - Updated Mod View title text and removed redundant Quest tooltips. - Corrected clickable bio-link font sizing and several profile rendering issues. ## Localization and Accessibility - Added Polish localization for the “Current Obsession” status. - Fixed Forum call-to-action text clipping in some languages. - Improved light-theme hover colors and other visual consistency issues. - Made various controls easier to use through larger click areas and smoother animations. The patch is aimed at making Discord more reliable at large scale while reducing friction in voice communication, media sharing, and everyday navigation. Users may receive the fixes progressively as they roll out across platforms.

Read original(opens in new tab)
discord3 min readCurated summary

Discord Patch Notes: June 3, 2025

Discord’s June 3, 2025 patch focuses on performance, reliability, media playback, and cross-platform consistency. Major improvements include ARM infrastructure migration, faster video startup, better mobile image compression, persistent voice-message playback, and early adoption of shared Rust components. The release also includes framework upgrades and a broad set of UI, navigation, billing, accessibility, and platform-specific bug fixes. ## Infrastructure and Performance - Discord is migrating parts of its infrastructure to ARM hardware. - The change has reduced per-core load and improved latency. - ARM machines also lower energy consumption. - Keyframe-generation changes reduced video and stream startup latency by more than 10% on average. - Discord migrated one core store to a shared, multi-platform Rust implementation. - Early results showed improvements in memory and CPU usage, crashes, and other reliability metrics. - More stores and APIs are planned for migration. - Desktop clients were upgraded to Electron 35. - Mobile clients moved to React Native 0.78, while all clients upgraded to React 19, with incremental performance improvements and no significant regressions. ## Voice, Images, and App Links - Voice messages on desktop and web now support playback-speed controls. - Playback position is preserved when users close the app or navigate away. - Mobile image compression now adapts to source resolution. - Lower-resolution images receive higher-quality embeds. - Median upload latency has decreased across platforms. - Discord revamped app-link handling to resolve Android linking failures and improve compatibility with modern apps. ## General Bug Fixes - Fixed an iOS Billing Settings issue involving an empty entry field and moved Manage Nitro to the top of the page. - Fixed Android poll results that could not be swiped horizontally. - Soundboard uploads now work correctly in Firefox. - Corrected mobile profile scrolling that exposed blank space. - Fixed multi-line status rendering, Custom Status emoji alignment, and unreadable light-mode text. - Starting a Desktop settings search with “M” no longer freezes the application. - Mac popouts now correctly render Unicode emojis in full-screen mode. - Fixed duplicate server entries caused by lurking through Discovery. - Corrected server settings save prompts, profile badge previews, folder rendering in Safari, and profile banner updates on iOS. - Fixed Soundboard picker placement, event-link copying, Shop navigation, 2FA login-state messaging, and Expression Picker spellcheck replacement. - Removed a redundant Linux title bar and corrected channel-list alignment for servers with many channels. - Profile edits now prompt consistently for saving across platforms. - Fixed stale forwarding-search results, invite-modal corner rendering, light-mode member text, overlay popups, privacy-page dividers, folder mention badges, and stream-invite display names. - Improved Discovery scaling for different window sizes. - Fixed “Go to Shop” links from avatar decoration and profile-effect previews. - Corrected rendering issues involving passkey backup codes and several additional interface elements. The changes had been merged but might still be rolling out by platform. Users encountering remaining issues can report them through Discord’s community bug megathread or test upcoming iOS builds through TestFlight.

Read original(opens in new tab)