[Help] My flutter app is taking too long to get reviewed

Hey guys, hope you are doing well.

I have a flutter app, that I want to publish to the Snap Store. Following is my snapcraft.yaml file.

name: uet-lms
version: 0.1.1+4
summary: UET's LMS
description: UET's LMS Student Portal

confinement: devmode
base: core18
grade: devel

slots:
  dbus-svc: # name that is used with 'snap connect' on slots side
    interface: dbus
    bus: session
    name: org.freedesktop.DBus

apps:
  uet-lms:
    command: uet_lms
    extensions: [flutter-dev]
    slots: [dbus-svc]
    plugs:
      - network
      - mount-observe
      - x11
      - home
      - removable-media
      - browser-support
      - password-manager-service
    
parts:
  uet-lms:
    source: .
    plugin: flutter
    flutter-target: lib/main.dart 
    build-packages:
     - libsecret-1-dev
     - libjsoncpp-dev
    stage-packages:
     - libsecret-1-dev
     - libjsoncpp1-dev

The app was published without being manually reviewed, and it worked like a charm. The other day, I installed it on a Ubuntu VM. And it gave me an error while starting the app which led me to add dbus-svc slot in the YAML. After adding it Snapcraft wanted to manually review that app and it’s been 22 days and it’s still in review.

So my questions are:

  1. Why I need dbus interface for Ubuntu but no in Manjaro? Can I remove it, So I don’t even have to get my app manually reviewed?
  2. How much time will it take to get it reviewed?
  3. if my app gets reviewed in like 30 days, Will it take this much time to review with each update?

Thank you. I’m a bit of a noob, your advice regarding any part of my YAML file is much appreciated (I put it here because I feel my yaml file has some things that shouldn’t be like they here)

i think that is discussed here as well:

Actually, you probably don’t really need that dbus slot. We recently submitted a fix to flutter which prevents that from being a fatal error. See Flutter Snapcraft.yaml for details.

You can apply this manually in your project with the following patch:

diff --git a/linux/my_application.cc b/linux/my_application.cc
index 3ad3281..8b02ceb 100644
--- a/linux/my_application.cc
+++ b/linux/my_application.cc
@@ -42,5 +42,6 @@ static void my_application_init(MyApplication* self) {}
 MyApplication* my_application_new() {
   return MY_APPLICATION(g_object_new(my_application_get_type(),
                                      "application-id", APPLICATION_ID,
+                                     "flags", G_APPLICATION_NON_UNIQUE,
                                      nullptr));
 }

This will allow your application to start without trying to own the name on dbus. You can then drop the dbus-svc slot you have defined, which will ease getting it in the store.

2 Likes