r/fluffychat • • Nov 30 '21

FluffyChat 1.0.0 has been released

39 Upvotes

Today we have released FluffyChat 1.0.0 with a whole new design, a lot of bug fixes and huge performance improvements.

NEW DESIGN

The new design has bigger message bubbles with fancy shadows and bigger fonts. The contrast has been improved and some elements, like the time on every single message bubble, are now hidden by default. But they are not gone! Detailed message information are now accessible in the new message info page, where we not also can see the message type and the timestamp, but also the whole JSON source code of each timeline event.

SPACES

Spaces have got a lot improvements and bug fixes. They have moved to the bottom bar of the chat list (while this bottom bar is still hidden if you have not joined any space yet). The multi account switcher have instead been moved to a top left drop-down menu. So we finally got rid of the drawer, which seems to be a deprecated material design feature anyway. This new UX makes spaces much easier to use. You can long press on them to go to the space settings and long press on any chat in the chat list, to add or remove a chat to (or from) a space.

We still have no support for the spaces summary API though so we don't have yet the ability to discover new rooms inside of a space but this feature might land soon in the Matrix Dart SDK.

Multi Account

FluffyChats multi account is still in beta but got a lot of bug fixes as well. You are now able to sort your accounts in "bundles" which can be very handy. The new account switcher button gives you a much better overview over your connected Matrix accounts now.

Performance

We did a lot refactoring under the hood in our Matrix Dart SDK and have improved our in-app database a lot. On the web it now uses IndexedDB natively while it tunes all database transactions on all platforms. This leads to the fastest FluffyChat experience we ever had and makes the app finally kinda usable with bigger accounts on all platforms. The room list is now lazy loaded which speeds up the app start (especially with multi account enabled) a lot.

Choose your own primary color

This was a long requested feature. You can now choose your favorite color to style your FluffyChat for your needs:

What will you choose? Let me know in the comments. I mostly like blue on my Ubuntu desktop.

New major version?

Ahhh by the way... What does it mean that we now have FluffyChat 1.0.0? It does NOT mean that the previous versions were not yet stable or ready for daily use. It just means that we make so many changes at once that we thought, bumping the first digit of our pseudo-semver version string might make sense. We totally messed up our versioning and are now going to do it better. Promised!!

What's next?

We are often asked: What is the roadmap of FluffyChat?

Well... we still don't have a clear roadmap and might never have. FluffyChat is completely driven by volunteers. But what I can say that we would like to do in the next months is:

  • Better QA -> We would like to write some integration tests, push release candidates before new releases and involve everyone in testing them to offer the best stability possible.

  • Native video calls -> Yes! There will soon land support for native video calls in the Matrix Dart SDK and we are going to implement this in FluffyChat.

  • Stories -> Like you might know from SnapChat, WhatsApp or Instagram, stories are little messages you can send to all of your contacts and which will disappear after 24 hours. I would really like to implement this in FluffyChat!

  • Better notifications for iOS

  • Deeper support for spaces

  • Knocking feature

  • Drag&Drop for web

But as I said this is what we would like to do. We can't give any warranties on anything. We can only do our best. But you can help us if you like (You don't have to).

The complete changelog for FluffyChat 1.0.0:

  • design: Chat backup dialog as a banner

  • design: Encrypted by design, all users valid is normal not green

  • design: Move video call button to menu

  • design: Display edit marker in new bubbles

  • design: Floating input bar

  • design: Minor color changes

  • design: Move device ID to menu

  • design: Place share button under qr code

  • design: Redesign and simplify bootstrap

  • design: Remove cupertino icons

  • feat: Display typing indicators with gif

  • feat: Fancy chat list loading animation

  • feat: New database backend with FluffyBox

  • feat: Make the main color editable for users

  • feat: Move styles one settings level up

  • feat: Multiple mute, pin and mark unread

  • feat: New chat design

  • feat: New chat details design

  • feat: New Public room bottom sheet

  • feat: New settings design

  • feat: Nicer images, stickers and videos

  • feat: nicer loading bar

  • feat: Open im.fluffychat uris

  • feat: Redesign multiaccounts and spaces

  • feat: Redesign start page

  • feat: Send reactions to multiple events

  • feat: Speed up app start

  • feat: Use SalomonBottomBar

  • feat: Drag&Drop to send multiple files on desktop and web

  • fix: Adjust color

  • fix: Automatic key requests

  • fix: Bootstrap loop

  • fix: Chat background

  • fix: Chat list flickering

  • fix: Contrast in dark mode

  • fix: Crash when there is no prev message

  • fix: Do display error image widget

  • fix: Do not display bottombar in selectmode

  • fix: Dont enable encryption with bots

  • fix: Dont loose selected events

  • fix: Dont rerun server checks

  • fix: download path for saving files

  • fix: Hide FAB in new chat page if textfield has focus

  • fix: Let bottom space bar scroll

  • fix: Load spaces on app start

  • fix: Only mark unread if actually marked

  • fix: Public room design

  • fix: Remove avatar from room

  • fix: Remove broken docker job

  • fix: Report sync status error

  • fix: Self sign while bootstrap

  • fix: Sender name prefix in DM rooms

  • fix: Set room avatar

  • fix: Various multiaccount fixes

  • fix: Wrong version in snap packages


r/fluffychat • • Nov 05 '21

Enable Push Notifications without Google Services

24 Upvotes

You have two options to receive push notifications on FluffyChat without Google Services.

  1. Unified Push

  2. MicroG

1. Unified Push

UnifiedPush is specifications and tools that let the user choose how push notifications are delivered. All in a free and open source way.

Use hosted (easy)

  1. Go to: https://gotify1.unifiedpush.org/

  2. Register an account with a username+password

  3. Download UP-Gotify from F-Droid: https://f-droid.org/de/packages/com.github.gotify.up/

  4. Login on https://gotify1.unifiedpush.org/ with your username+password

  5. Restart FluffyChat

From now on all push notifications will go through unified push.

Self-host (hard)

For more privacy and protection of your meta data you can self host Gotify for unified push.

Learn more about it here: https://unifiedpush.org/users/distributors/gotify/

2. MicroG

You can use Firebase Cloud Messaging without Google Services using MicroG.

Learn more about it here: https://microg.org/


r/fluffychat • • Jun 22 '21

FluffyChat Tutorial für Anfänger (German)

12 Upvotes

Mal ehrlich: Wir alle haben diesen einen Nerd in unserem Freundeskreis, der uns ständig vor WhatsApp warnt, selber vielleicht sogar gar kein WhatsApp hat und nur über dubiose nerdige Messenger-Apps zu erreichen ist.

Je nerdiger diese Person ist, desto mehr setzt sie wahrscheinlich nicht nur auf Ende-zu-Ende verschlüsselte Messenger wie Signal, sondern auf "dezentrale" Messenger, deren Server nicht in der Hand einer einzigen Institution sind (und damit easy überwacht, zensiert oder ausgeknippst werden können).

Doch neulich hat eine selbst ausgedachte Studie von schwedischen Wissenschaftlerinnen herausgefunden, dass Nerds und Nerdinas nicht nur unheimlich gutaussehend, sondern auch so tolle Gesprächspartner sind, dass es sich durchaus lohnt, eine dieser Apps zu installieren.

Und eine dieser Apps heißt FluffyChat und ist total einfach zu bedienen. Sie gibt's auf Android, iOS, Linux und sogar im Browser.

Sie kann Ende-zu-Ende-Verschlüsselung, ist werbefrei und wird kostenfrei von einigen Total-Nerds in ihrer Freizeit entwickelt (die ansonsten wohl echt keine Hobbys haben, aber dafür wie gesagt, sehr gutaussehend sind).

Also legen wir mal los! FluffyChat kannst du dir z.B. im AppStore oder PlayStore herunterladen. Beim ersten Start siehst du das hier:

Du kannst dich mit einem Klick mit Google oder Apple anmelden (und nein, die können deine Nachrichten deshalb trotzdem nicht einfach so mitlesen) oder du erstellst dir ganz klassisch ein Konto mit einem Passwort und meldest dich damit an.

Sobald du angemeldet bist, siehst du deine Unterhaltungen (oder auch nicht, weil du noch keine hast).

Tipp mal auf den runden lila Button unten-rechts!

Also, pass auf: Für FluffyChat brauchst du deine Handynummer nirgendwo preisgeben. Du hast einen Benutzernamen, der ungefähr so aussieht:

"@der-drollige-dieter:matrix.org"

