Compare commits

..

6 Commits

Author SHA1 Message Date
f24609c143 fix: Basic auth and password can have non whitspace characters. Fixes 142.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2024-03-13 20:31:24 +01:00
b94d7dc537 Changelog for v124020451 [CI SKIP] 2024-02-14 19:54:05 +00:00
41910cc4cd fix: Fixed handling of position in card adapter.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2024-02-13 21:31:02 +01:00
db166ca9d4 Changelog for v124010301 [CI SKIP] 2024-01-30 19:36:37 +00:00
db0d5a4a85 fix: This may fix the oom errors.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2024-01-29 20:55:29 +01:00
3bc0d7cf95 Changelog for v124010191 [CI SKIP] 2024-01-19 21:16:23 +00:00
7 changed files with 34 additions and 11 deletions

View File

@ -1,3 +1,25 @@
**v124020451**
- fix: Fixed handling of position in card adapter.
- Changelog for v124010301 [CI SKIP]
--------------------------------------------------------------------
**v124010301**
- fix: This may fix the oom errors.
- Changelog for v124010191 [CI SKIP]
--------------------------------------------------------------------
**v124010191**
- fix: moving listeners.
- chore: removed a useless log.
- Changelog for v124010032 [CI SKIP]
--------------------------------------------------------------------
**v124010032**
- fix: Another date format thing.

View File

@ -94,10 +94,10 @@ class ItemCardAdapter(
position: Int,
) {
with(holder) {
val itm = items[position]
val itm = items[holder.bindingAdapterPosition]
handleClickListeners(position)
handleLinkOpening(position)
handleClickListeners(holder.bindingAdapterPosition)
handleLinkOpening(holder.bindingAdapterPosition)
binding.favButton.isSelected = itm.starred
if (appSettingsService.getPublicAccess()) {

View File

@ -45,13 +45,13 @@ class ItemListAdapter(
position: Int,
) {
with(holder) {
val itm = items[position]
val itm = items[holder.bindingAdapterPosition]
binding.root.setOnClickListener {
repository.setReaderItems(items)
c.openItemUrl(
bindingAdapterPosition,
items[bindingAdapterPosition].getLinkDecoded(),
holder.bindingAdapterPosition,
items[holder.bindingAdapterPosition].getLinkDecoded(),
appSettingsService.isArticleViewerEnabled(),
app,
)

View File

@ -89,6 +89,7 @@ abstract class ItemsAdapter<VH : RecyclerView.ViewHolder?> : RecyclerView.Adapte
if (repository.displayedItems == ItemType.UNREAD) {
items.remove(item)
notifyItemRemoved(position)
notifyItemRangeChanged(position, itemCount)
updateItems(items)
} else {
notifyItemChanged(position)

View File

@ -26,7 +26,7 @@ actual class DateUtils {
throw Exception("Unrecognized format for $dateString")
}
} catch (e: Exception) {
Napier.e(e.stackTraceToString(), tag = "DateUtils.parseDate")
Napier.e("parseDate failed", e, tag = "DateUtils.parseDate")
"1991-03-18T03:00:00"
}

View File

@ -422,7 +422,7 @@ class Repository(
val response = api.login()
result = response.isSuccess == true
} catch (cause: Throwable) {
Napier.e(cause.stackTraceToString(), tag = "RepositoryImpl.login")
Napier.e("login failed", cause, tag = "RepositoryImpl.login")
}
}
return result
@ -436,7 +436,7 @@ class Repository(
// a random rss feed, that would throw a NoTransformationFoundException
fetchFailed = !api.getItemsWithoutCatch().success
} catch (e: Throwable) {
Napier.e(e.stackTraceToString(), tag = "RepositoryImpl.shouldBeSelfossInstance")
Napier.e("checkIfFetchFails failed", e, tag = "RepositoryImpl.shouldBeSelfossInstance")
}
}
@ -451,7 +451,7 @@ class Repository(
Napier.e("Couldn't logout.", tag = "RepositoryImpl.logout")
}
} catch (cause: Throwable) {
Napier.e(cause.stackTraceToString(), tag = "RepositoryImpl.logout")
Napier.e("logout failed", cause, tag = "RepositoryImpl.logout")
}
appSettingsService.clearAll()
} else {

View File

@ -441,7 +441,7 @@ class AppSettingsService(acraSenderServiceProcess: Boolean = false) {
login: String,
password: String,
) {
val regex = """\/\/(\D+):(\D+)@""".toRegex()
val regex = """\/\/(\S+):(\S+)@""".toRegex()
val matchResult = regex.find(url)
if (matchResult != null) {
val (basicLogin, basicPassword) = matchResult.destructured