Coder Social home page Coder Social logo

ilounge's Introduction

iLounge

iLounge is a WIP a native iOS application that lets you connect to your The Lounge instance (self-hosted web IRC client).

  • This is basically my Swift/SwiftUI learning project, so don't expect much except for bugs and bad code.
  • Built using SocketIO and Starscream.

WIP

Currently implemented

  • Connecting to The Lounge (creates new session every login as of right now)
  • Switching channels
  • Setting hostname and port
  • Loading messages for channels (including more history)
  • Sending messages to specific channels
  • Aligning nicknames to specific number of characters
  • Set hostname, port, SSL, username, password
  • Custom timestamp format (or toggle timestamps)
  • Toggle between monospace/sans serif font for messages
  • Clickable links, with in-app previews for URLs that look like images (simple regex JPEG/PNG/etc.)
  • Nickname colors matching the ones in default The Lounge CSS (when Light appearance is set in iOS) and the Morning CSS (Dark appearance)

Limitations/not yet implemented/broken

  • Currently targetting iOS 17 and up (hoping to get this down to iOS 15) (#3)
  • Scrolling is broken and needs some fixing (#2)
  • Sending messages with Enter works, but scrolls the ScrollView arbitrarily (#2)
  • Image/video uploading services
  • Need to escape Markdown coming in from messages (#1)
  • Need to make the Message/Channel/etc. models better and introduce models for other stuff
  • Currently user needs to force websockets or polling to successfully connect
  • Need to fix the networking in general
  • And many more things to be done...

Current state screenshots

ilounge's People

Contributors

chinese-soup avatar

Watchers

 avatar

ilounge's Issues

Target iOS 15 instead of iOS 17

Some features might be broken / missing / need to be replaced, right now I'm targetting iOS 17, let's make that at least iOS 15?

Escape markdown

Since we are abusing Markdown in order to render links as clickable with it, we need to escape any markdown that's being sent in the message texts.

Scrolling needs love

Right now it scrolls down to the latest messages upon any change of the messages array + upon changing to a new buffer.

Is there a way to be able to tell how far we are scrolled right now, etc. using the scrollproxy or does it need heavy refactoring?

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.