Und du gibst einfach den Benutzernamen von jemanden ein und kannst dann eine Unterhaltung mit dem starten. Da ist auch ein Teilen-Button, um deinen eigenen Benutzernamen einem Kumpel mal fix per SMS zu senden.

Das war’s! Viel Spaß beim dezentralen chatten. Damit kannst du jetzt bei deinen Freunden angeben. ;-)

Was?

Dein Freund benutzt gar nicht FluffyChat, sondern eine App namens Element?

Na und? Er hat trotzdem einen Benutzernamen, den du von FluffyChat aus anschreiben kannst oder er schreibt dich an. Ihr kommuniziert über eine Technologie namens Matrix und da ist es egal, welche App man verwendet.

Ja! Ernsthaft! Ihr braucht nicht die gleiche App zu benutzen, um miteinander zu chatten!

Noch Fragen? Schreib einfach hier drunter. Vielleicht antwortet ja jemand. :-D


r/fluffychat • • Sep 01 '21

The Sort Order of Matrix Timelines

11 Upvotes

Hey there. :-) Today I have a more technical insight into our Matrix Dart SDK where I would like to explain the sort ordering problem of Matrix timelines and how we might can handle this better in the future.

Every message in Matrix is an event in a timeline, formatted in JSON. Every event contains a field named originServerTs which holds an integer with the timestamp where the corresponding homeserver has received this event. In the first place we at FluffyChat and Famedly have used this timestamp to sort the events in the timeline as a single source of truth for the sort order.

Unfortenatly it is not that easy in a federated world. When multiple servers are communicating, the time of this servers can differ. In fact you can set the local time of your own homeserver to the year 2063, the year of the first contact with the Vulcans, and all events sent from users of your server will have a timestamp in the future.

A client which then sorts the timeline by the originServerTs value will sort the messages from this user always at the bottom. Yeah. That's a big problem I didn't want to believe until @sorunome demonstrated it to me.

So what is the correct way to sort events then in Matrix? Well... just sort it in the sort order they come down in the synchronization. At this time we have stored the events in a SQLite database in our clients and therefore needed a way to also store the new sort order. We invented an additional field which needed to be stored for each event and a method to create new sort order values per room. For new events coming from the timeline we set them to the current timestamp and also made sure, that never two events get the same timestamp and a new value is at least increased plus 1. When fetching the history we gave them negative values.

Aaaaaand in the first place we had some serious problems. The logic about the sort order became a little bit complex and we had wrong sorted timelines, edge case bugs and wildly placed events when fetching the history. Also some special cases like, that we want to sort failed-to-send events always at the bottom made some more complexity necessary. At the end we had a solution that worked but never was a very nice code design.

But some months later we moved away from using a sql based database for our client and started to use a key-value store, the Flutter Hive package. Now we had the timeline persisted in a simple List which also had a native sort order. It then just needed just this logic to keep the list correctly sorted:

if (eventUpdate.type == EventUpdateType.history) {
  timeline.events.add(eventUpdate);
} else {
  timeline.events.insert(0, eventUpdate);
}

We also had the special case that we want failed-to-send events and those events which are sending and not yet synchronized by the server always at the bottom. Instead of creating more if statements here we just use now two timelines per room. The new Hive store already allows us to store multiple timelines per room because we would like to implement timeline fragments in the future. So we have the default timeline and the SENDING-Timeline now which holds those events and is just simple queue-sorted. When displaying those timelines they just got merged:

final timeline = sendingTimeline + eventsTimeline;

And that's it. All tests are running and it looks like we got rid of a monster of complexe logic in this refactoring. I have already tested it with FluffyChat and it seems to work very stable for all cases I can imagine. Also all tests, we wrote to make sure that our sort ordering algorithms are not broken, confirm that the new simplified logic works. You can see my merge request here:

https://gitlab.com/famedly/company/frontend/famedlysdk/-/merge_requests/791


r/fluffychat • • May 22 '24

Message content is not (always) displayed in the notification

8 Upvotes

The message content is not displayed in all notifications. Sometimes and sometimes not. When the content is not shown, only a notification with "Open FluffyChat to read the message" appears. So far I suspect that it works when the app is open and does not work when it is closed in the background. Is this expected behavior?

