Skip to content

Timothy Lau is Contributing…

@0xlau’s recent pull requests on GitHub.

0xlau/openbroca

Why

Advanced SEO for the marketing site, in two layers:

  1. Measurement first — wire up GA4 + Google Search Console so we can actually track indexation, organic traffic, and the internal/external link reports over time.
  2. Authority via linkable assets — a /tools hub of free, browser-based utilities (mic test, recorder, speech-to-text…) that people search for and link to, structured hub-and-spoke so link equity flows back to the homepage/download money pages. They also double as live, no-install demos of what OpenBroca does.

Analytics & Search Console (env-driven)

No IDs are committed — the repo is public, so a hardcoded GA id would make forks report into our property. Activate by setting env vars in Vercel:

  • NEXT_PUBLIC_GA_ID — GA4 Measurement ID (loaded via @next/third-parties)
  • SITE_GOOGLE_SITE_VERIFICATION — GSC HTML-tag token (rendered via the Metadata API)

Unset = nothing renders (verified). Setup steps documented in apps/web/README.md.

Free tools hub — /tools

Route Targets
/tools/microphone-test "microphone test", "mic test"
/tools/mic-test-recording "mic test record & playback"
/tools/voice-recorder "online voice recorder"
/tools/speech-to-text "speech to text online", "voice typing"
/tools/text-to-speech "text to speech online", "read aloud"
  • Each page: interactive widget + unique supporting copy + visible FAQ, with WebApplication + FAQPage + BreadcrumbList JSON-LD.
  • Internal linking: nav "Tools" link, footer "Free tools" column, and every tool cross-links to the other tools + hub + homepage CTA.
  • All client-only Web APIs (getUserMedia / MediaRecorder / Web Speech) — audio never leaves the browser; fully static-export compatible.
  • Honest framing: the speech-to-text demo notes the browser engine may use the cloud, and points to OpenBroca for offline/system-wide dictation.

Verification

  • pnpm --filter openbroca-web typecheck ✅ and next build ✅ — all 6 new routes prerender as static.
  • Browser-verified every page: renders, correct schema, FAQs, 0 console errors.
  • sitemap.xml now lists the hub + 5 tools; robots.txt unchanged/valid.
  • trufflehog: 0 secrets.

🤖 Generated with Claude Code

0xlau/openbroca

Summary

Adds a Next.js (App Router) marketing website under apps/web, designed to deploy on Vercel and serve openbroca.com.

Highlights

  • Hero — React Bits "Soft Aurora" (WebGL via ogl) background; headline After keyboards. [app icon] Before brain interfaces. with the real app icon embedded inline
  • Providers — two-row marquee of brand icons (@lobehub/icons, deep-imported mono marks so @lobehub/ui/antd is never bundled)
  • MotionCurvedLoop divider band, cursor spotlight feature cards, and scroll-reveal on every section (IntersectionObserver + CSS animation, reduced-motion & no-JS safe)
  • Download — direct per-platform links + version pulled live from the GitHub Releases API (ISR, hourly), falling back to the releases page
  • Polish — fixed progressive bottom blur + oversized footer wordmark watermark
  • SEO metadata, sitemap, robots, brand favicon

Workspace

  • Self-contained app (no workspace package deps) wired into pnpm/Turborepo; turbo build outputs now include .next
  • First Load JS ≈ 140 kB; pnpm --filter openbroca-web build + typecheck pass

Deploy

Set Root Directory = apps/web in the Vercel project; framework auto-detects as Next.js. See apps/web/README.md.

🤖 Generated with Claude Code

electron/forge

close #4166

  • I have read the contribution documentation for this project.
  • I agree to follow the code of conduct that this project follows, as appropriate.
  • The changes are appropriately documented (if applicable).
  • The changes have sufficient test coverage (if applicable).
  • The testsuite passes successfully on my local machine (if applicable).

Summary

This PR updates @electron-forge/plugin-vite to support Vite 8.

Electron Forge next currently uses Vite 7, while Vite 8 has already been released. This change updates the plugin so projects using Electron Forge can adopt the latest Vite version.

Changes

  • update Vite dependency to v8
  • adjust code to handle breaking changes between Vite 7 → Vite 8
  • ensure the plugin continues to work with the current Electron Forge build pipeline

Testing

Tested with a local Electron Forge project using @electron-forge/plugin-vite and Vite 8.
Build, dev server, and renderer reload all work as expected.

facebook/react

Summary

This PR addresses a pending TODO comment left in #34499

https://github.com/facebook/react/blame/eb2f784e752ba690f032db4c3d87daac77a5a2aa/compiler/apps/playground/components/Editor/ConfigEditor.tsx#L37

This change removes the temporary workaround and replaces it with <Activity>, as originally intended.

How did you test this change?

  • Updated the component to use <Activity> directly
  • Verified the editor renders correctly in both development and production builds.
  • The <Activity> UI updates as expected.
Arc.mp4
electron-userland/electron-builder

close #8674

develar/app-builder
emscripten-core/emscripten

: )
Although the JavaScript engine can handle this situation, attempting to handle both resolve and reject for the same Promise in the code logic indicates that the code structure is not sufficiently rigorous and may have design flaws. This can obscure the intent of the code and potentially confuse other developers.

streamlabs/desktop

EAvailableFeatures.guestCaProduction -> EAvailableFeatures.guestCamProduction

0xlau/biliplus
vuejs/vitepress

close #3783

Usages

actions:
    - theme: brand
      text: lorem ipsum
      link: https://test.com
      startIcon:
          src: /test.svg
          alt: test
          width: 18
          height: 18

or

actions:
    - theme: brand
      text: lorem ipsum
      link: https://test.com
      endIcon: <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="m16.172 11l-5.364-5.364l1.414-1.414L20 12l-7.778 7.778l-1.414-1.414L16.172 13H4v-2z"/></svg>

About Docs

interface HeroAction {

  // .....

  // Show the left icon on action button.
  startIcon?: ActionIcon

  // Show the right icon on action button.
  endIcon?: ActionIcon
}

type ActionIcon =
  | string
  | { src: string; alt?: string; width?: string; height: string }
  | {
      light: string
      dark: string
      alt?: string
      width?: string
      height: string
    }

ScreenShot

image
moeyua/astro-theme-typography

dart -> dark

0xlau/biliplus

close #8

image

0xlau/biliplus
vuejs/vitepress

close #3658

After multiple attempts to build the old version, I ultimately attributed the issue to the pull request in #3359.

I think it's a problem with VPLocalNavOutlineDropdown, because after deleting it in the VPLocalNav.vue file, this issue was resolved.

To delve deeper, it is the problem caused by onClickOutside of the @vueuse/core.

vuejs/vitepress

close #3641

If the configuration directory of VitePress is outside the project root directory, the project will not run correctly, so add this validation logic to ensure that the path entered by the user is within the root directory.

p1

vuejs/vitepress

close #3622

It looks like a bug in #3622.

According to the docs about createContentLoader, the glob pattern should be relatived to the source directory instead of project root.

0xlau/biliplus
0xlau/biliplus

完成视频封面显示观看人数的实现

0xlau/biliplus
timqian/chinese-independent-blogs
dromara/dromara.github.io
Sub logo
ulivz/vt

允许自定义Toc.vue的标题

bryan31/liteflow-homepage
bryan31/liteflow-homepage
bryan31/liteflow-homepage
bryan31/liteflow-homepage
bryan31/liteflow-homepage
bryan31/liteflow-homepage
bryan31/liteflow-homepage
bryan31/liteflow-homepage
bryan31/liteflow-homepage
bryan31/liteflow-homepage
bryan31/liteflow-homepage
bryan31/liteflow-homepage
bryan31/liteflow-homepage
bryan31/liteflow-homepage
bryan31/liteflow-homepage

新增疑难解答板块;
更新V1.0.2的更新日志;

bryan31/liteflow-homepage

liteflowx特别鸣谢的头像本地缓存;
新增1.0.1更新日志

bryan31/liteflow-homepage

解决公告框重复弹出问题;
新增不再提示功能;

bryan31/liteflow-homepage
bryan31/liteflow-homepage
bryan31/liteflow-homepage
bryan31/liteflow-homepage
bryan31/liteflow-homepage
gabriel-ar/wlan_api

参考文档:https://docs.microsoft.com/en-us/windows/desktop/api/wlanapi/nf-wlanapi-wlanhostednetworksetsecondarykey

pucKeyData、dwKeyLength参数应该包括结束符'\0'。


Last fetched: