ID:2148122
 
Resolved
Certain topic links did not work correctly.
BYOND Version:511.1356
Operating System:Windows 7 Ultimate 64-bit
Web Browser:Chrome 52.0.2743.116
Applies to:Dream Seeker
Status: Resolved (511.1357)

This issue has been resolved.
Descriptive Problem Summary:
1356 broke href->topic() calls, certain window.location tricks still work, but normal a href="?src=..." links do not lead to a call to client/topic()


Numbered Steps to Reproduce Problem:
Click openwindow verb
Click link

Code Snippet (if applicable) to Reproduce Problem:
client
Topic(href, href_list, hsrc)
src << "TOPIC: [href] ([hsrc])"
. = ..()
verb
openwindow()
usr << browse("<a href='?src=\ref[src]'>Test</a>", "window=blah")

Above code in a stub project
Expected Results:
Topic message
Actual Results:
none.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
511.1355

edit: browse control links only, output control links work fine
edit2: fixed link
Lummox JR resolved issue with message:
Certain topic links did not work correctly.
I found the issue. There's a workaround for this, which is to start all your topic links with byond://. That's really the best way to go about handling all topic links.
I will note that we do them this way because that's how the reference does them.

http://www.byond.com/docs/ref/info.html#/client/proc/Topic wrote:
mob/Login()
src << "Click <a href='?src=\ref[src];action=startgame'>here</a> to start."
return ..()
The output and browser controls process links differently. In the past, browsers couldn't use bare topic links at all; special handling was later put in to allow that. That special handling is what broke in 1356. To be honest, I'm not sure the extent to which that old issue was ever documented, besides the fact that I wrote about it in a Dream Tutor article; I don't know if the reference ever covered it.

I tend to prefer always using the full protocol with topic links because of the old behavior. It's redundant now (except obviously in 1356) but I like it for the robustness.
Should change it up in the reference, also, there is a "of" that is suppose to be a "or"


a number of an object

should be

a number or an object

(last paragraph)