Philomena open beta / breaking API changes

Sollace
Lunar Champion - Led the charge of major battles for the New Lunar Republic, bringing swift and crushing defeat to the forces of the Solar Empire (April Fools 2023).
Elements of Harmony - Had an OC in the 2022 Community Collab
Non-Fungible Trixie -
Verified Pegasus - Show us your gorgeous wings!
Preenhub - We all know what you were up to this evening~
My Little Pony - 1992 Edition
Notoriously Divine Tagger - Consistently uploads images above and beyond the minimum tag requirements. And/or additionally, bringing over the original description from the source if the image has one. Does NOT apply to the uploader adding several to a dozen tags after originally uploading with minimum to bare tagging.
A Really Hyper Artist - 500+ images under their artist tag
Wallet After Summer Sale -
Friendship, Art, and Magic (2019) - Celebrated Derpibooru's seventh year anniversary with friends

I am the night!
No.
 
Any idea when the /images/[id] will be fixed so it links to /[id] again?
 
I’m getting tired of always having to edit the url before copying.
byte[]
Solar Supporter - Fought against the New Lunar Republic rebellion on the side of the Solar Deity (April Fools 2023).
Non-Fungible Trixie -
Verified Pegasus - Show us your gorgeous wings!
Preenhub - We all know what you were up to this evening~
An Artist Who Rocks - 100+ images under their artist tag
Artist -

Philomena Contributor
@LightningBolt  
Phoenix has trouble with “bare” or “constrained” URL formats.
 
Previously, Rails allowed us to do this:  
`
constraints(id: /[0-9]+/) do
get ‘/:id’ => ‘images#show’, :as => ‘short_image’
get ‘/next/:id’ => ‘images#navigate’, :as => ‘next_image’, :do => ‘next’
get ‘/prev/:id’ => ‘images#navigate’, :as => ‘prev_image’, :do => ‘prev’
get ‘/find/:id’ => ‘images#navigate’, :as => ‘find_image’, :do => ‘find’
end
constraints(id: /[a-z]+/) do
get ‘:id’, controller: ‘forums’, action: ‘show’
get ‘/:id’ => ‘forums#show’, as: ‘short_forum’
end
constraints(forum_id: /(?!users)(?!pages)(?!thumbs)(?!media)[a-z]+/) do
get ‘/:forum_id/:id’ => ‘topics#show’, as: ‘short_topic’
get ‘/forums/:forum_id/:id’ => ‘topics#show’
get ‘/:forum_id/topics/:id’ => ‘topics#show’
get '/:forum\_id/:id/last' =\> 'topics\#show\_last\_page'
get '/forums/:forum\_id/topics/:id/last' =\> 'topics\#show\_last\_page'
get '/:forum\_id/topics/:id/last' =\> 'topics\#show\_last\_page'

constraints\(page: /\[0-9\]+/\) do
  get '/:forum\_id/:id/:page' =\> 'topics\#show'
  get '/:forum\_id/topics/:id/:page' =\> 'topics\#show'
end

get '/:forum\_id/:id/post/:post\_id' =\> 'topics\#show', as: 'short\_topic\_post'
get '/:forum\_id/topics/:id/post/:post\_id' =\> 'topics\#show'
end
  However, because Phoenix has a completely different method for matching routes (it can only use a fixed string prefix), the best we can do with the Phoenix router (outside of hijacking the request pipeline) is [this](https://github.com/derpibooru/philomena/blob/master/lib/philomena_web/router.ex#L368-L373):  
get “/:id”, ImageController, :show
# get “/:forum_id”, ForumController, :show # impossible to do without constraints
get “/:forum_id/:id”, TopicController, :show
get “/:forum_id/:id/:page”, TopicController, :show
get “/:forum_id/:id/post/:post_id”, TopicController, :show
  (Note that this is also why you can't go to/disanymore to get the General Discussion forum. You have to go to/forums/disnow.)   Furthermore, it wasn't compatible with our resourceful routing scheme. You may have previously noticed this inconsistency on the Rails side, where routes like/:image_id/tag_changesdid not exist, and were always pointed to/images/:image_id/tag_changes. The same thing applies here.   These are the reasons I am moving to this canonical format. To me, with the new framework, it doesn't make any sense anymore to keep /:id` as the canonical route.
