Skip to content

Releases: hunghvu/hungvu.tech

v1.2 - Introduction of Lab page, and OpenWRT Table of Hardware mini project

27 Feb 04:58
Compare
Choose a tag to compare
  • This version focuses on delivering the website's "Lab" section. The "Lab" is a collection of mini projects the author wants to experiment on. This time, it is an OpenWRT table of hardware.
  • Feature development was merged at 2867f61, but some fixes were introduced after to resolve issues in the production environment. The website is ready at 4213095.
  • For a detailed work view, please visit commit history or Milestone v1.2.

Features

  • Add footer. (#72)
  • Add OpenWRT Table of Hardware (full details) that is updated every 24 hours. This involves several issues. Please take a look at the milestone for a better overview.

Optimization

  • Move from PrimeReact built-in styles plus Tailwind styles to fully unstyled Tailwind. This greatly reduces CSS and blocking resource size. (#111)
  • Improve SEO on link elements. (#62)
  • Improve semantics of blog/home page. (#115, and 5180b20)
  • Extract all API requests to utilities for the front end. (#70)

Known issues

  • Menubar has a key unique error due to an upstream PrimeReact bug. #123
  • CSP Nonce is removed in #150 due to breaking behavior in production. Future releases will re-evaluate the implementation of CSP.
  • Performance of OpenWRT Table of Hardware might not be optimal due to the lack of dynamic import for large JS bundle. #147
  • Might be false positive: Lighthouse test using PageSpeed Insights sometimes results in a lower score than expected, dropping about 10-20 points in performance. The result is not consistent so this needs to be investigated.

v1.1 - Bug fixes and performance optimization

30 Dec 20:02
Compare
Choose a tag to compare
  • This version focuses on delivering bug fixes and optimization for hungvu.tech.
  • Milestone merged at efecf45, but a hotfix was applied in 6cf083b.
  • Only notable changes relative to v1.0 are mentioned. Changes that are intermediate steps during the development are not mentioned.
  • For a better view, please visit commit history or Milestone v1.1.

Bug fixes

  • Highlight.js code snippet does not use Geist Mono font. (#101)
  • The ordered list is misaligned when the number label size changes. (#89)
  • Line height is small causing big rows (e.g., with code element) to overlap. (#84)
  • Image are unexpectedly zoomed in. (#65)
  • Long string overflows the text body. (#88)
  • MongoDB performance issue causing slow blog/home page load. (#93)
  • Payload custom Articles endpoints return draft articles and crash the front end. (#97)

Optimization

  • Turn the blog/home page into a server component to improve core web vitals. (#91)
  • Overhaul UI to improve accessibility and user experience. (#91, #99, and some other not-linked-to-issue commits)
  • Largely improve FCP and LCP by reducing bundled CSS and JavaScript. (#99)
  • Side note: AVIF was considered for implementation, but it led to a heavy load and crashed the server, so was removed. (#78, #105)
  • Use of cache header to utilize Cloudflare CDN. The issue (#98) remains open for monitoring purposes, but the core idea is implemented.
  • Increase QUIC/UDP buffer size. (#95)

Features

  • Use of a neutral theme for the website (no light/dark mode), with the use of animated SVG. (#92)

v1.0 - First relase

17 Dec 23:30
1e3fa00
Compare
Choose a tag to compare

Features

  • Dark theme (the only theme at the moment).
  • Home page and individual article pages.
  • Each article page have a virtual scroller to access other articles in the same series.
  • Every page can generate its own SEO information (meta tags and JSON Schema).
  • An article page is cached to improve load time and reduce server load. Other pages are dynamically fetched to ensure data is up to date.
  • HTTP/3, QUIC support.
  • Automatic SSL termination.
  • Infrastructure is defined using Pulumi (IaaC), ensuring consistent production environment.