Git Product home page Git Product logo

liftoff's People

Contributors

aquierick avatar christopher-conley avatar friederhannenheim avatar ftatateeta avatar github-actions[bot] avatar imgbotapp avatar jcgurango avatar jjcomer avatar johnc86 avatar krawieck avatar lasath-msft avatar limbo-app-dev avatar maarten-buelens avatar mimi89999 avatar mykdavies avatar mytchj avatar nithanim avatar njs-guy avatar pattersonjack avatar prefanatic avatar ryg-git avatar shilangyu avatar shocklateboy92 avatar sounddrill31 avatar swmarks avatar wojcikmikolaj avatar wolf4ood avatar zachatrocity 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  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

liftoff's Issues

Subscribed communities with the same name on different instances defaults to the one with the most users.

Device info

  • OS: Android
  • OS: 10
  • Liftoff version: v0.9.11

Describe the bug

When I subscribe to two communities that share the same name, on the subscribe list it shows two entries, but defaults to the one with the most users.

Steps to reproduce

As a user logged on lemmy.world instance:
Subscribe to ![email protected]
Check the list of subscribed communities.
It should show the lemmy.ml community icon and the name, ![email protected]
Subscribe to ![email protected]
Check the list of subscribed communities.
It should now show two entries with the lemmy.world community icon and name, just Android.
When viewing this communities, the lemmy.ml android community is replaced with the lemmy.world one.

example-1

example-2

Double tap to leave from lemmynade home to android home

Is your feature request related to a problem? Please describe.

If you tap [back] when you're on lemmynade home it's frustrating when the app closes, sometimes you just don't know you already reached the maximum back you can reach.

Describe the solution you'd like

Toast at the bottom can say "tap back again to exit the app"

Lag on comment-heavy posts

Device info

  • OS: Android
  • OS version: 11
  • Device: Samsung Galaxy A10e
  • Liftoff version: 0.9.11

Describe the bug

When viewing a post with many comments, the app starts to lag considerably.

Steps to reproduce

  1. Go to a post with >~100 comments
  2. Scroll down and let comments load
  3. Observe how the app lags

Relevant logs

Logs

No logs available, the app does not crash.

Expected behavior

The app displays comments with no lag.

Screenshots/Screencasts

My phone doesn't have a built in screen recorder and I'd much rather not install Mobizen or something just for one screen recording. If it's also an issue on desktop, I can open OBS and record it later.

Additional context

On less commented posts, the app keeps a high framerate.

Compact Post View

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like

A clear and concise description of what you want to happen.

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context or screenshots about the feature request here.

2 taps of back button or popup to exit app

Is your feature request related to a problem? Please describe.

It is easy to accidentally exit the app, if 6ou hit the back button too many times

Describe the solution you'd like

Some apps when pressing the back button on the home menu give a toast saying pressing back again would exit the app.

Describe alternatives you've considered

A yes/no popup would also work (with pressing back again just exiting the popup).

Additional context

Screenshot_20230624-160316
Screenshot_20230624-160254

Request for double-tap-and-hold zoom functionality

double-tap-and-hold zooming

Would like to see the ability to zoom on images/media by using the double-tap-and-hold gesture, where you double tap and hold on the second tap, then move your thumb/finger up or down on the screen to zoom in and out on the media. So far I have not seen any Lemmy clients on Android support this zooming method but it is my default muscle memory for zooming on pictures so would really like to see this.

Remove Lemmur branding (splash screen)

Device info

  • OS: Android
  • OS version: 11
  • Device: Xperia 1 II
  • Liftoff version: 0.9.12

Describe the bug

There are still minor references to Lemmur in app. Most notablely is the splash screen has the Lemmur logo instead of Liftoff logo.

Steps to reproduce

  1. Open app from fresh start
  2. See Lemmur logo

Expected behavior

App should not have Lemmur branding in it

Screenshots/Screencasts

Screenshot_20230625-005825_1

Additional context

There might be more Lemmur references and branding elsewhere but I haven't found it, if it exists.

Add link handling for images/videos and browser option

Is your feature request related to a problem? Please describe.

Most links that might be better to open in other app, open in Liftoff

Describe the solution you'd like

There should be an option in settings to check off what links should open in app (instance images, youtube, streamable, gfycat, etc). And another option for opening websites in the internal browser, custom tabs, or the actual browser (with a setting for domains that should always open in app (mastodon, spotify, etc))

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Internal browser should have swipe back like the comments view.

Image opening/closing animation is slow

Is your feature request related to a problem? Please describe.

You can open an image by tapping thumbnail on a post, but the transition animation for this is close to a second.

Describe the solution you'd like

Make animation something like 0.1-0.25 of a second. Near instant.

Describe alternatives you've considered

This does not seem affected by animation scale settings on android.

Login with TOTP 2FA token not supported

Device info

  • OS: Android
  • OS version: 13
  • Device: Samsung Galaxy Z Fold 4
  • Liftoff version: 0.9.11

Describe the bug

My Lemmy Instance is on v0.18 and I have enabled TOTP 2FA for my account. When attempting to log into my instance, I receive a toast message that says 'LemmyApiException: missing_totp_token'

Steps to reproduce

  1. Go to user profile tab.
  2. Click on Settings gear icon in top right.
  3. Click on 'Accounts'
  4. Under the appropriate instance, click on 'Add Account' (assuming your instance is already listed, otherwise click on the hamburger FAB and add your instance)
  5. Enter login details and click 'Sign in'
  6. Observe error.

Relevant logs

Logs 2023-06-24 01:56:42.564591 [WARNING] FlutterError:

2023-06-24 01:57:45.886830 [WARNING] FlutterError:

2023-06-24 01:58:07.691563 [WARNING] FlutterError:

2023-06-24 01:58:29.474594 [WARNING] FlutterError:

2023-06-24 01:58:45.274199 [WARNING] FlutterError:

2023-06-24 02:09:35.588362 [WARNING] FlutterError:

2023-06-24 02:11:01.820173 [WARNING] FlutterError:

2023-06-24 02:11:24.429386 [WARNING] FlutterError:

2023-06-24 02:12:39.192612 [WARNING] FlutterError:

2023-06-24 02:13:31.572094 [WARNING] FlutterError:

2023-06-24 02:13:42.441569 [WARNING] FlutterError:

2023-06-24 02:15:14.162451 [WARNING] FlutterError:

2023-06-24 02:15:58.681310 [WARNING] FlutterError:

2023-06-24 02:18:10.940073 [WARNING] FlutterError:

2023-06-24 02:18:36.430388 [WARNING] FlutterError:

2023-06-24 02:20:47.643571 [WARNING] FlutterError:

2023-06-24 02:21:54.994271 [WARNING] FlutterError:

2023-06-24 02:29:06.542568 [WARNING] FlutterError:

2023-06-24 02:29:50.238280 [WARNING] FlutterError:

2023-06-24 02:33:08.882607 [WARNING] FlutterError:

2023-06-24 02:34:18.897879 [WARNING] FlutterError:

Expected behavior

I expect the login view to either have an optional 2FA field under the password field prior to clicking 'Sign in', or for a field to show up after it's been determined that the token is required.

Screenshots/Screencasts

I can add a screenshot later, if necessary, but I think the description is fairly self-explanatory.

Additional context

N/A

Default sort modes per feed

Is your feature request related to a problem? Please describe.

I like to have my home feed sorted to top day, but when going to slow communities, no posts show up and I have to change sort to something else.

Describe the solution you'd like

In settings default sort modes should be defined per feed. For example:

  • Subscribed: Active
  • Local: New
  • All: Top Day
  • Communities: Hot

Deprecation Warning in release pipeline

Describe the bug

There is a deprecation warning in the release pipeline:

