Giter Site home page Giter Site logo

kgraefe / pidgin-znc-helper Goto Github PK

View Code? Open in Web Editor NEW
9.0 2.0 1.0 2.34 MB

ZNC Helper uses message timestamp from a ZNC Bouncer and sets them within Pidgin so that replayed messages will be displayed with the correct timestamp.

License: GNU General Public License v2.0

Makefile 2.25% Shell 14.32% M4 7.55% C 75.88%
pidgin znc pidgin-plugins libpurple libpurple-plugin

pidgin-znc-helper's Introduction

Pidgin ZNC Helper

License Download

ZNC Helper uses message timestamp from a ZNC Bouncer (znc.in/server-time-iso) and sets them within Pidgin so that replayed messages will be displayed with the correct timestamp.

Despite its name, ZNC Helper is independent from Pidgin UI since version 1.8 and therefore should be usable with other libpurple clients, such as finch, too.

Installation on Windows

For the binary version, extract all the contents of pidgin-znc-helper in the ZIP file either to the installation directory of Pidgin (typically C:\Program Files\Pidgin) or to your .purple user directory (typically %APPDATA%\Roaming\.purple).

See below for how to compile the source code version into a binary ZIP file.

Installation on Linux

To install the plugin on Linux you need to extract a release tarball and compile it from source:

sudo apt-get install pidgin-dev
./configure
make
sudo make install

Note: By default the plugin will be installed to /usr/local. If you installed Pidgin through your package manager, it is most likely installed into /usr (i.e. which pidgin returns /usr/bin/pidgin). Use ./configure --prefix=/usr in this case.

Note: When you use the repository directly or one of those auto-generated "Source code" archives, you need to run ./autogen.sh before running ./configure.

Building on Windows

In order to build the plugin for Windows an already-compiled source tree of Pidgin is required. Please see the Pidgin for Windows Build Instructions for details.

After that you need to create a file named local.mak that points to the Pidgin source tree, e.g.:

PIDGIN_TREE_TOP=$(PLUGIN_TOP)/../../pidgin-2.10.11

Now you can build the plugin:

make -f Makefile.mingw

Contribution

Code

We love patches. ❤️ Please fork the project, do your changes and make a pull request.

Translations

Help translating this project on Transifex.

pidgin-znc-helper's People

Contributors

kgraefe avatar transifex-integration[bot] avatar valinwolf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

valinwolf

pidgin-znc-helper's Issues

Investigate consequences of unloading

What happens when the plugin gets unloaded during an ongoing connection?

Check the definition/implementation of znc.in/server-time-iso. Does the ZNC send the servertime (@time) with each message or just during replay?

Self-messages (znc.in/self-message) should do no harm, since they should just be dropped by the IRC plugin.

What about the UI hooks? If another plugin uses those as well and the first-loaded plugin gets unloaded first, things might get messed up.

Maybe we should disallow unloading the plugin? (Pidgin will not load it on the next start instead.)

AUTHORS.md: Add translators

Transifex records only the last translator, we want to give credit to all people who deserve it. We should find them in the Git log, somehow.

However, the information we lost during Transifex integration was:

Does not work since Pidgin 2.14.9

Since "unknown date somewhere this year probably" timestamps from the playback buffer are not fixed anymore and also not stripped from the original message.

(16:52:31) ***: Buffer Playback...
(16:52:31) xxxxxx: xxxxxxxxxxxxxxxxxxxxx  [2022-05-21 16:28:14]
(16:52:31) ***: Playback Complete.

Pidgin 2.14.9
pidgin-znc-helper 1.9

Request: Playback message suppression

I would like to see the "Buffer Playback..." and "Playback complete." messages hidden. I couldn't find a setting for it in ZNC, so I'm requesting it in this plugin. I just realized that's because this plugin is the cause of the message... Can we get a setting to disable this? Actually I may fork and create a pull request... seems simple enough. Done. Submitting a PR.

Error thrown when an account reconnects

The following is thrown when an account reconnects that have been connected before: (10:34:27) g_log: purple_conv_chat_remove_users: assertion 'users != NULL' failed

This does not happen when the plugin is disabled.

Date prefix multiple times

This seems to be a regression from 1.6 to 1.7. Previously the date was only shown at date changes, now it is shown several times (even without date change). Here is an example:

20180521_170549

Offline messages not delivered in special cases

When our bouncer is the last account left in a channel on freenode, the ChanServ(?) does some foo and after that, offline messages are discarded either by ZNC or ZNC helper.

Investigation needed.

Timestamps not being fixed

Pidgin 2.13.0 (libpurple 2.13.0)

ZNC Helper
	Author: Konrad Gräfe <[email protected]>
	Version: 1.8
	Website: https://github.com/kgraefe/pidgin-znc-helper
	ID String: gtk-freakazoid-znchelper
	Loadable: Yes
	Loaded: Yes

Screenshot

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.