Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion home-manager/services/neverssl-keepalive/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ in
"${./keepalive.sh}"
];
Environment = {
PATH = lib.makeBinPath [ pkgs.curl ];
PATH = lib.makeBinPath [ pkgs.curl ] + ":/usr/bin:/bin:/usr/sbin:/sbin";
};
StartInterval = 3;
StandardOutPath = "/tmp/neverssl-keepalive.log";
Expand Down
4 changes: 3 additions & 1 deletion home-manager/services/neverssl-keepalive/keepalive.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
set -euo pipefail

# Silently ping neverssl.com - ignore failures (network may be unavailable)

Copilot AI Jan 30, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment still refers to "ping neverssl.com" but the code has been changed to use curl. The comment should be updated to accurately reflect the current implementation, such as "Check if neverssl.com is reachable via curl".

Suggested change
# Silently ping neverssl.com - ignore failures (network may be unavailable)
# Silently check if neverssl.com is reachable via curl - ignore failures (network may be unavailable)

Copilot uses AI. Check for mistakes.
CURL_OK=false
if curl -fsS --max-time 10 http://neverssl.com >/dev/null 2>&1; then
echo "$(date): OK"
CURL_OK=true
else
echo "$(date): FAIL" >&2
fi
Expand All @@ -17,7 +19,7 @@ if [[ $OSTYPE == "darwin"* ]]; then

# Check for Starbucks or Komeda networks
if [[ $SSID == *"STARBUCKS"* ]] || [[ $SSID == *"Komeda_Wi-Fi"* ]]; then
if ! ping -c 1 -W 2 1.1.1.1 >/dev/null 2>&1; then
if [[ $CURL_OK == false ]]; then

@cubic-dev-ai cubic-dev-ai Bot Jan 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Captive portal intercepts (3xx/portal HTML) return curl exit 0, so CURL_OK stays true and WiFi restart/popup never triggers, regressing captive portal detection.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At home-manager/services/neverssl-keepalive/keepalive.sh, line 22:

<comment>Captive portal intercepts (3xx/portal HTML) return curl exit 0, so `CURL_OK` stays true and WiFi restart/popup never triggers, regressing captive portal detection.</comment>

<file context>
@@ -17,7 +19,7 @@ if [[ $OSTYPE == "darwin"* ]]; then
   # Check for Starbucks or Komeda networks
   if [[ $SSID == *"STARBUCKS"* ]] || [[ $SSID == *"Komeda_Wi-Fi"* ]]; then
-    if ! ping -c 1 -W 2 1.1.1.1 >/dev/null 2>&1; then
+    if [[ $CURL_OK == false ]]; then
       # Restart WiFi to trigger macOS captive portal popup
       networksetup -setairportpower en0 off
</file context>
Fix with Cubic

# Restart WiFi to trigger macOS captive portal popup
networksetup -setairportpower en0 off
sleep 3
Expand Down
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
"cline": "^1.0.10",
"mcporter": "^0.7.3",
"open-composer": "^0.8.23",
"openclaw": "^2026.1.29",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# Check if openclaw exists on npm
curl -s https://registry.npmjs.org/openclaw | jq '.name, .description, ."dist-tags".latest' 2>/dev/null || echo "Package not found or error fetching"

Repository: shunkakinoki/dotfiles

Length of output: 142


🏁 Script executed:

# Read package.json around line 35 to verify dependencies section and sorting
head -n 50 package.json | tail -n 20

Repository: shunkakinoki/dotfiles

Length of output: 537


🏁 Script executed:

# Read package.json around line 64 to verify trustedDependencies section
sed -n '55,75p' package.json

Repository: shunkakinoki/dotfiles

Length of output: 361


🏁 Script executed:

# Get full dependencies and trustedDependencies sections to verify alphabetical ordering
python3 << 'EOF'
import json
with open('package.json', 'r') as f:
    data = json.load(f)

print("=== dependencies (keys only) ===")
if 'dependencies' in data:
    for key in sorted(data['dependencies'].keys()):
        print(f"  {key}")
    print("\n=== Actual order in file ===")
    # Since we can't preserve exact order from json.load, let's check the raw file
    
print("\n=== trustedDependencies (if present) ===")
if 'trustedDependencies' in data:
    print("Found trustedDependencies:")
    for item in data['trustedDependencies']:
        print(f"  {item}")
EOF

Repository: shunkakinoki/dotfiles

Length of output: 1058


Fix alphabetical ordering in trustedDependencies.

The openclaw entry in trustedDependencies violates the alphabetical sorting requirement—it should appear after open-composer, not before. Move it to maintain alphabetical order per the configuration file guidelines.

Note: The openclaw package is a legitimate npm package (WhatsApp gateway CLI), and the dependencies section at line 35 is already correctly sorted.

🤖 Prompt for AI Agents
In `@package.json` at line 35, The trustedDependencies list is out of alphabetical
order: move the "openclaw" entry so it appears after "open-composer" within the
trustedDependencies object; edit the package.json trustedDependencies block
(identify the "trustedDependencies" key and the "open-composer" and "openclaw"
entries) to reorder the entries alphabetically, leaving all other keys and
values unchanged.

Copilot AI Jan 30, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The addition of the "openclaw" package and its inclusion in trustedDependencies appears unrelated to the PR's stated purpose of fixing captive portal detection for Starbucks and Komeda WiFi. The PR description makes no mention of this dependency. This should either be removed or explained in the PR description.

Copilot uses AI. Check for mistakes.
"oxfmt": "^0.27.0",
"oxlint": "^1.42.0",
"ralph-tui": "^0.6.0",
Expand Down Expand Up @@ -60,6 +61,7 @@
"clawdhub",
"cline",
"mcporter",
"openclaw",
"open-composer",
"oxfmt",
"oxlint",
Expand Down
Loading