Refactor on File::processNew
The code was so involved there was even a comment asking for a refactor.
Now, File_redirection::where always returns a nice File_redirection
object instead of an array or string or nothing. The object is
either one which already existed or else a new, unsaved object.
Instead of duplicating "does it exist" checks everywhere, do it in
File_redirection::where. You either get what exists or something to save.
An unsaved File_redirection may be paired with an unsaved File.
You will want to save the File first (using ->saveFile()) and put the
id in File_redirection#file_id before saving.
See merge request !57
Add direct link to parent notice
This is partly for usability, and partly to make Linkbacks for replies work (when the plugin is enabled).
See merge request !37
getParent() method will fail if the parent notice does not exist in the notice table
getParent() method will fail if the parent notice does not exist in the notice table. See https://quitter.no/notice/709400
There are situations where a user delete his notice which could be a parent notice to a reply.
The user which replied to this deleted notice will then have broken timeline.
This is caused by the Notice.getParent() method which tries to return the selection of non existing parent notice.
I've tried this code on quitter.no and it seems to work.
See merge request !35
Actually use the renew code
We have the code to check once a day and renew, but currently it's
just in a script directory. This change adds an event listener
hook to check and renew subscriptions daily.
Closes#83
See merge request !38
Add all link headers, not just the last one
Given the way Link headers work, it does not make any sense to
just replace all other ones. Especially when we ourselves are adding
in a loop.
See merge request !47
Clean up Linkback plugin and add Webmention support
Closes#82
Fixes Pingback, adds Webmention, makes linkbacks opt-out-able for users (at request of quitter.se admin)
See merge request !36
Accept 204 for PuSH subscription
Some hubs (notably, pushpress, used by wordpress.com) return 204 to mean success.
This used to be allowed by the spec, so no harm in accepting it.
See merge request !48
Add User_group::getObjectType
Since 174586bd51, I'm unable to join groups with the logs complaining
about getObjectType not existing on the User_group object.
Note: I'm not sure if this is the correct value to return here, but I
was able to joing groups successfully using this. Let me know if it needs
to be changed and I'll update the Merge Request!
See merge request !56
The code was so involved there was even a comment asking for a refactor.
Now, File_redirection::where always returns a nice File_redirection
object instead of an array or string or nothing. The object is
either one which already existed or else a new, unsaved object.
Instead of duplicating "does it exist" checks everywhere, do it in
File_redirection::where. You either get what exists or something to save.
An unsaved File_redirection may be paired with an unsaved File.
You will want to save the File first (using ->saveFile()) and put the
id in File_redirection#file_id before saving.
We have the code to check once a day and renew, but currently it's
just in a script directory. This change adds an event listener
hook to check and renew subscriptions daily.
Webmention and Pingback both need the exact URL we are going to claim to link to to be present in our HTML source, so send them our actual original link.
Webmention clients are supposed to resolve this link. Pingback clients may still fail on shortened links.