Git Product home page Git Product logo

dodoformastodon's People

Contributors

crocsandcoffee avatar digitalbuddha avatar evant avatar krizzu avatar mboukadir avatar r-gurzkowski avatar rafsanjani avatar roshanrai06 avatar thebino avatar tuliohmendes 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dodoformastodon's Issues

[FEAT]: Add iOS targets to existing modules

Description

We should add iOS targets to our modules (data and domain layers) as early as possible, even without creating the iOS project. This way we will prevent putting jvm specific code to the common source sets.

Additional Information

No response

[FEAT]: R8/proguard support on Android

Description

At some point we should add R8/proguard configuration. Code obfuscation may be not relevant for the open-source project, but we can still benefit from code optimisation and app size reduction provided by R8.

Additional Information

No response

[FEAT]: Create a toot!

Description

After logging in, there should be a simple FAB or similar on the timeline screen where the user can tap to launch some type of modal/popup/screen and enter characters to create a toot! This should then be visible on the local timeline

Additional Information

No response

[BUG]: ./gradlew installDebug, open the App, it will crashed.

Description of the bug

./gradlew installDebug, open the App, it will crashed.

Steps To Reproduce

  1. git clone https://github.com/AndroidDev-social/MastodonCompose.git
  2. ./gradlew installDebug, open the App, holder seconds in login screen, it will crash

Additional Information

Android Version: Android 13
OS: Pixel experience
the crash log
2022-11-25 07:57:49.860 28704-28704/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: social.androiddev.mastodon, PID: 28704
java.lang.NullPointerException: decodeByteArray(byteArray, 0, byteArray.size) must not be null
at social.androiddev.common.utils.ImageLoadingKt.loadImageIntoPainter(ImageLoading.kt:21)
at social.androiddev.common.utils.ImageLoadingKt$loadImageIntoPainter$1.invokeSuspend(Unknown Source:13)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [androidx.compose.ui.platform.MotionDurationScaleImpl@39a2b44, androidx.compose.runtime.BroadcastFrameClock@c6b542d, StandaloneCoroutine{Cancelling}@526bd62, AndroidUiDispatcher@afeaef3]
2022-11-25 07:57:49.864 1440-28746/? I/Dro

[FEAT]: Browse _local_ timeline after logging in

Description

For MVP, let's support browsing your local timeline first only. This will keep the scope limited as supporting multiple timelines + viewing own/user's profile can be done in V2 which demands a more complex UI + navigation.

Additional Information

No response

Use objects for namespaces

This took me more than a while to reconcile with myself on, because when I see a bunch of top-level functions like this the first thing I think is that we're going to end up polluting our class-space very quickly.

Are there opinions on utilizing some kind of namespacing here?

object Spacers {
  @Composable
  fun XLarge(modifier: Modifier = Modifier) {} // ...
}

// Usage
Spacers.XLarge()

This has the upside of making it easier to find things. If I want a specific spacer I can do Spacers. and get a nice list.

I can be convinced either way, just a random musing.

Originally posted by @exallium in #66 (comment)

[FEAT]: Consider upgrading to AGP 7.3.x for better KMP support

Description

Consider updating to AGP 7.3.x (latest stable)

  1. Fixes some issues that will cause unresolved imports in androidMain sources. Described here: https://issuetracker.google.com/issues/231701341. Though Issue: https://issuetracker.google.com/issues/229298359 for test sources will remain until AGP 7.4.x
  2. Enables full support for sdk 33 (Android 13)
  3. Enables support for Archived apk
  4. Enables using Baseline Profiles freely with any device (see Known issues)
  5. Faster compiler times compared to older versions

Additional Information

I should be able to make a PR once this has been agreed upon. Right now AGP 7.3.1 is the latest stable where most issues with KMP will be fixed with just https://issuetracker.google.com/issues/229298359 remaining

[FEAT]: Mocking?

Description

Since this will be at some point a topic in terms of testing and has some implications - are we going for mocks?

Currently, there 3 Frameworks (I know of):

Mockative -> not sure if this is still active
MocKMP
KMock -> my baby/you can play with it here

Additional Information

A few words to KMock - I am currently preparing my next iteration of, which will bring, aside from some dependencies updates, some new stuff. But I will need a bit time for that.
However, KMock is a bit different to mockk or Mockito if you are used to it, so I recommend trying it upfront. The big plus is no worries about the setup since the KMock's gradle plugin will do it. It is tightly tested so most limitation are known this far.

Typos in CONTRIBUTING guide

Description

Under Ground Rules, the rules mention Python users, Python community and PEPs. This is perhaps copy/pasted from another set of community rules? :)
If this is something you'd like to have fixed, I can work on it, if you tell me what the preferred designation is for this community. Perhaps just discuss it in this thread? :)

Additional Information

No response

[FEAT]: Add CoC

Description

We should have one. I usually just add the one you get from Insights -> Community Standards -> Code of conduct, but open to other suggestions.

Additional Information

No response

[FEAT]: 'How to Build' documentation

Description

Could we have a section on the documentation on how to build the project for each target? I've not worked with KMP but I imagine there's some nuances between building for iOS vs Android vs other platforms

Additional Information

No response

[FEAT]: Code Style, Conventions

Description

It was requested in #mastodon-client slack channel for documentation regarding code style and coding conventions.

This is just an "issue" to track that and for anyone to offer any input.

As a starting point I suggest we just use the default kotlin style guide for now, unless anyone feels strongly and wants to create a custom one that follows certain guidelines and can be included in the project and imported in workspaces.

Additional Information

No response

What's the state of this project?

Description

I may be too late to ask it, but does anyone know why it stopped at MVP? why is it not developed anymore or published?! It looks like a decent project.

[FEAT]: Add Fastlane + GitHub actions

Description

Placeholder issue for adding fastlane scripts and github actions to run CI for tests, detekt, lint, and builds for distribution.

Additional Information

No response

[FEAT]: Settings and Logout

Description

for now, is just add a dummy TopAppBar to the root screen hierarchy when logged in, and add a settings icon that takes you to a new screen with a simple logout button. You'll need to also add logic for clearing/deleting the right user session data which may only be local, not sure yet. Plz feel free to create a GitHub issue with this info if there isn't one already

Additional Information

No response

[FEAT]: swipe navigation/controls

Description

I'd love for us to think about swipe/multi-touch controls rather than lots of buttons. For example things like swipe left to boost or right to reply to a post. Ideally I can keep my thumb in middle of the screen and still perform most basic functions.

Additional Information

No response

[FEAT]: Find a good / meaningful name

Description

When talking about a product it is mandatory to have a proper name which can be remembered and linked to its functionality.
Like the community once came up with Boaty McBoatface we should be able to find some good names as well.

Let's first collect some ideas and later on we can start a poll for the decision.

Additional Information

No response

[FEAT]: Profile Screen for Dodo

Description

Create a new profile screen for dodo client.
Currently there is no design for that. So please refer to other clients and come up with design and implement it.

Additional Information

No response

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.