Coder Social home page Coder Social logo

iquassel's People

Contributors

guruz avatar lowlyw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

iquassel's Issues

open text input box and focus on external keyboard button press

hello,
currently there is no reaction to events from external keyboard beside typing to text input box when you already select it.

it would be nice if we could select input box (for example) with pressing enter/return button on external keyboard to get input box open (if it is not opened yet) and to move focus to the text input box to start typing.

thank you.

Re-enabling J/P/Q button unexpectedly scrolls to near top of buffer

Summary:

When re-enabling J/P/Q's in a buffer after previously hiding J/P/Q's, the chat log scrolls almost all the way to the top of whatever is loaded into memory.

Steps to reproduce:

  • Install iQuassel 1.9.0 or later, connect to a core
  • Scroll back in chat history to have a few pages worth of history in memory (least recent)
  • Scroll to the bottom of the chat history (most recent)
  • Tap J/P/Q to hide joins, parts and quits in the current buffer.
  • If there is not a full page of chat history on the page, scroll back to get more (least recent)
  • Scroll to the bottom of the chat history (most recent)
  • Tap J/P/Q again to unhide joins, parts and quits in the current buffer.

Expected behavior:

Joins, parts and quits will appear and disappear without affecting the user's scroll position in the buffer

Actual behavior:

iQuassel unexpectedly scrolls to near the top of the buffer loaded into memory, losing the user's place in the chat history.

Add iOS 12 backward compatibility

As the App Store makes it pretty hard to get an older version and I still own iOS 12 devices, it would be a very nice feature to reintroduce backward compatibility to that version, especially given that iQuassel seems to be the only iOS Quassel client at this time.

Adding/removing networks on core unexpectedly disconnects

Summary:

When a new network is added to the core, any connected iQuassel clients will unexpectedly disconnect.

Steps to reproduce:

  • Connect an iQuassel client to a core
  • Connect a desktop Quassel client to the same core
  • On desktop, go to Settings > Configure Quassel > Networks > Add
  • Add any network, default or custom
  • Click apply to send the settings to the core

Expected behavior:

The buffer list in iQuassel should be updated to reflect the new network

Actual behavior:

The iQuassel client reports "Error" and "Please reconnect to core"

Show info on day changes

It would be great if iQuassel could show info on day changes, like the desktop client and quassel-webserver does.

Example:
Example

Client name and version not reported to core correctly

When viewing the Core Information page on a desktop client, the client name and version for iQuassel are not reported properly.

The client name is reported as "Quassel for iOS" and the version date is reported as June 10, 2012 17:00:00.

Presumably, the name of the client is "iQuassel" and not "Quassel for iOS", and the version date would be the build date. These dates should be properly reported to the core.

2020-03-10 12_17_25-Core Information

URL parser: Fix comma issue

Reported on #woboquassel:

The url parser treats a trailing comma in a comma separated list of urls as part of the url. 
E.g. http://someurl, http://someotherurl

nick case is always lower

in the Users scene, the nick case is always show as lowercase same when [quasselCoreConnection ircUsersForChannelWithBufferId:] is called, instead of the actual potentially using uppercase nicknames.

Report version date as Unix epoch instead of preformatted string

In brief

Details

After looking at issue #22, I noticed that iQuassel currently pre-formats the version date instead of reporting the date/time in seconds since the Unix epoch:

QuasselCoreConnection.m

NSString *dateStr = [NSString stringWithFormat:@"%@ %@", [NSString stringWithUTF8String:__DATE__], [NSString stringWithUTF8String:__TIME__]];
[initial setValue:[[QVariant alloc] initWithString:dateStr] forKey:@"ClientDate"];

iQuassel should instead send the version date as the seconds since the Unix epoch, wrapped as a string for backwards compatibility. For example, Quassel desktop does this:

src/common/quassel.cpp

// Set to Unix epoch, wrapped as a string for backwards-compatibility
buildInfo.commitDate = QString::number(GIT_COMMIT_DATE);

Quasseldroid also transmits the ClientDate as a string of seconds since the Unix epoch.

Quassel desktop v0.13 and newer will automatically format this using the date/time locale of the current system, as per the screenshots in the upstream PR.

IRC colors: "Open (null)" when trying to open certain URLs

As requested on IRC, I'm reporting that it's possible to click on a link in iQuassel and get a menu item that says "Open (null)"

Currently on a plane, no data on my mobile, so can't check the iQuassel version. However, it's not a recent regression

Will come back later with an example IRC line too for a reproducible case

Improper spacing of network name in buffer list

Summary:

The spacing of the network name is improper in the buffer list. The text should be vertically centered, but it isn’t.

Steps to reproduce:

  • Connect an iQuassel client to a core with more than one network
  • See the spacing of the networks in the buffer list

Expected behavior:

Network names should be vertically centered in their cells.

Actual behavior:

Network names are too high in their cells.

add dark theme

iQuassel should use the current native theme, weather it is dark or light. Colors of text and nick highlights should be based on this as well.

User list empty on some channels on some servers

I've noticed that the userlist does not populate on some IRC servers/channels on iquassel.

As an example one of the bigger ones that should have a decent userlist is the #Pine64 and #Rock64 channel on IRCHighway (Pine64 and Rock64 are raspberry pi alternatives).

Not a huge deal but i've never been able to figure out why it doesn't on those servers.

Stuck at "Authenticated"

Reported several times.

@justjanne proposes this is probably because of

[[QVariant alloc] initWithString:@"0"],

<justJanne> you always send an initrequest for the bufferviewconfig with name "0" and break if that doesn’t exist
<justJanne> but the ids are chosen by creation, if a user deletes the first bufferviewconfig, and creates a new one, this won’t work anymore
<justJanne> you’ll need to have code to properly support multiple bufferviewconfigs

Netsplits are not properly hidden when J/P/Q is toggled on

When the "Hide J/P/Q" feature is turned on, netsplits are not properly hidden. Back in July, this was discovered by tmbg in #woboquassel on IRC, but apparently an issue was never raised here.

As @guruz mentioned, it's likely just a couple of messagetypes that need to be added to the logic of hiding JPQs. I believe I have found where these messagetypes need to go.

https://github.com/woboq/iquassel/blob/master/quassel-for-ios/quassel-for-ios/vcs/BufferViewController.m#L538-L544

It should just be a matter of adding the following to the code after line 541:

|| (message.messageType & MessageTypeNetsplitQuit))
|| (message.messageType & MessageTypeNetsplitJoin))

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.