Rafael Tonholo
01/14/2025, 11:16 PM/{lang}/article/{article_id}0.20.00.20.10.20.2IllegalStateException {
    "cause": undefined,
    "message": "User attempted to register a dynamic route that conflicts with one or more routes already set up. \"{lang}\" is being registered but [\"\", \"about\", \"articles\", \"project\", \"resume\"] route(s) already exist.",
    "name": "IllegalStateException",
    "stack": "IllegalStateException: User attempted to register a dynamic route that conflicts with one or more routes already set up. \"{lang}\" is being registered but [\"\", \"about\", \"articles\", \"project\", \"resume\"] route(s) already exist.\n    at RootNode.createChild_922k2c_k$ (webpack-internal:///./kotlin/kobweb-common-client-server-internal.mjs:258:118)\n    at RouteTree.register_q504rs_k$ (webpack-internal:///./kotlin/kobweb-common-client-server-internal.mjs:514:22)\n    at Router.register_vkebx7_k$ (webpack-internal:///./kotlin/kobweb-frontend-kobweb-core.mjs:1528:25)\n    at main$lambda (webpack-internal:///./kotlin/portfolio.mjs:421:30)\n    at initKobweb (webpack-internal:///./kotlin/kobweb-frontend-kobweb-core.mjs:564:3)\n    at main (webpack-internal:///./kotlin/portfolio.mjs:138:92)\n    at mainWrapper (webpack-internal:///./kotlin/portfolio.mjs:593:3)\n    at eval (webpack-internal:///./kotlin/portfolio.mjs:19302:1)\n    at ./kotlin/portfolio.mjs (<http://localhost:8080/portfolio.js:486:1>)\n    at __webpack_require__ (<http://localhost:8080/portfolio.js:520:41>)"
}/{lang}/article/{article_id}0.20.1tryRoutingTo0.20.2David Herman
01/14/2025, 11:18 PMDavid Herman
01/14/2025, 11:19 PMRafael Tonholo
01/14/2025, 11:21 PMDavid Herman
01/14/2025, 11:21 PMDavid Herman
01/14/2025, 11:23 PMDavid Herman
01/14/2025, 11:23 PMDavid Herman
01/14/2025, 11:24 PMDavid Herman
01/14/2025, 11:24 PMDavid Herman
01/14/2025, 11:29 PMDavid Herman
01/14/2025, 11:50 PMRafael Tonholo
01/14/2025, 11:50 PM"/a"
"/b"
"/{else}/x"
where visiting "/a" would go to the first, "/b" would go to the second, and "/c/x" would go to the third?Yes, that is the expected behaviour.
Thinking about it, I can definitely support the case where I allow static pages and dynamic pages at the same level, as long as you'd be OK with the static pages taking precedence over the dynamic ones, if presentYeah, I think that, too, the static routes must get precedence over the dynamics. The only case I would think the dynamic should get precedence over the static is if the dynamic parameter was mapped to some value, and the value matched.
David Herman
01/14/2025, 11:51 PMDavid Herman
01/14/2025, 11:51 PMDavid Herman
01/14/2025, 11:51 PMDavid Herman
01/14/2025, 11:52 PMRafael Tonholo
01/14/2025, 11:52 PM/a/b/{param}/xparam/c/x/d/xDavid Herman
01/14/2025, 11:52 PMRafael Tonholo
01/14/2025, 11:53 PMThis may have worked before just by chance 🙂That was indeed working before, I have it running on my website, using
0.20.0David Herman
01/14/2025, 11:53 PM{x}{else}/x{else}/yRafael Tonholo
01/14/2025, 11:54 PMDavid Herman
01/14/2025, 11:55 PM'else{b}/y{c}/z{k}/{j}Rafael Tonholo
01/14/2025, 11:55 PM{user_id}{user_id}/profile{user_id}/messagesDavid Herman
01/14/2025, 11:55 PMDavid Herman
01/14/2025, 11:56 PMRafael Tonholo
01/14/2025, 11:56 PM{message_id}{user_id}/profile{user_id}/messagesRafael Tonholo
01/15/2025, 12:00 AM/abc/{message_id}/{user_id}David Herman
01/15/2025, 12:01 AMRafael Tonholo
01/15/2025, 12:01 AM/{user_id}/{user_id}/profile/{user_id}/messages/{message_id}/{user_id}/{user_id}/profile/{user_id}/messagesDavid Herman
01/15/2025, 12:02 AMDavid Herman
01/15/2025, 12:02 AMDavid Herman
01/15/2025, 12:02 AMRafael Tonholo
01/15/2025, 12:03 AMDavid Herman
01/15/2025, 12:57 AMDavid Herman
01/15/2025, 5:12 AMDavid Herman
01/15/2025, 5:14 AMDavid Herman
01/15/2025, 5:16 AMDavid Herman
01/15/2025, 5:17 AMDavid Herman
01/15/2025, 5:24 AMDavid Herman
01/15/2025, 7:13 AMDavid Herman
01/15/2025, 8:30 AMkqr
01/15/2025, 9:26 AMkqr
01/15/2025, 9:27 AMRafael Tonholo
01/15/2025, 3:02 PM/x/y/z/x/x/x/y/z/x/{else}/x/y/zDavid Herman
01/15/2025, 5:03 PM/{a}/b/a/{b}David Herman
01/15/2025, 5:05 PM/about/projects/resume/lang/{lang}Rafael Tonholo
01/15/2025, 5:12 PM/lang/path/{lang}/{id}David Herman
01/15/2025, 5:14 PMRafael Tonholo
01/15/2025, 5:16 PMDavid Herman
01/15/2025, 5:16 PMDavid Herman
01/15/2025, 5:47 PMDavid Herman
01/15/2025, 5:58 PMDavid Herman
01/15/2025, 6:00 PMDavid Herman
01/15/2025, 9:17 PM0.20.3-SNAPSHOT/x/y/{else}/x/y/x/y/x/{else}/{a}/{b}/{a}/b/a/{b}/a/b/a/{b}/{user_id}/{user_id}/profile/{user_id}/messagesRafael Tonholo
01/15/2025, 9:45 PM"Key [object Object] is missing in the map."
NoSuchElementException: Key [object Object] is missing in the map.
    at getOrImplicitDefault (webpack-internal:///./kotlin/kotlin-kotlin-stdlib.mjs:19176:13)
    at getValue (webpack-internal:///./kotlin/kotlin-kotlin-stdlib.mjs:19276:10)
    at _toModifier (webpack-internal:///./kotlin/kobweb-frontend-silk-foundation.mjs:1936:93)
    at toModifier (webpack-internal:///./kotlin/kobweb-frontend-silk-foundation.mjs:1929:14)
    at Scaffold (webpack-internal:///./kotlin/portfolio-core.mjs:4191:108)
    at HomeContent (webpack-internal:///./kotlin/portfolio.mjs:14261:80)
    at HomePage (webpack-internal:///./kotlin/portfolio.mjs:18594:5)
    at ComposableSingletons$MainKt$lambda_1$lambda_sdpc0d (webpack-internal:///./kotlin/portfolio.mjs:156:5)
    at ComposableLambdaImpl.invoke_z8di7s_k$ (webpack-internal:///./kotlin/compose-multiplatform-core-compose-runtime-runtime.mjs:38737:162)
    at eval (webpack-internal:///./kotlin/portfolio.mjs:150:23)David Herman
01/15/2025, 9:47 PMDavid Herman
01/15/2025, 9:47 PMRafael Tonholo
01/15/2025, 9:48 PM