Introducing AshStorage! Attachment and file management that slots directly into your resources 😎
I had hoped to get this to a releasable state before sharing. Its not *quite* there yet but I'm announcing it anyway as I know the #AshFramework community is waiting. #ElixirLang
#ElixirLang 🤝 #Typescript like never before 😎 AshTypescript just launched `TypedChannel`, completing the circle on end-to-end type safety between your TS frontend and Elixir backend, fully generated from your #AshFramework resources. This is *huge* 🤯. I cannot overstate it.
Calculations in #AshFramework are extremely powerful, but something that often happens is you end up adding a whole lot of them, each one taking up a field on the struct. Now you can pass `field? false` to get all the features with no struct field taken! 🎉 #ElixirLang
New episode dropping on friday with @ZachSDaniel1 talking about @AshFramework !
He has a talk coming up you should consider to attend!
https://t.co/uP94tjWeZy
As of #AshFramework 3.20.0, actions now support the `public?` option, just like fields. It defaults to `true`, but will be flipped in 4.0. This makes it very easy to know and control what actions are available via external interfaces. Will be rolled out to API extensions soon!
recent updates to usage_rules in elixir is awesome.
claude can pick up those as skills when needed.
#myelixirstatus
thanks for usage_rules @AshFramework
Something I love about Ash: it's got escape hatches for complex requirements.
While I was prototyping the Phoenix Sync video, I found a way to use an Ash Change to emit the Postgres transaction ID as a custom header with ash_json_api.
Finally built an Ash.Type `:i18n_text` that i'm happy with and it is easy to work with. You define a single ENV variable for the supported langauges and Bada Bim Bada Boom! Thank you Claude Code and my brain :D
@AshFramework