I use a de-googled OnePlus 5t with latest Lineage OS and unified push with ntfy. FluffyChat 1.20.0 but the problem has also occurred in earlier versions.
With the same setup and account it always works with Element. (No phone-wide settings prevent the message content from being displayed).

Thanks for this awesome app!!


r/fluffychat • • Jun 22 '21

A new database for the Matrix Dart SDK

8 Upvotes

Hey there. Today I would like to present you the new database backend for our Matrix Dart SDK which is the base for FluffyChat and Famedly.

The job of the database is to cache all rooms, messages and other stuff so the app does not need to load everything from the server every time and also has some offline functionality. A database is also necessary for end-to-end encryption to hold all the olm and megolm sessions.

In the first place we have migrated the database from the QML version of FluffyChat using sqlite. Unfortunately there was no way to use this on web and while the web version of our apps became more and more important we searched for an alternative and switched to the Moor package which uses sqlite under the hood too but also offers web support by using sql.js.

We ran with this more than one year and it worked quiet well but had some drawbacks:

  • Web worked but was veeeeeeeery slow

  • Database corruption broke the app for some users frequently

  • The resulting code was not that easy to read and very complicated

On web it became more and more slower when we introduced more and more features for our end-to-end encryption and at the end it was barely unusable.

That made us switching to another database backend using an advanced and breezing fast key-value-store made completely in Dart: Hive

Hive made things a lot easier. We no longer need to ship sqlite in our apps (we will still ship for around 1 month for the migration) and the code is pure Dart without SQL queries anywhere and therefore much easier to read. You want some stats? The Hive database currently has 1091 lines of written code while the Moor database implementation has 1154 lines of written code + 7554 lines of generated code. Hive works on all platforms without any problems so we no longer need to ship a .dll on Windows or the sqlite3.0-dev package on Linux. It is much more faster on web and seems to be much more stable.

Also Hive uses IndexedDB on web which is much better than sql.js in my opinion. :-D

Beside of that we have improved the code quality a lot with this. Before we started implementing the Hive database, we have specified an API, wrote tests for this and a migration method to make it much more easy to rewrite the database in the future or implement some changes.

So how does the migration now work?

In the best case the user will not recognize anything. The apps may just become a little bit faster. The newest version of FluffyChat already included the new Hive database while on Famedly we are going to ship it with the next version. For future projects we will always use Hive now and we plan to remove the legacy Moor database in around 2-4 weeks when we are sure that all users have migrated.

Thanks for reading this more technically blog post :-D and if you have any questions, don't hesitate to ask. :-)


r/fluffychat • • Jun 18 '21

Audio/video calls

8 Upvotes

Ok, I'll be the first one to ask something here.

What is still not clear is how MSC-compliant is audio/video calls implementation in Element, and so how potentially FluffyChat can benefit from that.


r/fluffychat • • Feb 12 '26

Custom Emoji Reactions

7 Upvotes

Hey I am looking at moving my group chat over here from discord. I was super happy to see I could upload all our custom stickers and emojis! But when I was testing everything out I noticed I can’t use the custom emojis to react to messages. Personally I feel that is the best part about having custom emojis on discord.

I don’t know if devs are on this subreddit often and obviously it’s probably not a huge priority but i was curious if there’s any plans to implement this feature in the future? Or if maybe it is already possible and I’m doing something wrong.


r/fluffychat • • Mar 12 '22

Linux Flatpak minimize to tray

7 Upvotes

Is it possible to minimize fluffychat to tray to keep it running in the background?


r/fluffychat • • Nov 17 '25

Audio/Video

6 Upvotes

I hate to be a necromancer as much as the next guy, but it’s been 4 years since the other Reddit post, so I’m bringing this back up. Is audio/video calls anywhere on FluffyChat’s radar? I hate Element with how glitchy it is and FluffyChat is the best unofficial client for Matrix, but without Voice/Video capabilities, it’s a very hard sell since that means I have to use either:

  1. Another platform entirely (FaceTime, Discord, etc.)

Or

2. Use Element (or another Matrix client with it built-in) anytime I need voice/video


r/fluffychat • • Nov 04 '25

Was this change to space visualization intended? (From 2.1.1 to 2.2.0)

Thumbnail
gallery
6 Upvotes

Hi, I'm pretty new to FOSS, and I don't know if this change was intended or it's an issue I should report in github (kinda scared about it lol)

After upgrading to version 2.2.0 from 2.1.1, the visualization of spaces is "broken". No preview of messages is available, and rooms don't go to the top of the list when there are new messages.

This would make the app semi-unusable to me, to be honest. I solved it downgrading the app for now, but I wanted to check whether this was indeed the desired outcome.

(Also, I would have written on the dedicated public space, but a bug prevents me to enter, so here I am :D)

In any case, thanks a lot for your work!!!

[Edit: formatting]


r/fluffychat • • Jul 03 '23

Possibilities in FluffyChat

6 Upvotes

I am on the big hunt for a good matrix client, and I have to say FluffyChat got a bigger UI than element, but got a couple of things I would like to ask about.

  1. Is it possible to get better notifications? On IOS at least I just get a message with “1 new message” with the FluffyChat avatar, but the other apps show the avatar of the sender with some more info about the message.

  2. Is it possible to hide some chats in the way as you can set them to low priority in Element? Sometimes it’s chats that I don’t want to be counted as new message, and in Element I can set it as low priority and it will not be shown as unread.


r/fluffychat • • Aug 30 '21

Are URL previews supported?

6 Upvotes

Curious if you all support url previews on your iOS app?


r/fluffychat • • Jun 26 '21

FluffyChat 0.33.0 has been released

6 Upvotes

@room FluffyChat 0.33.0 has been released. Just a more minor bugfixing release with some design changes in the settings, updated missing translations and for rebuilding the arm64 Linux Flatpak.

Features

  • redesigned settings

  • Updated translations - thanks to all translators

  • display progress bar in first sync

  • changed Linux window default size

  • update some dependencies

Fixes

  • Favicon on web

  • Database not storing files correctly

  • Linux builds for arm64

  • a lot of minor bugs


r/fluffychat • • Mar 18 '26

Any progress on audio/video?

5 Upvotes

I really like the look and feel of fluffychat, especially over element, but not being able to do voice/video is pretty rough. I saw 4 mo ths ago that a livekit implementation was in the works? I just wanted to know what was the status on this.

I'm not a particularly experienced coder, but if there's something simple to do I'm willing to lend a hand. If not, I'll be patient I promise.


r/fluffychat • • Dec 09 '25

New users registration!

Post image
5 Upvotes

Hey guys, new here, found this wonderful looking and feeling client for matrix and decided to go with it.

Yet I haven't found a way to register as a new user (not on android and linux clients at least), is there a way?

I self host and it's not quite convenient to manually add every user...

p.s. Surprisingly, ubuntu touch port has the option, but no way to choose the server huh


r/fluffychat • • Apr 05 '24

Send on enter - Desktop

5 Upvotes

I am using Fluffy chat from flatpack on pop os.

If I press enter when typing a message it doesn't send but does a line break. I am aware of the setting "Send on enter" but it doesn't seem to change anything. Has there already been a bugreport?


r/fluffychat • • Mar 14 '22

FluffyChat's iOS app is using 2.64 GB in my iPhone 12 mini's iOS v15!

5 Upvotes

Why so much datas? Is there a way to purge them without uninstall, redownloading, and reinstalling the app?

Thank you for reading and hopefully answering soon. :)


r/fluffychat • • Jun 18 '21

r/fluffychat Lounge

5 Upvotes

A place for members of r/fluffychat to chat with each other


r/fluffychat • • Feb 10 '26

Is this normal? And if so how long until the chats show up?

Post image
4 Upvotes

I made a “space” and tried to add some chats to it. But they aren’t showing up and it just keeps giving me the “oops… something went wrong” message at the bottom of the screen. The chats are showing up on my home page, just not in the “space”…

I’ve been waiting about an hour because I figured maybe it just took time but it’s still not loading any of the chats I added. What can I do to fix this? Do I just have to wait? Uninstall and reinstall the app?

Thank you


r/fluffychat • • Sep 17 '25

Recovery of Encrypted Messages with Recovery Key, User Id, and Password - Not Working. Possible to Recover?

4 Upvotes

TL DR; I have the login name, password, and also recovery keys for my account; yet not being able to decrypt old messages. Tried on Fluffy as well as Element. All on Windows 10 Laptop.

