federicoiosue / Omni-Notes

Open source note-taking application for Android
https://omninotes.app
GNU General Public License v3.0
2.69k stars 1.11k forks source link

Version available on F-Droid behind Play Store #713

Closed billie80 closed 1 year ago

billie80 commented 4 years ago

I am using Omni-Notes from F-Droid. Is there any reason versions newer than 5.5.2 are not available there?

federicoiosue commented 4 years ago

Related to #669

billie80 commented 4 years ago

Okay thanks. I already found this issue however it was not clear to me how the F-Droid build is concerned.

federicoiosue commented 4 years ago

Because their build pipeline fails for the same reason. It seems that I'm currently the one able to build the code, maybe for some historical dependencies available locally on my machine

bitmoji

licaon-kter commented 4 years ago

@federicoiosue Umm, what am I missing: https://gitlab.com/snippets/1946400 ?

federicoiosue commented 4 years ago

@federicoiosue Umm, what am I missing: https://gitlab.com/snippets/1946400 ?

Now the build should work, but I've some problems trying to run the complete test suite. Furthermore the current version will have to be release as a Beta before proceeding with the stable version for everyone so that will only be available for Play Store users.

Specifically, the problem with their pipeline is due to the fact that the code they're trying compiling is the one from the master branch, that is still not updated with the modifications above.

licaon-kter commented 4 years ago

Specifically, the problem with their pipeline is due to the fact that the code they're trying compiling is the one from the master branch, that is still not updated with the modifications above.

It's tagged as 6.0.5 hence I guessed (wrong) that it's ok to build.

Will retry with HEAD

licaon-kter commented 4 years ago

@federicoiosue Looks like it builds fine from HEAD, do @ -me when 6.1.0 is Tagged ;)

uraza commented 3 years ago

The app looks really nice. I got here from F-Droid, but the version there is two years old. Will it be updated on F-Droid with the next release, like the comment above suggests? Thanks a lot for your work!

federicoiosue commented 3 years ago

Yep, the latest code (version 6.1.0) should compile correctly on F-Droid pipeline. When tests will have full success it will be released both on Play Store and F-Droid platforms. And as GitHub release too, of course.

federicoiosue commented 2 years ago

Reopening as reminder for 6.1.0 rollout

licaon-kter commented 2 years ago

Builds fine, some questions for https://www.virustotal.com/gui/file/bf150c39d25e0eecbe925faf0dee5b8f19f8bfbeb7e4693e9072093780bdfb78/details

How are these implemented in a FOSS way or just put in AndroidManifest for the non-FOSS flavor?

com.google.android.gms.permission.ACTIVITY_RECOGNITION com.google.android.providers.gsf.permission.READ_GSERVICES com.google.android.apps.photos.permission.GOOGLE_PHOTOS

Using com.github.federicoiosue:smart-location-lib these are still named like this?

io.nlopez.smartlocation.activity.providers.ActivityGooglePlayServicesProvider$ActivityRecognitionService io.nlopez.smartlocation.geofencing.providers.GeofencingGooglePlayServicesProvider$GeofencingService io.nlopez.smartlocation.geocoding.providers.AndroidGeocodingProvider$AndroidGeocodingService

The intent com.android.vending.INSTALL_REFERRER is consumed by org.piwik.sdk.InstallReferrerReceiver ? IIRC the whole referrer stuff was not FOSS

And a crash on attach location:

FATAL EXCEPTION: main
Process: it.feio.android.omninotes.foss, PID: 24815
java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:requestPermissions:, request=42, result=-1, data=Intent { act=android.content.pm.action.REQUEST_PERMISSIONS (has extras) }} to activity {it.feio.android.omninotes.foss/com.tbruyelle.rxpermissions.ShadowActivity}: rx.exceptions.OnErrorNotImplementedException: This is just an usless class to make compiler happy!
    at android.app.ActivityThread.deliverResults(ActivityThread.java:5014)
    at android.app.ActivityThread.handleSendResult(ActivityThread.java:5055)
    at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2067)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:223)
    at android.app.ActivityThread.main(ActivityThread.java:7705)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:952)
Caused by: rx.exceptions.OnErrorNotImplementedException: This is just an usless class to make compiler happy!
    at rx.internal.util.InternalObservableUtils$ErrorNotImplementedAction.call(InternalObservableUtils.java:386)
    at rx.internal.util.InternalObservableUtils$ErrorNotImplementedAction.call(InternalObservableUtils.java:383)
    at rx.internal.util.ActionSubscriber.onError(ActionSubscriber.java:44)
    at rx.observers.SafeSubscriber._onError(SafeSubscriber.java:153)
    at rx.observers.SafeSubscriber.onError(SafeSubscriber.java:115)
    at rx.exceptions.Exceptions.throwOrReport(Exceptions.java:212)
    at rx.observers.SafeSubscriber.onNext(SafeSubscriber.java:139)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.emitScalar(OperatorMerge.java:511)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.tryEmit(OperatorMerge.java:466)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java:244)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java:148)
    at rx.internal.operators.OnSubscribeMap$MapSubscriber.onNext(OnSubscribeMap.java:77)
    at rx.internal.operators.OperatorBufferWithSize$BufferExact.onNext(OperatorBufferWithSize.java:114)
    at rx.observers.Subscribers$5.onNext(Subscribers.java:235)
    at rx.observers.SerializedObserver.onNext(SerializedObserver.java:91)
    at rx.observers.SerializedSubscriber.onNext(SerializedSubscriber.java:94)
    at rx.internal.operators.OnSubscribeConcatMap$ConcatMapSubscriber.innerNext(OnSubscribeConcatMap.java:182)
    at rx.internal.operators.OnSubscribeConcatMap$ConcatMapInnerSubscriber.onNext(OnSubscribeConcatMap.java:335)
    at rx.subjects.PublishSubject$PublishSubjectProducer.onNext(PublishSubject.java:304)
    at rx.subjects.PublishSubject$PublishSubjectState.onNext(PublishSubject.java:219)
    at rx.subjects.PublishSubject.onNext(PublishSubject.java:72)
    at com.tbruyelle.rxpermissions.RxPermissions.onRequestPermissionsResult(RxPermissions.java:311)
    at com.tbruyelle.rxpermissions.ShadowActivity.onRequestPermissionsResult(ShadowActivity.java:38)
    at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:8460)
    at android.app.Activity.dispatchActivityResult(Activity.java:8308)
    at android.app.ActivityThread.deliverResults(ActivityThread.java:5007)
    ... 11 more
Caused by: java.lang.UnsupportedOperationException: This is just an usless class to make compiler happy!
    at io.nlopez.smartlocation.location.providers.LocationGooglePlayServicesWithFallbackProvider.<init>(LocationGooglePlayServicesWithFallbackProvider.java:16)
    at it.feio.android.omninotes.helpers.GeocodeProviderBaseFactory.getProvider(GeocodeProviderBaseFactory.java:45)
    at it.feio.android.omninotes.utils.GeocodeHelper.getLocation(GeocodeHelper.java:89)
    at it.feio.android.omninotes.DetailFragment.lambda$getLocation$8(DetailFragment.java:695)
    at it.feio.android.omninotes.-$$Lambda$DetailFragment$mNEDuawTcemK9ErKNJGvjcVlhlc.onPermissionGranted(Unknown Source:2)
    at it.feio.android.omninotes.helpers.PermissionsHelper.lambda$requestPermissionExecute$1(PermissionsHelper.java:66)
    at it.feio.android.omninotes.helpers.-$$Lambda$PermissionsHelper$OUzoTydJVL_GS1sDD1DTXNFqLwc.call(Unknown Source:10)
    at rx.internal.util.ActionSubscriber.onNext(ActionSubscriber.java:39)
    at rx.observers.SafeSubscriber.onNext(SafeSubscriber.java:134)
    ... 30 more
licaon-kter commented 2 years ago

In app, Settings Privacy

federicoiosue commented 2 years ago

About Setting Privacy:

federicoiosue commented 2 years ago

com.google.android.gms.permission.ACTIVITY_RECOGNITION com.google.android.providers.gsf.permission.READ_GSERVICES com.google.android.apps.photos.permission.GOOGLE_PHOTOS

There is no differentiation between flavors talking about declared permissions, but I do actually only explicitly declare GOOGLE_PHOTOS's one, maybe the others are coming from dependencies, I never checked for this.

Talking about piwik's intent: I created this library to manage in a FOSS way analytics, nothing changed from previously F-Droid released build, also dependencies versions are the same on that side.

2Belette commented 2 years ago

Is this the reason why F-Droid version is from 09/2018? Was wondering if the project is dead but it seem more this issue?

federicoiosue commented 2 years ago

Is this the reason why F-Droid version is from 09/2018? Was wondering if the project is dead but it seem more this issue?

The latter one

Dunedan commented 2 years ago

Any update on this? I'd love to see an up-to-date Omni-Notes version on F-Droid.

licaon-kter commented 2 years ago

@federicoiosue so https://github.com/federicoiosue/Omni-Notes/commit/6a300da871d360298364a86e873d5ce43e767e04 will finally fix this?

6.2.0(302) builds fine here, but still has Google Permissions: https://www.virustotal.com/gui/file/21a6cd504ccdcb5967e6d031280eac86b111bbb0acb502cfe49061d11cd0600b/details

federicoiosue commented 2 years ago

I'm testing with removed com.google.android.apps.photos.permission.GOOGLE_PHOTOS and android.permission.WRITE_EXTERNAL_STORAGE (no more needed due to migration to scoped storage).

If everything works as expected I'll prepare a release and a pull request to F-Droid

smaragdus commented 2 years ago

Any news about the F-Droid release?

federicoiosue commented 2 years ago

The ACRA backend I was using discontinued so I'm trying to replace it to continue having something that collects anonymous crash reports to analyze app's errors. As soon as ready I'll release the new 6.2.0 version for both Play Store and F-Droid.

licaon-kter commented 2 years ago

Bugsnag?

federicoiosue commented 2 years ago

Bugsnag?

Never heard of it, it seems nice, but I'm exploring the option to use my own Acrarium backend instance for ACRA to keep full control. It should fit FOSS approach, I'd not have any cap of reports (staying on free tier is mandatory for this project) and I'd be able to provide a public access to guests to enforce transparency.

federicoiosue commented 2 years ago

Here an example (still missing SSL) using guest both as username and password @licaon-kter

licaon-kter commented 2 years ago

Looks nice, as usual, hope it's opt-in ;)

federicoiosue commented 2 years ago

Yes, it depends from Settings->Privacy->Error Reporting flag

linsui commented 1 year ago

The short_description is too long. F-Droid only take 80 characters so that it's truncated. Could you please make it shorter?

federicoiosue commented 1 year ago

@linsui thanks for pointing out