Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@wipcomputer/markdown-viewer

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@wipcomputer/markdown-viewer - npm Package Compare versions

Comparing version
1.2.1
to
1.2.2
+5
-0
CHANGELOG.md
# Changelog
## 1.2.2 (2026-02-21)
Release.
## 1.2.1 (2026-02-21)

@@ -4,0 +9,0 @@

+2
-2
{
"name": "@wipcomputer/markdown-viewer",
"version": "1.2.1",
"description": "Live markdown viewer for AI pair-editing. When you collaborate, the updates render instantly. Works with any AI agent and web browser.",
"version": "1.2.2",
"description": "Live markdown viewer for AI pair-editing. Updates render instantly in any browser.",
"type": "module",

@@ -6,0 +6,0 @@ "main": "server.js",

@@ -87,7 +87,12 @@ #!/usr/bin/env node

// Use fs.watch (native OS events) instead of fs.watchFile (polling).
// Debounce to avoid duplicate events (common on macOS).
// Watch the DIRECTORY, not the file. Many editors (and Claude Code's Edit tool)
// write to a temp file then rename, which replaces the inode. Watching the file
// directly breaks when the inode changes. Watching the directory and filtering
// by filename survives renames.
const dir = dirname(filePath);
const fileName = basename(filePath);
let debounce = null;
try {
entry.watcher = watch(filePath, () => {
entry.watcher = watch(dir, (eventType, changedFile) => {
if (changedFile !== fileName) return;
if (debounce) return;

@@ -100,3 +105,3 @@ debounce = setTimeout(() => {

entry.lastMtime = currMtime;
console.log(`File changed: ${basename(filePath)}`);
console.log(`File changed: ${fileName}`);
for (const client of entry.clients) {

@@ -103,0 +108,0 @@ try { client.write(`data: reload\n\n`); }