Repository navigation
only offer real Webex and Whereby meeting links - #20
dxnnystyles wants to merge 3 commits into
Conversation
argahv
left a comment
There was a problem hiding this comment.
Thanks for picking this up. The marketing-page and lookalike-host negatives are exactly what #4 was after. One fix before it can go in, and two smaller points:
- Standard Webex meeting links lose their Join button (
Sources/NotchCore/ContentRules.swift:75). Webex invites put the site name in the path:https://acme.webex.com/acme/j.php?MTID=m….candidate.path == "/j.php"only accepts the bare/j.phpform, so the most common Webex link now returnsnil(it matched before this PR). Checking the last path component (pathComponents.last == "j.php") would fix it. Please add that format to the test too. - Single-segment Whereby pages still count as rooms (line 78). This follows the rule #4 suggested, so that one's on me, but
https://whereby.com/pricingor/loginhas one path segment and still gets Join. A short list of known non-room paths to exclude would cover it. - Suggestion: rather than more
if entry.suffix == "…"branches in the loop, each service's rule could live in thehoststable as a per-entry check, as #4 suggested, so it sits in one place next to Zoom's and Teams'.
Happy to pair on any of it. Just ask here.
|
thanks, fixed the webex site-path case ( |
argahv
left a comment
There was a problem hiding this comment.
Thanks. The site-path j.php links work again, and the rules read much better in the table. I ran about twenty links through it against main and found one more regression, plus the rest of the Whereby list:
- Webex webinar and event links lose Join (
Sources/NotchCore/ContentRules.swift:69).https://ieee.webex.com/ieee/onstage/g.php?MTID=e5f2a1bis Webex onmainandnilhere; it's the attendee link Webex Events sends. Path matching is also case-sensitive, sohttps://acme.webex.com/acme/J.php?MTID=m1isniltoo. Accepting any.phplast component when the query has anMTIDparameter, and comparing the path lowercased like the Whereby rule does, covers both. - A bare
/joinon any Webex subdomain counts (line 72).https://signin.webex.com/joinandhttps://help.webex.com/joinboth get Join. Personal rooms are/join/<name>, so requiring a second component, as/meet/already does, keeps those and drops the bare page. - More Whereby pages still count as rooms (line 77).
/blog,/signup,/about,/information/,/user,/downloadand/embeddedall get Join. Room names are free-form, so a fuller list of Whereby's own top-level pages is the practical fix. It matters most in event notes with several links:See https://whereby.com/blog and join https://whereby.com/team-roomoffers the blog. - Please add the webinar link, the uppercase
J.php,signin.webex.com/joinand that two-link sentence to the tests.
|
thanks for the extra examples! I added the Webex event and uppercase |
What this changes
keeps valid Webex meeting links and Whereby room links while excluding known marketing and account pages. closes #4.
Why
Webex event pages and Whereby information pages should not appear as meeting Join actions, while real meetings and rooms remain available.
How it was tested
swift testpasses — 194 tests; run with sandbox disabled and an isolated temporary scratch pathpython3 -I Tests/test_bridge.pypasses (ifScripts/or the event contract changed) — not applicable; neither changedbash Scripts/build.shbuilds — not run; no app bundle code changedIf I added, moved or removed a Swift file: I ran
python3 Scripts/generate_project.pyand committedNotchFlow.xcodeproj— not applicable; no Swift files were added, moved, or removedChecked on a Mac — not run
Focused
ContentRulesTestssuite — 5 passed; covers Webex event and uppercase.phplinks, bare/joinand missing-MTID negatives, Whereby non-room paths and mixed links, plus existing Zoom, Google Meet, and Teams behaviorgit diff --checkpassedAccessibility and motion
Privacy and security