[Get vars](https://github.com/zachatrocity/lemmynade/actions/runs/5341305272/jobs/9681992200#step:3:5)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

Steps to reproduce

  1. Go to https://github.com/zachatrocity/lemmynade/actions/runs/5341305272

Make "compact" view properly compact

Is your feature request related to a problem? Please describe.

Compact mode still wastes a lot of screen real-estate. As a comparison, I've included a screenshot of the compact list view of Relay for Reddit.

image

Describe the solution you'd like

Something like:
image

Less padding between posts. Move thumbnail to the left/right, and place no text element's below or above it. Make interact buttons appear on long tap or slide, like in relay.

Make tapping on a comment collapse it (instead of holding)

Is your feature request related to a problem? Please describe.

Tapping a comment does nothing, but pressing and holding on a comment collapses it. It makes browsing comments a bit slower and more annoying.

Describe the solution you'd like

Tapping a comment would collapse it

Describe alternatives you've considered

This could be an option in the settings but I can't think of any reason why someone would want to hold instead of tap.

Comments don't work outside of own instance

Device info

  • OS: Android
  • OS version: 13 (TQ3A.230605.010)
  • Device: Pixel 6A
  • Lemmynade version: 0.9.4

Describe the bug

Comments don't load outside of my home instance. My home instance is Lemmy.ca, and all posts I checked on there load fine. All posts I checked on other instances showed "no comments yet".

Steps to reproduce

  1. Go to any post posted outside of your home instance
  2. Scroll down to the comments
  3. See error

Relevant logs

The logs page just says "no logs"

Expected behavior

The comments load

Screenshots/Screencasts

Screenshot_20230622-122419
Screenshot_20230622-122456

Additional context

Just wanted to say that this app is looking great! I'm glad to see more third party apps for Lemmy being worked on.

Got the app from here since the releases only show the source code.

Saw this:

There is a significant bug with the comments not working properly. They’re not nested under the parent comments.

But I think that's a different issue

Lemmynade can't find some instances (Lemmur Problem)

Device info

  • OS: Android
  • OS version: MIUI 13.0.9
  • Device: Redmi Note 10S
  • Lemmynade version: 0.9.5

Describe the bug

Some instances of Lemmy can't be found, even though they exist.
I use a Portuguese instance (lemmy.pt) and can't log in due to Lemmynade (and Lemmur since it has the exact same problem) not being able to find them

Steps to reproduce

  1. Go to the 'Account' Menu
  2. Click on 'Add account'
  3. Click on 'Add account' (again)
  4. 'Select instance'
  5. 'Add instance'
  6. in instance URL input the instance URL (in my case lemmy.pt)
  7. 'Add'
  8. "Instance can't be found"

Screenshots/Screencasts

photo_2023-06-22_23-05-59

Modlog page throws uncaught exception

Device info

  • OS: [eg. iOS/Android]
  • OS version: [eg. 10]
  • Device: [eg. OnePlus 6]
  • Lemmynade version: [eg. v1.2.3]

Describe the bug

A clear and concise description of what the bug is.

Steps to reproduce

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Relevant logs

Logs

Paste your logs here. Logs can be found in lemmynade: settings > about lemmynade > logs.

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots/Screencasts

https://lemmy.world/pictrs/image/6dcecdc8-1013-488e-912b-251920c4747d.jpeg

Additional context

Add any other context about the problem here.

Request for feature to jump directly to comments

jump directly to comments

Would love to see a feature where you can tap on a button under a post to jump directly to the comments, sometimes is very useful if I am not that interested in the post itself (that might be a long text post or something) but just the discussion happening in the comments.

P.S. sorry for the feature request spam, just wanted to throw a bunch of my initial thoughts on here all at once. Think I'm done for now πŸ˜…

Subscribe button doesn't always work

When pressing '+ subscribe' on a community, the press registers but the button remains unchanged. This can happen multiple times before the subscribe request registers.

Request for a setting to always links open in external browser

Is your feature request related to a problem? Please describe.

Currently, clicking on a link in a post opens the link in an internal browser, meaning none of the usual benefits of using a chosen browser are available (eg. bookmarking, etc).

Describe the solution you'd like

A setting that lets me tell Lemmynade to use my external browser when opening any links.

Describe alternatives you've considered

Tried opening the post itself in the browser using the overflow menu, but this had unpredictable results. It seemed to open using the Alexa personal assistant app instead! (I will investigate this some more before asserting it's an actual issue with the app)

Correction: looked like a bug in my launcher showing the wrong icon. The overflow menu option to open in browser still only uses the internal browser in Lemmynade.

Font size option

Simply an option to change font size for the UI/posts/titles etc. Text is too small and would love to be able to make it bigger. That's all

Return to position in comments from post view

Is your feature request related to a problem? Please describe.

When going back from comments to post view, and pressing the same thread again, you are returned to the top of the post.

Describe the solution you'd like

  1. Pressing the post in post view should return to previous position
  2. Gesturing from the right edge (reverse of swipe back) would go back to the previous position

Request to set initial view when loading app

Is your feature request related to a problem? Please describe.

It'd be great if there was a setting we could store to go to a specific view when loading the app each time. Currently, it goes to the top-level Subscribed view (under Everything), which shows no content for me.

Describe the solution you'd like

Instead, I'd like to set Subscribed under my chosen instance as the first view I see. A bonus if it also stored whether the initial view also included how to sort the posts (Hot, Active, etc).

Comment collapsing should not be a long tap

If anything, long tap should open the threedot context menu

Single tap currently does nothing, might as well make it collapse comments. Right now, the long tap to collapse slows down comment browsing in a very annoying manner.

Ugly UI inconsitencies

The white border on user images simply does not looks good with some icons:

image

The rounded square will still look perfectly good without the border.

Endless loading loop when trying to log in

Device info

  • OS: Android
  • OS version: 11
  • Device: Fairphone 3+
  • Lemmynade version: 0.9.6

Describe the bug

After entering the credentials to connect to a Lemmy account and pushing the "Sign in" button, a loading animation starts and loops indefinitely.

Steps to reproduce

  1. Go to the "Add account" page
  2. Select the feddit.nl instance
  3. Enter credentials of account
  4. Push on "Sign in" button

Relevant logs

"No logs" displayed in Logs page.

Expected behavior

Successful sign into account, or display of an error message if something went wrong.

Screenshots/Screencasts

Screenshot_20230623-143133

Additional context

Maybe instance-dependant? I tried to input both my email and my username.

Support for kbin instances and API

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like

A clear and concise description of what you want to happen.

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context or screenshots about the feature request here.

Support for Lemmy v0.18.x

Is your feature request related to a problem? Please describe.

A couple breaking changes in the API with v0.18:

LemmyNet/lemmy-js-client@main...0.18.0_changes_1

Primarily we nee to update all the aggregates functions and enable lemmyade to query aggregates for online counts

Describe the solution you'd like

A clear and concise description of what you want to happen.

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context or screenshots about the feature request here.

Can't bookmark federated content

Screenshot_20230625-103136.jpg

I'm not really sure why this isn't possible? If there is a technical reason that federation doesn't support saving posts this way either the app should hide the icon out better yet just store it locally.

Request for feature to cache scroll position for a post

caching scroll position for a post

Joey for Reddit had a feature where it would automatically save your position after scrolling through comments under a post, so that if you backed out of the post, then changed your mind and tapped back into it, you would still be at exactly the same location in the comments thread(s) and could pick up where you left off.

Request for tap-and-hold preview functionality

tap-and-hold preview

I was a user of Joey for Reddit previously, which has a feature where you can tap and hold on an image/gif/video to make it pop up on screen temporarily, and then let go to make the pop up go away again. This was always a really nice usage flow in compact mode. This action would also not mark the post as read either. Joey also had an extra button present on text-only posts in compact mode that you could tap and hold on to preview the beginning of the text post without tapping all the way into it.

Long press on images/videos to preview

Is your feature request related to a problem? Please describe.

Some apps have an option to preview images/videos by long pressing the thumbnail.

Describe the solution you'd like

Include an option in Liftoff for this feature

Describe alternatives you've considered

none

Additional context

none

Allow opening links in external applications

Is your feature request related to a problem? Please describe.

YouTube opens in browser.

Spotify too.

That means I can't play the content very well.

Describe the solution you'd like

Either by default or at least an option in the settings, allow to open any link not to lemmy in an external app.

Block community directly from a post

Is your feature request related to a problem? Please describe.

The ability to block a community from a post 3 dot menu, rather than having to go to the community itself

Screenshot_20230623_194119

Can't see text in posts

Device info

  • OS: Android
  • OS version: 13
  • Device: Galaxy S23
  • Lemmynade version: 0.9.5

Describe the bug

When opening any post that has some text in it, I cannot see the text at all, just the image/link, and the comments below. If I tap on the reply button, then I do see the text contents of the post in the reply window.

Expected behavior

I expect to see the post text content after tapping on the post.

Screenshots/Screencasts

Attached screenshots of post with no text showing, and then the reply screen where the text does show.

Screenshot_20230622_144533.png

Screenshot_20230622_144539.png

Make the settings menu accessible from posts & other screens

Sometimes I wanna change something but I don't wanna leave the post I'm reading.

I suggest making the navbar re-appear when you scroll up anywhere and have it show settings.

The three dots on the top right, inside a post, could also be useful for other things such as seeing the community, jumping to inbox, searching text and other things.

Upvotes/down votes not being saved?

It seems that when I vote on posts or comments, once I refresh the page or back out and go back to the page later, my votes don't "stick." Not sure if votes are not getting sent to the server in the first place, or if they are, but the app is not getting the updated value from the server or something.

CMake error while building on Linux

Device info

  • OS: Linux
  • OS version: Pop!_OS 22.04
  • Device: PC
  • Liftoff version: Building from source

Describe the bug

Doing a new build on Linux (I'd like to work on Flatpak support), but I'm encountering a build error when starting out. When running flutter build linux --target lib/main_prod.dart --release, it gathered the dependencies, then throws a build error. The build error seems to center around the Clang part of the project, but I followed the instruction installations like Flutter says to without issue otherwise. So I'm not sure what's happening? Wanted to ask if this was a known issue for other Linux users building this.

The compiled application from the Releases works fine when run.

Steps to reproduce

  1. Setup Flutter according to installation instructions
  2. Cloned Lifeoff
  3. Ran flutter build linux --target lib/main_prod.dart --release
  4. See error below

Relevant logs

CMake Error at /usr/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake:62 (message):
  The C++ compiler

    "/usr/bin/clang++"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /home/JKimsey/Documents/GitHub/liftoff/build/linux/x64/release/CMakeFiles/CMakeTmp

    Run Build Command(s):/usr/bin/ninja cmTC_ff997 && [1/2] Building CXX object CMakeFiles/cmTC_ff997.dir/testCXXCompiler.cxx.o
    [2/2] Linking CXX executable cmTC_ff997
    FAILED: cmTC_ff997 
    : && /usr/bin/clang++   CMakeFiles/cmTC_ff997.dir/testCXXCompiler.cxx.o -o cmTC_ff997   && :
    /usr/bin/ld: cannot find -lstdc++: No such file or directory
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    ninja: build stopped: subcommand failed.





  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:2 (project)


Building Linux application...                                           
Unable to generate build files

Expected behavior

No errors while building from a clean build?

Additional context

Apologies if this isn't the totally right context to ask for source building help. But was hoping someone else here might know what's going on here. I can happily provide more documentation or logs if needed to solve this :)

Hiding read post not working ?

Device info

  • OS: [eg. iOS/Android]
  • OS version: [eg. 9]
  • Device: [eg. Huawei P20 Lite]
  • Liftoff version: [eg. v0. 9.1]

Describe the bug

As per title. Posts remain on the feed even after upvoting. Show read posts in un checked in the settings. Other apps hide read posts to I suppose it's liftoff's behavior ?

Steps to reproduce

  1. Go to your feed page
  2. Upvote a post
  3. Refrrsh the feed
  4. See error

Additional context

If no one roses experiences this bug, could be caused by an exceedingly old android version ?

Slide or swipe to dismiss/close a post

Is your feature request related to a problem? Please describe.

More of a UX improvement

Describe the solution you'd like

  1. Something similar to infinity/slide swipe to close the post gesture
    See below:
    https://github.com/r0adkll/Slidr/blob/master/images/slidr_gif.gif

Describe alternatives you've considered

  1. None I have to press the back buton

Additional context

In slide/infinity I can open a post then use a swiping gesture

If I knew how to do this in flutter I would have created a PR but I only have basic knowledge

Move sort button to top

Is your feature request related to a problem? Please describe.

When scrolling through posts, if I want to change the sort, I would have to scroll all the way up the posts to the button at the top.

Describe the solution you'd like

I feel the sort button should be on the top bar, opposite of the bell.

Describe alternatives you've considered

Move it to the nav bar?

Additional context

Screenshot_20230624-143142_1

Fix comment hierarchy issue with API changes from 0.15 -> 0.17

Describe the bug

Currently when you load a post or comment view all comments are at the same level and comment replies aren't nested.

Steps to reproduce

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Relevant logs

Logs

Paste your logs here. Logs can be found in lemmynade: settings > about lemmynade > logs.

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots/Screencasts

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

Request for lefty mode

Lefty mode

I would love to see an option where things are left-aligned rather than right-aligned for ease of use as a left-handed user. Ideally, the row of buttons under posts and comments would be reversed and aligned to the left, such that the upvote button is far left, and the 3-dot button is still toward the middle, etc. Also, when in compact mode, I would like to see the image/link preview on the left side instead of the right side for easier tapping.

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.