yDelouis / selfoss-android

Android application for Selfoss
MIT License
41 stars 9 forks source link

Sync issue between with app v0.7 and selfoss 2.11 #26

Closed bacobart closed 9 years ago

bacobart commented 9 years ago

Thanks for the selfoss app, it's really great!

Selfoss (0.7) doesn't sync properly for me. First no new items were showing up. So I removed the application and reinstalled it. Now tags and sources aren't loaded anymore, they just don't show. Some articles are shown, but the read/unread status of articles (and indicators) do not work in the app. On the webpage they work fine. Also when I look in the access_log, the requests done by the selfoss app all seem valid and give proper responses.

Any ideas what may cause this?

(edit: not sure if this will help, but here's the response for the tags request: http://pastebin.com/ZWk87xzQ )

yDelouis commented 9 years ago

This issue sometimes occurred to me while developing. I didn't manage to reproduce this issue. So if you does, let me know how. To solve this issue, you can open the config screen (click on the url in the menu) then click on "Validate".

bacobart commented 9 years ago

I've tried to revalidate numerous times in the config screen (it says Success! after clicking), but the sources/tags and read count still isn't loaded properly.

I've tried reverting to v0.6.2 of the app, and that version now also has the issue. I'm starting to suspect it has to do with selfoss v2.11?

yDelouis commented 9 years ago

Could you check in the logcat if the app is requesting tags and sources ? If not, the issue comes from the app. Try to remove the account (in Android settings) and to remove the data, then re-launch the app.

bacobart commented 9 years ago

Seems something breaks when reading the colors:

W/System.err( 664): org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: Unknown color (through reference chain: fr.ydelouis.selfoss.entity.Tag["color"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Unknown color (through reference chain: fr.ydelouis.selfoss.entity.Tag["color"]) W/System.err( 664): at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.readInternal(MappingJackson2HttpMessageConverter.java:126) W/System.err( 664): at org.springframework.http.converter.AbstractHttpMessageConverter.read(AbstractHttpMessageConverter.java:147) W/System.err( 664): at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:76) W/System.err( 664): at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:655) W/System.err( 664): at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:641) W/System.err( 664): at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:484) W/System.err( 664): at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:439) W/System.err( 664): at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:415) W/System.err( 664): at fr.ydelouis.selfoss.rest.SelfossRest.listTags(SelfossRest.java:225) W/System.err( 664): at fr.ydelouis.selfoss.sync.TagSync.performSync(TagSync.java:32) W/System.err( 664): at fr.ydelouis.selfoss.sync.SyncAdapter.performSync(SyncAdapter.java:40) W/System.err( 664): at fr.ydelouis.selfoss.sync.SyncAdapter.onPerformSync(SyncAdapter.java:32) W/System.err( 664): at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259) W/System.err( 664): Caused by: com.fasterxml.jackson.databind.JsonMappingException: Unknown color (through reference chain: fr.ydelouis.selfoss.entity.Tag["color"]) W/System.err( 664): at com.fasterxml.jackson.databind.deser.SettableBeanProperty._throwAsIOE(SettableBeanProperty.java:510) W/System.err( 664): at com.fasterxml.jackson.databind.deser.SettableBeanProperty._throwAsIOE(SettableBeanProperty.java:493) W/System.err( 664): at com.fasterxml.jackson.databind.deser.impl.MethodProperty.set(MethodProperty.java:116) W/System.err( 664): at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:98) W/System.err( 664): at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:295) W/System.err( 664): at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121) W/System.err( 664): at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:230) W/System.err( 664): at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:207) W/System.err( 664): at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:23) W/System.err( 664): at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2888) W/System.err( 664): at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2094) W/System.err( 664): at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.readInternal(MappingJackson2HttpMessageConverter.java:123) W/System.err( 664): ... 12 more W/System.err( 664): Caused by: java.lang.IllegalArgumentException: Unknown color W/System.err( 664): at android.graphics.Color.parseColor(Color.java:216) W/System.err( 664): at fr.ydelouis.selfoss.entity.Tag.setColor(Tag.java:74) W/System.err( 664): at java.lang.reflect.Method.invokeNative(Native Method) W/System.err( 664): at java.lang.reflect.Method.invoke(Method.java:515) W/System.err( 664): at com.fasterxml.jackson.databind.deser.impl.MethodProperty.set(MethodProperty.java:114) W/System.err( 664): ... 21 more

bacobart commented 9 years ago

Ah. One of my tags had black as colour (i recently changed this, after upgrading to v2.11, so this is what caused some confusion at my end). Which selfoss web app stores as #000. I think the selfoss android app breaks on parsing this shorthand code. I changed the black to a different colour and everything is fine again.

yDelouis commented 9 years ago

Thanks for your help. Android doesn't support parsing color in this format. So there's nothing that I can do on the app side. Could you open an issue on the Selfoss repository ?

bacobart commented 9 years ago

https://github.com/SSilence/selfoss/issues/542

Not sure if they'll fix it, they might argue #000 is a valid color code/format (which it is in html/css) and reason the issue lies with android or selfoss for android... We'll see.

yDelouis commented 9 years ago

I'm not sure either but we will know soon. In all cases, I will try to handle it in the app.