Giter Site home page Giter Site logo

snakefire's Introduction

Snakefire: Campfire Desktop client for Linux

LICENSE

Snakefire is released under the [MIT License] license.

TEAM

INSTALLATION

Some operative systems have a quick install method available. If your system / distribution is not listed here, check the MANUAL INSTALLATION section below.

Arch Linux

Snakefire is in an [AUR repository] arch-aur-snakefire. If you have packer packer, you can install it with (if you don't have packer, you should really [get it] packer)

    $ packer -S snakefire

MANUAL INSTALLATION

Requirements

Python Setup Tools

For Ubuntu/Debian based systems, Python setup tools is in the official repositories, and can be installed the following way:

	$ sudo apt-get install python-setuptools

For Fedora, Python setup tools is in the official repositories and can be installed the following way:

	$ yum install python-setuptools

For Arch Linux, Python setup tools is in the extra repository, and can be installed with:

	$ pacman -S python2-distribute

Other OS should refer to the [Python setup tools page] python-setuptools

Pyfire

Pyfire pyfire is required.

For Ubuntu/Debian based systems, Pyfire is in [Zakaria Zajac's PPA] zakaria_zajac_ppa repository, which must be added to install:

    $ sudo add-apt-repository ppa:zak-d/python-pyfire && sudo apt-get update
    $ sudo apt-get install python-pyfire

For Arch Linux, Pyfire is in an [AUR repository] arch-aur-pyfire. If you have packer packer, you can install it with (if you don't have packer, you should really [get it] packer)

	$ packer -S python-pyfire

For Fedora, install Pyfire using Pip, which is in the official repositories

    $ yum install python-pip
    $ pip-python install pyfire

Other OS may install it through Python's PIP pip:

    $ pip install pyfire

Or also using [Easy Install] easy_install:

    $ easy_install pyfire

PyQT4

The python library for QT is required.

For Ubuntu/Debian based systems, PyQT4 is in the official repositories, and can be installed the following way:

	$ sudo apt-get install python-qt4

For Fedora, PyQT4 is in the official repositories, and can be installed with:

    $ yum install PyQt

For Arch Linux, PyQT4 is in the extra repository, and can be installed with:

	$ pacman -S python2-pyqt

Other OS should refer to the [PyQT4 download page] pyqt-download

Keyring

For Ubuntu/Debian based systems, Keyring is in the official repositories, and can be installed the following way:

For Ubuntu (GNOME) or Kubuntu (KDE):

	$ sudo apt-get install python-keyring

For Fedora, Keyring is in the official repositories, and can be installed with:

    $ yum install python-keyring

For Arch Linux, Keyring is in an AUR repository. Install it with packer:

	$ packer -S python-keyring

Other OS should read [Python Keyring installation docs] keyring-install.

If you are on GNOME you also need to install python-gnomekeyring:

For Ubuntu/Debian based systems:

    $ sudo apt-get install python-gnomekeyring

For Fedora systems:

    $ yum install gnome-python2-gnomekeyring

For Arch Linux systems:

    $ pacman -S python-gnomekeyring

All XFCE users should install GNOME keyring.

Notifications

For Ubuntu/Debian based systems, python-notify is in the official repositores, and can be installed the following way:

    $ sudo apt-get install python-notify

For Fedora, python's libnotify is in the official repositories, and can be installed with:

    $ yum install notify-python

For Arch Linux, python-notify is in the extra repository, and can be installed with:

    $ pacman -S python-notify

Spell checking

For Ubuntu/Debian based systems, PyEnchant is in the official repositores, and can be installed the following way:

    $ sudo apt-get install python-enchant

For Fedora, PyEnchant is in the official repositories, and can be installed with:

    $ yum install python-enchant

For Arch Linux, PyEnchant is in the community repository, and can be installed with:

    $ pacman -S python2-pyenchant

You now need to install a relevant dictionary.

For Ubuntu/debian based systems, look for the appropriate aspell dictionary. For example, to install the english dictionary:

    $ sudo apt-get install aspell-en

For Fedora, search for an aspell dictionary. For example, to install the english dictionary:

    $ yum install aspell-en

For Arch Linux, search for an aspell dictionary. For example, to install the english dictionary:

    $ pacman -S aspell-en

Other OS (such as Mac OSX) should look into [installing PyEnchant and appropriate dictionaries] pyenchant

Installing Snakefire

From the path where you have downloaded Snakefire, as root user, do (if you run Arch Linux, change the python to python2):

    $ python setup.py install

For Ubuntu, better with sudo:

    $ sudo python setup.py install

Running the developer version

If you wish to run the latest version of Snakefire, without having to explicitly install it, follow these instructions (make sure to previously install the requirements):

  1. Get the latest development version by cloning from its GIT repository:

     $ git clone git://github.com/mariano/snakefire
     $ cd snakefire
    
  2. If you are on KDE, install the notify configuration to your home directory by running the following commands from the directory where you installed Snakefire:

     $ export KDE_LOCAL_PREFIX=`kde4-config --localprefix`
     $ mkdir -p $KDE_LOCAL_PREFIX/share/apps/Snakefire
     $ cp packaging/linux/*.notifyrc $KDE_LOCAL_PREFIX/share/apps/Snakefire
     $ killall knotify4
    
  3. You are now ready to run Snakefire. Enter the directory where you installed Snakefire, and do:

     $ PYTHONPATH=".:snakefire/" bin/snakefire
    

You can keep up with the latest updates by accessing the directory where you installed Snakefire, and running:

	$ git pull --rebase

snakefire's People

Contributors

angvp avatar badosu avatar chee avatar coredump avatar darvin avatar fabiokung avatar madzak avatar marascio avatar mariano avatar mcg avatar newgene avatar qnm avatar raelgc avatar stieg avatar yanchenko-igor avatar zambot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

snakefire's Issues

CSS styling

I modify the default.css to change some colors file but my changes don't take when I reload snakefire. Any idea why?

Correcting a misspelled word appends an &

Using Ubuntu 12.04.

In the input field if you misspell a word, right click select "spelling suggestions" and pick one, it replaces the misspelled word with the selected correction but appends an "&". For example, "terst" becomes "&test".

Messages starting with link not detecting where the link has ended

Messages like http://www.hetzner-status.de/en.html - they have plenty of problems listed would appear as one big link pointing to the whole text, whereas the link really should end with http://www.hetzner-status.de/en.html and the rest should appear as normal text.

Cheers

ALT+<NUM> to switch tabs

Add keyboard shortcuts to switch tabs. Preferably alt+num and alt+shift+right/left to move between them.

Can't connect to room

Hi there,

I am unable to join our Campfire room using Snakefire. I can log into Campfire, retreive the room listing and request to connect to the room but I am unable to ever connect. This is message in my terminal (you'll have to excuse the formatting):

Traceback (most recent call last):
File "/home/ross/snakefire/snakefire/mainframe.py", line 537, in _cfRoomJoined
self._rooms[room.id].update(self._setupRoomUI(room))
File "/home/ross/snakefire/snakefire/mainframe.py", line 761, in _setupRoomUI
topicLabel = ClickableQLabel(room.topic)
File "/home/ross/snakefire/snakefire/qtx.py", line 10, in init
super(ClickableQLabel, self).init(text, parent, flags)
TypeError: arguments did not match any overloaded call:
QLabel(QWidget parent=None, Qt.WindowFlags flags=0): argument 2 has unexpected type 'NoneType'
QLabel(QString, QWidget parent=None, Qt.WindowFlags flags=0): argument 1 has unexpected type 'NoneType'

HTTP Error 405: Method Not Allowed

I get this error message when trying to join a chat room. What could be the problem?

(I am on Ubuntu 11.04 and installed all the requirements via apt-get)

alert functionality doesn't work under gnome

Tested in:
ubuntu 10.4
gnome

To reproduce:

  1. Launch snakefire.
  2. Click on alert icon.
  3. ASSERT: A new window appears. Window is blank.

Results:
It appears that the alert functionality doesn't work under gnome.

Expectations:
I would expect the alert functionality to work.

Support for multiple subdomains

Hello,

Thanks for the great app!

However, it would be even greater if I could use it with multiple campfire subdomains at the same time :)

Thanks

Spell check?

Use something like aspell-python or the like to spell check input. I suck at spelling. I may take a stab at this, but I wanted to make sure you guys didn't have something already being developed.

you closed the 405 error ticket

Uhm, no really.. the issue was not resolved because I still get the error when connecting to a room and the topic's are set and I even applied the patch. still getting the error. All libs are up to date, I've pretty much given up since I received no response. Not sure why you assumed that the topic being set is the only time this error occurs.

Ability to Search History

From Tweet:
@leader716 "@snakefirelinux Is there a way to search history? Otherwise everything looks awesome!!"

Probably something through chat window, but even might hit up archive searching as well.

Paste indentation broken

I'm using ubuntu and the latest snakefire.

Code pastes display without any indentation, which makes them really hard to read. Are the lines being stripped of leading whitespace before display? We use spaces for indents, not tabs, if that makes any difference.

Timestamps use AM/PM

I hate AM/PM. There should be an option to change it, or perhaps read it from the current locale or sth.

Window disappears and cannot be restored when minimized

I am using Snakefire 1.0.3 on Ubuntu 12.04 with Unity. When I minimize the Snakefire window, it disappears and cannot be restored. I have to quit it using the tray icon, and then restart it. It will allow me to start a second instance too which seems wrong.

I am trying to use Snakefire instead of Chrome and I love it, but I need to be able to minimize it. :)

Thanks.

Deleted file prevent entry into room

If I try to enter a room with a entry where an uploaded file was deleted, Snakefire throws a "URL not found" error from the upload.json file, and prevents me from going into the room at all.

PyOS_InputHook is not available for interactive use of PyGTK followed by segmentation fault

Running LinuxMint 12 (Ubuntu 11.10). GNOME3.
3.0.0-26-generic #42-Ubuntu SMP Wed Sep 5 08:37:56 UTC 2012 i686 i686 i386 GNU/Linux

Followed manual install process step by step. No errors. No warnings.

Clicking Snakefire icon does nothing. Launching Snakefire from terminal without root gives the following message:

/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/init.py:127: RuntimeWarning: PyOS_InputHook is not available for interactive use of PyGTK
set_interactive(1)
Segmentation fault

I tried running it from the terminal w/Sudo, and the program started and displayed the setting dialog. Entered text, but clicking OK wouldn't do anything, nor would cancel. Was able to close the window and launch settings again with same result. Closed program and tried to re-launch it, now I'm getting:

Traceback (most recent call last):
File "/usr/local/bin/snakefire", line 39, in
sf = snakefire.Snakefire()
File "/usr/local/lib/python2.7/dist-packages/snakefire/mainframe.py", line 1121, in init
Snakefire.init(self)
File "/usr/local/lib/python2.7/dist-packages/snakefire/mainframe.py", line 71, in init
settings = self.getSettings("connection")
File "/usr/local/lib/python2.7/dist-packages/snakefire/mainframe.py", line 210, in getSettings
settings["password"] = keyring.get_password(self.NAME, str(settings["subdomain"])+"_"+str(settings["user"]))
File "/usr/lib/python2.7/dist-packages/keyring/core.py", line 30, in get_password
return _keyring_backend.get_password(service_name, username)
File "/usr/lib/python2.7/dist-packages/keyring/backend.py", line 144, in get_password
items = gnomekeyring.find_network_password_sync(username, service)
gnomekeyring.IOError

Restarted the shell, and restarted the machine, issue persists. Is this an issue with Snakefire, an issue with my install, or is this PEBKAC? Thanks.

'NoneType' object has no attribute 'get_user'

After a 'git pull && git submodule update' today, I can no longer connect. I am getting "'NoneType' object has no attribute 'get_user'" followed by "HTTP Error 502: Bad Gateway"

Stacktrace When Joining a Room

When I join a room, this shows up in my terminal:

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/snakefire/mainframe.py", line 650, in _cfRoomJoined
    self._cfStreamMessage(room, message, live=False, updateRoom=False)
  File "/usr/lib/python2.7/site-packages/snakefire/mainframe.py", line 509, in _cfStreamMessage
    self._renderMessage(renderer.render(), room, message, live=live, updateRoom=updateRoom, alert=alert, alertIsDirectPing=alertIsDirectPing)
  File "/usr/lib/python2.7/site-packages/snakefire/renderers.py", line 100, in render
    message = body
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2026' in position 89: ordinal not in range(128)

I can't tell what is breaking here as I still seem to be able to talk in the room, etc. Any ideas what's up here?

notifications (and Help/About) not working!

Hello!

Thanks for this app, I can now chat on Campfire using it. But the Alerts window is empty, and I get no notifications (also, Help/About shows nothing - not sure if it's supposed to be like that).

I run GNOME on Arch Linux, installed all relevant Arch packages mentioned on the README, and libnotify integration works for Pidgin. What can I be missing?

Thanks!

Convert Image Data into Image Object

We need to understand some metadata about the image like width or height. Convert the data we pull when we detect and image into an image object so we can do fancy things with it.

Support multiple domains

I usually need to be online on different domains over at campfire. I really miss this function in snakefire.

KeyError: 'url_md5'

Trying to install on ubuntu 12.04 and I get the following:

 Traceback (most recent call last):
  File "/usr/local/bin/snakefire", line 39, in <module>
    sf = snakefire.Snakefire()
  File "/usr/local/lib/python2.7/dist-packages/snakefire/mainframe.py", line 1148, in __init__
    super(GSnakefire, self).__init__(parent)
  File "/usr/local/lib/python2.7/dist-packages/snakefire/mainframe.py", line 1121, in __init__
    Snakefire.__init__(self)
  File "/usr/local/lib/python2.7/dist-packages/snakefire/mainframe.py", line 80, in __init__
    self.options()
  File "/usr/local/lib/python2.7/dist-packages/snakefire/mainframe.py", line 307, in options
    dialog = OptionsDialog(self)
  File "/usr/local/lib/python2.7/dist-packages/snakefire/dialogs.py", line 235, in __init__
    self._setupUI()
  File "/usr/local/lib/python2.7/dist-packages/snakefire/dialogs.py", line 599, in _setupUI
    self._setupThemesUI(displaySettings)
  File "/usr/local/lib/python2.7/dist-packages/snakefire/dialogs.py", line 359, in _setupThemesUI
    attribs = ''
KeyError: 'url_md5'

Snakefire Crashes On Launch

Error is:
20 Traceback (most recent call last):
21 File "/usr/local/lib/python2.7/dist-packages/snakefire/mainframe.py", line 915, in autoScroll
22 active_room["frame"].scroll(0, size.height())
23 AttributeError: 'NoneType' object has no attribute 'scroll'
24 Traceback (most recent call last):
25 File "/usr/local/lib/python2.7/dist-packages/snakefire/mainframe.py", line 915, in autoScroll
26 active_room["frame"].scroll(0, size.height())
27 AttributeError: 'NoneType' object has no attribute 'scroll'

My guess is somethign in the configuration. How do I revert any configuration changes?

Error message: "Error while connecting: 'module' has no attribute 'Campfire'"

The error message "Error while connecting: 'module' has no attribute 'Campfire'" is displayed when trying to connect. Connection is not established.

I can connect with the same subdomain/user/password via web client.

OS: Linux debian wheezy/sid
Python: version 2.6 and 2.7
Dependencies are installed as recommended in README

problem with installing SnakeFire on UBUNTU 10.04

I am trying to install snakeFire on Ubuntu 10.04
But I am getting 404 (not found error) - while updating my repo

here is the text from my console...

salil@salil:~/Desktop/mariano-snakefire-376b848$ sudo add-apt-repository ppa:zak-d/python-pyfire && sudo apt-get update
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv F5AB5B6A2B34AFC0CB9EA96EFA029A2A609AC70D
gpg: requesting key 609AC70D from hkp server keyserver.ubuntu.com
gpg: key 609AC70D: "Launchpad PPA for Zakaria Zajac" not changed
gpg: Total number processed: 1
gpg: unchanged: 1
Hit http://security.ubuntu.com lucid-security Release.gpg
Ign http://security.ubuntu.com/ubuntu/ lucid-security/main Translation-en_IN
Ign http://security.ubuntu.com/ubuntu/ lucid-security/restricted Translation-en_IN
Hit http://archive.canonical.com lucid Release.gpg
Ign http://archive.canonical.com/ lucid/partner Translation-en_IN
Ign http://ppa.launchpad.net lucid Release.gpg
Ign http://ppa.launchpad.net/zak-d/python-pyfire/ubuntu/ lucid/main Translation-en_IN
Hit http://in.archive.ubuntu.com lucid Release.gpg
Ign http://in.archive.ubuntu.com/ubuntu/ lucid/main Translation-en_IN
Ign http://in.archive.ubuntu.com/ubuntu/ lucid/restricted Translation-en_IN
Ign http://security.ubuntu.com/ubuntu/ lucid-security/universe Translation-en_IN
Ign http://security.ubuntu.com/ubuntu/ lucid-security/multiverse Translation-en_IN
Hit http://security.ubuntu.com lucid-security Release
Hit http://archive.canonical.com lucid Release
Ign http://ppa.launchpad.net lucid Release
Ign http://in.archive.ubuntu.com/ubuntu/ lucid/universe Translation-en_IN
Ign http://in.archive.ubuntu.com/ubuntu/ lucid/multiverse Translation-en_IN
Hit http://in.archive.ubuntu.com lucid-updates Release.gpg
Ign http://in.archive.ubuntu.com/ubuntu/ lucid-updates/main Translation-en_IN
Ign http://in.archive.ubuntu.com/ubuntu/ lucid-updates/restricted Translation-en_IN
Ign http://in.archive.ubuntu.com/ubuntu/ lucid-updates/universe Translation-en_IN
Hit http://s3tools.org stable/ Release.gpg
Ign http://s3tools.org/repo/deb-all/ stable/ Translation-en_IN
Ign http://in.archive.ubuntu.com/ubuntu/ lucid-updates/multiverse Translation-en_IN
Hit http://in.archive.ubuntu.com lucid Release
Hit http://security.ubuntu.com lucid-security/main Packages
Hit http://archive.canonical.com lucid/partner Packages
Ign http://ppa.launchpad.net lucid/main Packages
Hit http://s3tools.org stable/ Release
Hit http://in.archive.ubuntu.com lucid-updates Release
Hit http://security.ubuntu.com lucid-security/restricted Packages
Hit http://security.ubuntu.com lucid-security/main Sources
Hit http://security.ubuntu.com lucid-security/restricted Sources
Hit http://security.ubuntu.com lucid-security/universe Packages
Hit http://security.ubuntu.com lucid-security/multiverse Packages
Hit http://security.ubuntu.com lucid-security/universe Sources
Ign http://ppa.launchpad.net lucid/main Packages
Hit http://s3tools.org stable/ Packages
Hit http://in.archive.ubuntu.com lucid/main Packages
Hit http://in.archive.ubuntu.com lucid/restricted Packages
Hit http://in.archive.ubuntu.com lucid/main Sources
Hit http://in.archive.ubuntu.com lucid/restricted Sources
Hit http://in.archive.ubuntu.com lucid/universe Packages
Hit http://in.archive.ubuntu.com lucid/multiverse Packages
Hit http://security.ubuntu.com lucid-security/multiverse Sources
Err http://ppa.launchpad.net lucid/main Packages
404 Not Found
Hit http://in.archive.ubuntu.com lucid/universe Sources
Hit http://in.archive.ubuntu.com lucid/multiverse Sources
Hit http://in.archive.ubuntu.com lucid-updates/main Packages
Hit http://in.archive.ubuntu.com lucid-updates/restricted Packages
Hit http://in.archive.ubuntu.com lucid-updates/main Sources
Hit http://in.archive.ubuntu.com lucid-updates/restricted Sources
Hit http://in.archive.ubuntu.com lucid-updates/universe Packages
Hit http://in.archive.ubuntu.com lucid-updates/multiverse Packages
Hit http://in.archive.ubuntu.com lucid-updates/universe Sources
Hit http://in.archive.ubuntu.com lucid-updates/multiverse Sources
Get:1 http://dl.google.com stable Release.gpg [198B]
Ign http://dl.google.com/linux/chrome/deb/ stable/main Translation-en_IN
Get:2 http://dl.google.com stable Release.gpg [198B]
Ign http://dl.google.com/linux/talkplugin/deb/ stable/main Translation-en_IN
Get:3 http://dl.google.com stable Release [1,347B]
Get:4 http://dl.google.com stable Release [1,347B]
Get:5 http://dl.google.com stable/main Packages [1,214B]
Get:6 http://dl.google.com stable/main Packages [765B]
Fetched 5,069B in 1min 1s (83B/s)
W: Failed to fetch http://ppa.launchpad.net/zak-d/python-pyfire/ubuntu/dists/lucid/main/binary-i386/Packages.gz 404 Not Found

E: Some index files failed to download, they have been ignored, or old ones used instead.

does it require a higher version of Ubuntu? Or your machine (repo server) is down? Or any clue?

Unauthorized

I am frequently getting a popup with the error "(401, 'Unauthorized')". Any idea what could be causing this?

Screenshots?

The UI of a chat client is extremely important to me (and I'm sure to others as well). I couldn't find any in the README or project webpage. Is there any way for us to see some screenshots before downloading and building the project?

Sound alerts (request/suggestion)

Hi - first just want to express my appreciation for this tool.

The one thing that I'm missing with this vs browser window is sound notifications. I leave campfire on another screen and I don't always catch the visual gnome notifications. A little beep would be a nice option.

Cheers

Chris

Snakefire didn't work on archlinux no more

It depends on unexisting packages: python-keyring and python-notify. So i replaced it with python2-gnomekeyring (couldn't find nothing else) and python2-notify. While starting snakefire i get error like this:

Traceback (most recent call last):
  File "/usr/bin/snakefire", line 8, in <module>
    import snakefire
  File "/usr/lib/python2.7/site-packages/snakefire/__init__.py", line 19, in <module>
    from .mainframe import QSnakefire as Snakefire
  File "/usr/lib/python2.7/site-packages/snakefire/mainframe.py", line 23, in <module>
    import keyring
ImportError: No module named keyring

Connect and Disconnect Greyed Out

I just installed Snakefire from the AUR with yaourt. In case it's not clear from that, I'm installing it on Arch Linux. I'm using the Awesome window manager (thus, I did not install python-gnomekeyring). I'd been running snakefire from the "run" command prompt in the menu bar of awesome. It looked like it was just frozen without being able to accept my settings. It occurred to me to try running it from an xterm session and then I saw that it was prompting me to set up some keyring password stuff.

Would it be possible to integrate the keyring stuff directly into Snakefire's UI? If not, is there an alternate library that would push the keyring up to X11 without all the Gnome baggage? Am I over-anticipating how much Gnome baggage comes with the python-gnomekeyring library?

Don't move the scroll position when scrolled back

Frequently, I will scroll back to catch up on backlog, any new posts will cause the scroll position to jump back to the bottom/end and I loose my place. It would be nice if that could be suppressed when the scroll position is not at the bottom.

Missing some posts

This may be related to issue #9, but it seems at times I miss messages. I only discovered this when some conversations didn't make sense and hopped over to the Campfire web UI and saw many messages I never received.

PyGTK problem?

error message at start:
[jonathan@localhost snakefire]$ PYTHONPATH=".:snakefire/" bin/snakefire
/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/init.py:122: RuntimeWarning: PyOS_InputHook is not available for interactive use of PyGTK
set_interactive(1)
Please input your password for the keyring
Password:
loaded the Generic plugin
Please input your password for the keyring
Password:

However, the program seems to work fine.

Posting with non-ASCII characters fails

Posting a message containing non-ASCII characters fails with the following output:

Traceback (most recent call last):
File "/home/lars/src/github/snakefire/snakefire/mainframe.py", line 287, in speak
message = str(message)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe5' in position 2: ordinal not in range(128)

Messages with links appear out of order

When I join a room, messages that begin with a URL appear last in the sent messages, out of order. I think I know why. Inline links trigger this predicate:

def needsThread(self):
    return self._message.is_upload() or (self._message.body and self._isInlineLink(self._message.body))

It looks like these messages get rendered in a thread, which is probably why they don't end up in he right order.

Possibly #59 has the same cause.

UnicodeEncodeError in mainframe.py for non-ascii characters

e.g. from the log

self.statusBar().showMessage(self._("Joining room {room}...").format(room=room["name"]))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xeb' in position 1: ordinal not in range(128)

this results in not being able to perform most actions in the room. It does display the room name properly in the select box, so I'm not sure what's different about these methods. In any case, the room is not currently useable. I tried adding .encode("ascii", "ignore") in various places as a hack but didn't find them all.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.