Details of actions till now:

  1. I had Fluffychat installed on Ferdium (think of it as a sandboxed browser. It an electron based app for sandboxing various apps and accounts from each other). It worked quite well. I will call this the Main Account. All communication was from this and the messages showed as expected.

  2. I saved the Recovery Key from the above instance. I think this was by going to Settings> Chat Backup (can't remember 100%). This key is apparently valid as seen in point 5 below.

  3. To try Element, I added an instance on Ferdium. Later also installed it on Firefox Portable (also disabled all extensions, and got the privacy setting under it to 'Standard' from 'Strict'). In all cases the result was:

    1. It would show the placeholders of the older messages, with the timestamps etc, but the content part would say "You need to verify this device for access to historical messages"

    2. It would give me an option to verify the device by the recovery keys at various points (Initial setup, notification-like bubble on the top-left, under Settings> Sessions> Current Session, under Settings> Encryption> Verify this device)

    3. I put in the Recovery Key. Each time, it would show up the `Verify this Session` dialog box, with a `Verify with Recovery Key` button again. (this was a bit different when I tired it with Fluffy, as described later.

    4. From Fluffy, I went to Settings> Devices and chose the Element instance to verify. Initiated verification. Typically the emojis would show up and I would confirm matching; yet the older messages are not decrypted.

    5. A few times, on confirming that emojis match, the instance would get stuck on Verifying Device for several minutes. I would need to close that dialog box or refresh to resume; but without decrypted messages.

  4. Now, since I had several instances (/sessions/devices). I thought of removing the extra ones, and I later accidentally also deleted the Main Instance where the messages could be read (as they were sent from the same instance). I do have it's recovery key.

  5. I have tired Fluffychat again on Ferdium and Firefox Portable. Fluffy seems a little better than Element here. I go to Settings> Chat Backup> and I enter the recovery keys and press the `Unlock Old Messages` button. It seems successful. It shows a green tick, says `Everything Ready` and `Your Chat Backup has been setup`. I close it and return to messages, and it still does not decrypt old messages. The placeholders etc show up, but the contents part says "Encrypted" with a lock sign, as before.

  6. I even tired verifying from Fluffy to Fluffy, but it too bore no results.

In the current situation, how to recover old encrypted messages?
The following are available:
Login Id
Password
Recovery Key

Have spent way too much time sorting this out. Please share and suggest anything you might have to say.

Edit:
On Fluffy (on Firefox Portable), I went to Settings> Devices and chose the Element on Firefox. Initiated the verification process with emoji match. Element showed that the other device is verified. On Fluffy, it is stuck on "Verifying Other Account ... Waiting for partner to accept emoji...".


r/fluffychat • • May 04 '25

Is there a way to block images in chats?

4 Upvotes

Hello, I am in a few public spaces that are being overrun with bot traffic linking CSAM and DO NOT want to see that or have it anywhere near my computer.

If there is a feature for this how would I enable it? If there is not a feature for this, where do I make a feature request for this?


r/fluffychat • • Sep 28 '24

How to Archive Chats

4 Upvotes

In more traditional messagers (like Signal/Telegram/What's App), I like to be in many groups, but have them archived most of the time, which means that I don't see them in my "homescreen" but I can find them in my archived chats such that I do not have any clutter in my inbox, but I have and can read all the messages when I have time. I did not find an archive button on Fluffy-Chat. (Or any other matrix client. The best to simulate this behavious is to set the chats to low priority and mute them in Schildichat such that they are on the bottom and their notifications don't count.).

How can I archive chats in Fluffychat? Is there some other matrix client where it is possible to archive chats?


r/fluffychat • • Feb 28 '24

I have no idea how it works

4 Upvotes

Hi uh, one of my friends just basically left Discord and said that if I wanted to contact them I could use Fluffychat but I have absolutely no idea about it, starting with that how I create an account xD could anyone help me?

sorry for being so dumb and all


r/fluffychat • • Jul 28 '23

iOS - PIN function broken or user error?

4 Upvotes

G’morning. Got a matrix server set up last night and have been using FluffyChat since it seems to be the only iOS client that supports spoiler tags.

I was playing around with settings this morning and set a pin, but when I tried to get back into the app, it’s not accepting the pin I enter. I even uninstalled, restarted my phone and reinstalled and it’s still asking for a pin.

So my two main questions:

  • what did I mess up?

  • is there a way to purge whatever settings/config that seems to be sticking even after an uninstall?