Parcly Taxel
Parcly Taxel - For supporting the site
Silly Pony - Celebrated the 13th anniversary of MLP:FIM, and 40 years of MLP!
Flower Trio - Helped others get their OC into the 2023 Derpibooru Collab.
Roseluck - Had their OC in the 2023 Derpibooru Collab.
Tree of Harmony - Drew someone's OC for the 2022 Community Collab
Elements of Harmony - Had an OC in the 2022 Community Collab
Philomena - For helping others attend the 2021 community collab
Twinkling Balloon - Took part in the 2021 community collab.
Ten years of changes - Celebrated the 10th anniversary of MLP:FiM!
Happy Derpy! - For Patreon supporters

Princess of Science
@byte[] But in that case, why does the URL generated when typing in the search bar and hitting enter involve a (probably unnecessary) UTF-8 encoding field, e.g. https://derpibooru.org/search?_utf8=%E2%9C%93&q=philomena ? https://derpibooru.org/search?q=philomena is equivalent to it.
Ajedi32
Not a Llama - Happy April Fools Day!

Wait, you rewrote the entire backend in a completely different language, with a completely different development framework? In 6 months? With pretty much zero impact to the UI? That’s seriously impressive.
Jarkes
Elements of Harmony - Had an OC in the 2022 Community Collab
Twinkling Balloon - Took part in the 2021 community collab.
My Little Pony - 1992 Edition
Wallet After Summer Sale -
Friendship, Art, and Magic (2018) - Celebrated Derpibooru's six year anniversary with friends.
Magical Inkwell - Wrote MLP fanfiction consisting of at least around 1.5k words, and has a verified link to the platform of their choice
Not a Llama - Happy April Fools Day!
Friendship, Art, and Magic (2017) - Celebrated Derpibooru's five year anniversary with friends.
Thread Starter - Transformers Thread

GOKAAAAI... SILVER!
…I’m just going to say it. I hate how the search syntax is so much more complicated now, especially when it comes to searching posts.
Wellwater
Magnificent Metadata Maniac - #1 Assistant
My Little Pony - 1992 Edition
Wallet After Summer Sale -

Just a flurry of H₂O
@Background Pony #F414  
Huh? The syntax (and general interface) for searching for forum posts/threads? You are talking about that syntax, right?
 
Of course, technically that might actually be right, but if so, there was a lot of syntax I was able to push off on the much more sophisticated search form with no loss of expressiveness, so I’m not sure that counts for much.
Wellwater
Magnificent Metadata Maniac - #1 Assistant
My Little Pony - 1992 Edition
Wallet After Summer Sale -

Just a flurry of H₂O
@byte[]  
Yes, but that wasn’t previously necessary for searching the forums, and for forum search it’s a lot clunkier and less expressive than the previous search form. I suspect that’s what Jarkes meant.
Joey
Dawnsong - Derpi Supporter
Lunar Supporter - Helped forge New Lunar Republic's freedom in the face of the Solar Empire's oppressive tyrannical regime (April Fools 2023).
Flower Trio - Helped others get their OC into the 2023 Derpibooru Collab.
Roseluck - Had their OC in the 2023 Derpibooru Collab.
A Lovely Nightmare Night - Celebrated the 12th anniversary of MLP:FIM!
Cool Crow - "Caw!" An awesome tagger
Tree of Harmony - Drew someone's OC for the 2022 Community Collab
Elements of Harmony - Had an OC in the 2022 Community Collab
Non-Fungible Trixie -
Verified Pegasus - Show us your gorgeous wings!

PM me your cute OCs
@byte[]  
What are your thoughts on having a seperate page/section for forum/comment searching? That page is mostly for imeage searching, and spends a lot of time talking about attributes that communications don’t have.
 
There is that little guide at the bottom of the forum search, but most people probably don’t think to look there
Interested in advertising on Derpibooru? Click here for information!
Techy Cutie Pony Collection!

Help fund the $15 daily operational cost of Derpibooru - support us financially!

Syntax quick reference: **bold** *italic* ||hide text|| `code` __underline__ ~~strike~~ ^sup^ %sub%

Detailed syntax guide