Skip to content

Conversation

@kilosculptor
Copy link

⚠️ EMERGENCY REVERT

This PR reverts the clickable diff IDs feature introduced in PR #303 due to reported issues.

Reverted Changes

  • Commit be1f3f2: Reverts the main clickable hyperlinks functionality
  • Commit 5c4b8f5: Reverts the comprehensive test suite

What This Revert Does

  1. Removes PhutilConsoleFormatter class and formatHyperlink method
  2. Restores original ICFlowMonogramField renderValues behavior
  3. Removes all hyperlink-related URL building logic
  4. Removes test files and test coverage
  5. Returns arc flow output to plain text diff IDs (D123)

Files Affected

  • DELETED: src/console/PhutilConsoleFormatter.php
  • DELETED: src/console/tests/PhutilConsoleFormatterTestCase.php
  • DELETED: src/flow/field/tests/ICFlowMonogramFieldTestCase.php
  • REVERTED: src/flow/field/ICFlowMonogramField.php

Impact

  • Zero risk: Pure revert with no new functionality
  • Backward compatible: Returns to previous known-good state
  • No dependencies: Removes all OSC 8 terminal code
  • Clean rollback: Git history preserved with proper revert commits

Why This Revert?

This is a safety-first approach to quickly restore stable functionality while the original issue is investigated and resolved.

Note: This PR should be merged immediately if the clickable diff feature is causing production issues.

- Add PhutilConsoleFormatter class with formatHyperlink() method
- Update ICFlowMonogramField to render clickable diff IDs (D123)
- Uses OSC 8 terminal hyperlinks for supported terminals
- Gracefully falls back to plain text in unsupported terminals
- Configurable base URL via UBER_DIFFERENTIAL_BASE_URL environment variable
- Defaults to https://code.uberinternal.com

Users can now click on diff IDs in arc flow output to open them in browser.
- Add PhutilConsoleFormatterTestCase with tests for:
  - formatHyperlink() method with OSC 8 sequences
  - ANSI enable/disable functionality
  - Edge cases and format string methods
  - Text escaping/unescaping

- Add ICFlowMonogramFieldTestCase with tests for:
  - Field key and configuration methods
  - Value rendering with and without hyperlinks
  - URL building and base URL configuration
  - Environment variable support
  - Edge cases and error conditions

All tests pass and verify proper functionality of the clickable
diff ID feature in arc flow output.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant