### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

with python boto3 client

- send a message to fifo queue with MessageGroupId='1'
- receive the message
- delete the message
- send another message to the queue with MessageGroupId='1'
- try to receive the message, get none
- check message availability with get_queue_attributes, get `{'ApproximateNumberOfMessages': '1', 'ApproximateNumberOfMessagesNotVisible': '0', 'ApproximateNumberOfMessagesDelayed': '0', ...`

### Expected Behavior

expecting to receive message from the queue

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

docker-compose up


### Environment

```markdown
- OS:MacOS Sonoma 14.2.1
- LocalStack: latest
```


### Anything else?

I tried to run with Rosetta, no result
"""Worker thread for receiving messages"""
            response = aws_client.sqs.receive_message(
                Url=queue_url, MaxNumberOfMessages=1, WaitTimeSeconds=10
            )
            if not response.get("Messages"):
                return None
            queue.put(response["Messages"][0])
        
        threading.Thread(target=_receive_message).start()
        threading.Thread(target=_receive_message).start()
        threading.Thread(target=_receive_message).start()
        
        aws_client.sqs.send_message(Url=queue_url, MessageBody="message-1", MessageGroupId="1")
        
        message = queue.get(timeout=2)
        assert message["Body"] == "message-1"
        
        
        aws_client.sqs.send_message(Url=queue_url, MessageBody="message-2", MessageGroupId="1")
        with pytest.raises(Empty):
            
            queue.get(timeout=2)
        
        aws_client.sqs.delete_message(Url=queue_url, ReceiptHandle=message["ReceiptHandle"])
        message = queue.get(timeout=2)
        assert message["Body"] == "message-2"
    @markers.aws.validated
    def test_fifo_messages_in_order_after_timeout(self, sqs_create_queue, aws_sqs_client):