Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A submission for review application: Create io.github.codes-by-chetan… #546

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

chetan-angularminds
Copy link

@chetan-angularminds chetan-angularminds commented Jan 10, 2025

….bluetooth-media-controller.json

A submission for review my application bluetooth media controller. which is basically an app to control bluetooth media playback coming from an android device via bluetooth to linux devices requires

Bluetooth Media Controller

A Python tool to control Bluetooth audio devices and display the currently playing track with playback controls. It uses bluetoothctl to manage Bluetooth connections and interacts with the audio devices.

Features

  • Connect to Bluetooth audio devices
  • Display the currently playing track on connected Bluetooth audio devices
  • Provide basic playback controls: Play, Pause, Next, and Previous
  • Command-line interface for interaction

Prerequisites

Before installing and using this tool, ensure that you have the following prerequisites:

  • Python 3.6+
  • GTK 3
  • BlueZ v5.70 or higher

Post-Installation Steps

After installation, you can run the Bluetooth Media Controller using the following command:

bluetooth-media-controller

If the command is not found, you may need to log out and log back in or restart your system for the PATH to update.

Usage

As a linux user, you know that if you connect your phone to the computer via bluetooth, it starts sending audio to your computer and you can play media of your phone using your computer's speakers. But you can not control the media playback from your computer. This application is designed to solve this problem.

Once the tool is installed and running, you can use it to control Bluetooth devices.

    1. Connect to a Bluetooth device. To connect go to your device settings >> bluetooth.
    1. Once connected, you can use the tool to control the device. You can play, pause, stop, and skip tracks.
    1. You can also use the tool to change the play modes of the device.
    1. If the tool is not working then you should try updating the bluez to the latest version in your computer. Make sure you have the bluez v5.70 or higher. You can do visit for more details : bluez update

Review Checklist

  • App opens
  • Does what it says
  • Categories match

AppData

  • Name is unique and non-confusing
  • Matches description
  • Matches screenshot
  • Launchable tag with matching ID
  • Release tag with matching version and YYYY-MM-DD date
  • OARS info matches

Flatpak

  • Uses elementary runtime
  • Sandbox permissions are reasonable

….bluetooth-media-controller.json

A submission for review my application bluetooth media controller. which is basically an app to control bluetooth media playback coming from an android device via bluetooth to linux devices requires
@chetan-angularminds chetan-angularminds requested a review from a team as a code owner January 10, 2025 09:34
@codes-by-chetan
Copy link

aren't there anyone who can review my submission??

Copy link
Member

@ryonakano ryonakano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, thank you for your app submission and we're sorry for late review. Here are some points you need to resolve:

The followings are not requirements:

  • We recommend you to use io.github prefix instead of com.github prefix for the RDNN com.github.chetanmohite.bluetooth-media-controller.
    • Because Flathub no longer accept apps with the com.github prefix as written in their requirement.
    • We don't force this but you would get into trouble when you want to publish your app later on Flathub too.

BTW I think the review checklist is meant to be filled by reviewers; it's not a checklist for app authors.

@codes-by-chetan
Copy link

codes-by-chetan commented Jan 21, 2025

Oh I'm really sorry for that checklist, I'm new here i didn't knew about that earlier & thanks for clarifying the requirements this is my first app submission so i already expected a lot of changes. I will make these changes and then I'll request a review again. Thank you so much for reviewing my application @ryonakano.

@ryonakano
Copy link
Member

Don't be sorry, I think the checklist is confusing because it looks like as if authors need to fill it so that their app is accepted. 💦

I'm happy that you're submitting your app to our AppCenter. If you have some questions what you should do for the requested changes, you can ask for me here. Happy coding!

@codes-by-chetan
Copy link

@ryonakano Thanks , I will definitely ping you if i need some help.

@codes-by-chetan
Copy link

@ryonakano I have made the requested changes can you please review them

@alainm23 alainm23 requested a review from ryonakano February 10, 2025 10:10
@codes-by-chetan
Copy link

hi @alainm23 are you also from the app center review team

@chetan-angularminds
Copy link
Author

hii @ryonakano i have updated and added the flathub manifest file because the build was failed can you please review and merge it again

@ryonakano
Copy link
Member

How did you decide these dependencies? (e.g. references links, name of generators if you used some, etc.)

https://github.com/codes-by-chetan/bluedia/blob/1afe1019908038bdf7357325f19d7e9458d101d2/io.github.codes.by.chetan.bluedia.yml#L30-L78

@codes-by-chetan
Copy link

codes-by-chetan commented Feb 11, 2025

I have used those modules in my bluedia.py python script so I added them as dependencies is this a wrong a way ?
@ryonakano can you please clarify this?

@ryonakano
Copy link
Member

I tried to generate the dependencies using flatpak-pip-generator as written in the Flatpak documentation, but its result didn't include pillow, so I wondered if there is any reason you included it in your manifest.

I'm not familiar with Python so I might be wrong, please ignore if it's intentional 🙇

{
    "name": "python3-requests",
    "buildsystem": "simple",
    "build-commands": [
        "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"requests\" --no-build-isolation"
    ],
    "sources": [
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl",
            "sha256": "ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz",
            "sha256": "44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl",
            "sha256": "946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl",
            "sha256": "70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"
        },
        {
            "type": "file",
            "url": "https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl",
            "sha256": "1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df"
        }
    ]
}

Copy link
Member

@ryonakano ryonakano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other points I'm concerning are:

  • You're using io.github.codes.by.chetan.bluedia as RDNN but you may want to use io.github.codes_by_chetan.bluedia instead. I think the current one is hard to see and not common.
  • Your Flatpak manifest uses the GNOME runtime and SDK, but you need to use the elementary one instead to submit to AppCenter as written here.
  • You're trying to grant access to /, /dev, /bin, /usr`, but is there any reason for this?

@codes-by-chetan
Copy link

@ryonakano i will change those other things and i also think that pillow isn't a dependency so i will also remove it and the access for /, /dev, /bin, /usr, when i tried to run my application in the sandboxed environment it was unable to execute commands to get details of currently playing tracks and all stuffs but it didn't worked so i tried to give the access to /, /dev, /bin, /usr i thought it would work but that also didn't worked. i want to ask you that will this app be able execute commands of bluetoothctl after installation or the appcenter makes it run in the sandboxed environment after publishing also. I'm worried about it will that work? if it will work then theres no need for those permissions i will remove it.

@teamcons
Copy link
Contributor

@ryonakano i will change those other things and i also think that pillow isn't a dependency so i will also remove it and the access for /, /dev, /bin, /usr, when i tried to run my application in the sandboxed environment it was unable to execute commands to get details of currently playing tracks and all stuffs but it didn't worked so i tried to give the access to /, /dev, /bin, /usr i thought it would work but that also didn't worked. i want to ask you that will this app be able execute commands of bluetoothctl after installation or the appcenter makes it run in the sandboxed environment after publishing also. I'm worried about it will that work? if it will work then theres no need for those permissions i will remove it.

If you publish as flatpak, you would want to use portals to interact with bluetooth interfaces instead of asking broad system permissions and pretty much defeating the point of a sandboxing format

You can test on your side what works or not, but here isnt the place for this
Best of luck !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants