Omni-Notes icon indicating copy to clipboard operation
Omni-Notes copied to clipboard

Version available on F-Droid behind Play Store

Open billie80 opened this issue 5 years ago • 28 comments

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

billie80 avatar Oct 30 '19 19:10 billie80

Related to #669

federicoiosue avatar Nov 03 '19 17:11 federicoiosue

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

billie80 avatar Nov 03 '19 18:11 billie80

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

federicoiosue avatar Nov 04 '19 08:11 federicoiosue

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

licaon-kter avatar Mar 02 '20 12:03 licaon-kter

@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.

federicoiosue avatar Mar 03 '20 09:03 federicoiosue

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 avatar Mar 03 '20 09:03 licaon-kter

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

licaon-kter avatar Mar 03 '20 09:03 licaon-kter

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!

uraza avatar Mar 05 '21 21:03 uraza

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 avatar Mar 16 '21 17:03 federicoiosue

Reopening as reminder for 6.1.0 rollout

federicoiosue avatar Oct 18 '21 09:10 federicoiosue

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 avatar Oct 18 '21 13:10 licaon-kter

In app, Settings Privacy

  • error reporting in ON by default, this mean for F-Droid we'd add AntiFeature: Tracking
  • share anonymous data ON by default, same as above
  • where's the data sent? That might need another NonFreeNet
  • ACRA bug reporting works how? Auto-submission? email?

licaon-kter avatar Oct 18 '21 13:10 licaon-kter

About Setting Privacy:

  • It's fine ATM, I'll eventually add a prompt for opt-in right into the app tour
  • Same as above
  • Data sent are stored on https://www.tracepot.com/ for crash analysis and Piwik (self hosted instance) for usage analytics
  • Yes, ACRA library is sending data automatically on crash as long as user left enabled error reporting

federicoiosue avatar Oct 22 '21 08:10 federicoiosue

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.

federicoiosue avatar Oct 22 '21 08:10 federicoiosue

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?

2Belette avatar Oct 30 '21 21:10 2Belette

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

federicoiosue avatar Nov 02 '21 07:11 federicoiosue

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

Dunedan avatar Apr 08 '22 17:04 Dunedan

@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

licaon-kter avatar Apr 13 '22 07:04 licaon-kter

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

federicoiosue avatar Apr 15 '22 12:04 federicoiosue

Any news about the F-Droid release?

smaragdus avatar Jul 10 '22 11:07 smaragdus

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.

federicoiosue avatar Jul 12 '22 15:07 federicoiosue

Bugsnag?

licaon-kter avatar Jul 12 '22 19:07 licaon-kter

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 avatar Jul 13 '22 12:07 federicoiosue

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

federicoiosue avatar Jul 13 '22 12:07 federicoiosue

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

licaon-kter avatar Jul 13 '22 15:07 licaon-kter

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

federicoiosue avatar Jul 13 '22 16:07 federicoiosue

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

linsui avatar Sep 12 '22 13:09 linsui

@linsui thanks for pointing out

federicoiosue avatar Sep 13 '22 16:09 federicoiosue