Discussion
Loading...

#Tag

Log in
  • About
  • Code of conduct
  • Privacy
  • About Bonfire
Aral Balkan
Aral Balkan
@aral@mastodon.ar.al  ·  activity timestamp 13 minutes ago

🥳 New Kitten Release

This one fixes a bug that you would have encountered had you had an asynchronous component (component with asynchronous render method) nested more than one-level deep within synchronous components.

(Kitten’s html renderer transparently supports both synchronous and asynchronous render methods.)

So, this (taken from my unit test), for example, works correctly now:

```js
class AsynchronousOtherName extends KittenComponent {
async html () {
await new Promise(resolve => setTimeout(resolve, 10))
return kitten.html`<i>Balkan</i>`
}
}

class SynchronousName extends KittenComponent {
/* NOT async */ html () {
return kitten.html`<strong>Aral</strong> <${AsynchronousOtherName.connectedTo(this)} />`
}
}

class SynchronousTemplate extends KittenComponent {
html ({ SLOT }) {
return kitten.html`[Before slot]${SLOT}[After slot]`
}
}

class MyPage extends KittenPage {
html () {
return kitten.html`
<${SynchronousTemplate.connectedTo(this)}>
<h1>This should render all at once after a short delay.</h1>
<p>Hello, <${SynchronousName.connectedTo(this)} /></p>
</>
`
}
}
```

Enjoy!

kitten💕

https://kitten.small-web.org

#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #JavaScript #NodeJS #async #render

  • Copy link
  • Flag this post
  • Block
Aral Balkan
Aral Balkan
@aral@mastodon.ar.al  ·  activity timestamp 6 hours ago

🥳 New Kitten Release

• Added `target` and `data-*` to the list of safe attributes you can specify within curly brackets when writing Markdown in Kitten.

Enjoy!

kitten💕

https://kitten.small-web.org

#Kitten #KittenReleases #SmallWeb #SmallTech #Markdown #web #dev

  • Copy link
  • Flag this post
  • Block
Matúš Chochlík boosted
Aral Balkan
Aral Balkan
@aral@mastodon.ar.al  ·  activity timestamp 4 days ago

🥳 New Kitten¹ release

• Added `initialise()` hook to `kitten.Component` instances.

This gets called at the end of the constructor and is handy if you don’t want to override the constructor and have to handle the `data` parameter and remember to call `super(data)`. You can still access passed data from `this.data`.
Note that the component is not part of the view hierarchy on the client at this point. If you have tasks you need to perform only once per page – for example, instantiating a child component to use in your view template – override the `onConnect()` handler instead which is guaranteed to be called just once when your component has successfully been added to a connected page.

https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#2026-02-23

Enjoy!

kitten💕

¹ https://kitten.small-web.org

#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #components

Codeberg.org

app/CHANGELOG.md at main

app - A web development kit that’s small, purrs, and loves you.
  • Copy link
  • Flag this post
  • Block
Aral Balkan
Aral Balkan
@aral@mastodon.ar.al  ·  activity timestamp 4 days ago

🥳 New Kitten¹ release

• Added `initialise()` hook to `kitten.Component` instances.

This gets called at the end of the constructor and is handy if you don’t want to override the constructor and have to handle the `data` parameter and remember to call `super(data)`. You can still access passed data from `this.data`.
Note that the component is not part of the view hierarchy on the client at this point. If you have tasks you need to perform only once per page – for example, instantiating a child component to use in your view template – override the `onConnect()` handler instead which is guaranteed to be called just once when your component has successfully been added to a connected page.

https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#2026-02-23

Enjoy!

kitten💕

¹ https://kitten.small-web.org

#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #components

Codeberg.org

app/CHANGELOG.md at main

app - A web development kit that’s small, purrs, and loves you.
  • Copy link
  • Flag this post
  • Block
Aral Balkan
Aral Balkan
@aral@mastodon.ar.al  ·  activity timestamp 5 days ago

🥳 New Kitten release

⁃ Bug fix: Kitten no longer awaits events bubbled from the client to the server.

Kitten’s Streaming HTML workflow¹ transparently bubbles events from the client to the server so you can keep all your code on one tier and stream HTML updates to the page. Anyway, so I was awaiting events while bubbling them instead of just firing them off in parallel which meant that if you had delays, etc., in some of your event handlers, the timing of other event handlers would be affected. This is now fixed so your event handlers should fire independently of each other. (Your async event handlers will continue to work as intended so you can script animations, etc., by awaiting delays within them.)

Enjoy!

https://kitten.small-web.org

kitten💕

¹ https://kitten.small-web.org/tutorials/streaming-html/

#Kitten #KittenReleases #SmallWeb #SmallTech #bugFix #events #StreamingHTML

Kitten: Tutorials

  • Copy link
  • Flag this post
  • Block

BT Free Social

BT Free is a non-profit organization founded by @ozoned@btfree.social . It's goal is for digital privacy rights, advocacy and consulting. This goal will be attained by hosting open platforms to allow others to seamlessly join the Fediverse on moderated instances or by helping others join the Fediverse.

BT Free Social: About · Code of conduct · Privacy ·
Bonfire social · 1.0.2-alpha.34 no JS en
Automatic federation enabled
Log in
Instance logo
  • Explore
  • About
  • Code of Conduct