Code Monkey home page Code Monkey logo

comicwrap's Introduction

I currently work as a game programmer, but this account only has my personal stuff on it so please excuse the pretty bare commit history!

Profile links at my personal website

comicwrap's People

Contributors

imgbotapp avatar jackv24 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

comicwrap's Issues

Fix System.Net.WebException in TextSource.ReadIntoBufferAsync (System.Threading.CancellationToken cancellationToken)

Version 0.7.0(18)

Stacktrace

AngleSharp.Text.TextSource.ReadIntoBufferAsync (System.Threading.CancellationToken cancellationToken) [0x00083] in <1c51568dc4c94134be66b7abe87d9af2>:0;AngleSharp.Text

AngleSharp.Text.TextSource.ExpandBufferAsync (System.Int64 size, System.Threading.CancellationToken cancellationToken) [0x000ff] in <1c51568dc4c94134be66b7abe87d9af2>:0;AngleSharp.Text

AngleSharp.Html.Parser.HtmlDomBuilder.ParseAsync (AngleSharp.Html.Parser.HtmlParserOptions options, System.Threading.CancellationToken cancelToken) [0x000cb] in <1c51568dc4c94134be66b7abe87d9af2>:0;AngleSharp.Html.Parser

AngleSharp.Html.Parser.HtmlParser.ParseAsync (AngleSharp.Html.Dom.HtmlDocument document, System.Threading.CancellationToken cancel) [0x00095] in <1c51568dc4c94134be66b7abe87d9af2>:0;AngleSharp.Html.Parser

AngleSharp.Html.Parser.HtmlParser.AngleSharp.Html.Parser.IHtmlParser.ParseDocumentAsync (AngleSharp.Dom.IDocument document, System.Threading.CancellationToken cancel) [0x00082] in <1c51568dc4c94134be66b7abe87d9af2>:0;AngleSharp.Html.Parser.HtmlParser.AngleSharp.Html.Parser

AngleSharp.Browser.DefaultNavigationHandler.NavigateAsync (AngleSharp.Io.DocumentRequest request, System.Threading.CancellationToken cancel) [0x00182] in <1c51568dc4c94134be66b7abe87d9af2>:0;AngleSharp.Browser

ComicWrap.Systems.ComicUpdater.DiscoverPages (System.String pageUrl, System.Action`1[T] onFoundArchivePage) [0x0008e] in <61c38377161c4ab091161cfbc5c500d5>:0;ComicWrap.Systems

ComicWrap.Systems.ComicUpdater.UpdateComic (ComicWrap.Systems.ComicData comicData, System.Threading.CancellationToken cancelToken) [0x00203] in <61c38377161c4ab091161cfbc5c500d5>:0;ComicWrap.Systems

ComicWrap.Pages.HomePageModel.Refresh () [0x000d6] in <61c38377161c4ab091161cfbc5c500d5>:0;ComicWrap.Pages

ComicWrap.Systems.ExceptionHandler.LogException (System.Exception e) [0x00006] in <61c38377161c4ab091161cfbc5c500d5>:0;ComicWrap.Systems

AsyncAwaitBestPractices.SafeFireAndForgetExtensions.HandleException[TException] (TException& exception, System.Action`1[TException]& onException) [0x00009] in <6696ad5306ef411db84061a5f1c3ebf8>:0;AsyncAwaitBestPractices

AsyncAwaitBestPractices.SafeFireAndForgetExtensions.HandleSafeFireAndForget[TException] (System.Threading.Tasks.Task task, System.Boolean continueOnCapturedContext, System.Action`1[T] onException) [0x000a3] in <6696ad5306ef411db84061a5f1c3ebf8>:0;AsyncAwaitBestPractices

Reason

System.Net.WebException

Link to App Center

ComicDetailPage page list should auto-scroll to current page

Currently on iOS the list view is reset to top whenever the collection is updated, but stays in the same place on android. This would hopefully be fixed on iOS by improving the behaviour for both platforms to auto centre the current page.

Pages not marked as read if navigation doesn't do full page load

Describe the bug
When navigating within comic website "https://www.nocturnecomic.com/" pages are not marked as read.

To Reproduce
Steps to reproduce the behavior:

  1. Add "https://www.nocturnecomic.com/" as comic
  2. Start reading from any page
  3. Navigate using site next page button
  4. Return to page list
  5. Observe that only the first page was marked as read

Expected behavior
Pages are marked as read after pressing next button

Screenshots
N/A

Smartphone (please complete the following information):

  • Device: Samsung Galaxy S10e
  • OS: Android 10
  • App Version 0.7.1

Page list incorrectly displays pages as read when scrolling

Describe the bug
When scrolling up the page list from pages that have already been read, pages that haven’t been read are displayed as greyed out. If list is scrolled and then scrolled back then different pages are displayed as read/unread.

To Reproduce
Steps to reproduce the behavior:

  1. Tap on comic to open page list
  2. Scroll to read pages
  3. Scroll back up to unread pages
  4. Observe that previously unread pages are now greyed out
  5. Scroll back down
  6. Scroll up again
  7. Observe that different pages are now greyed out

Expected behavior
Pages should consistently display read/unread state.
Smartphone (please complete the following information):

  • Device: iPad Pro
  • OS: iPadOS 13.4
  • App Version 0.6.0

Additional context
Seems to have something to do with the CollectionView recycling.

Light Theme

  • Create light theme
  • Auto switch between light/dark theme based on system theme

Fix Realms.Exceptions.RealmInvalidObjectException in ComicPageData.get_Url ()

Version 0.7.0(7)

Stacktrace

ComicWrap.Systems.ComicPageData.get_Url () <0x104f05310 + 0x00037> in <6303f97cd9a046acb7821255d08edfe7#7b17ca8e70a5fe81d15e12e1a5866c31>:0;ComicWrap.Systems

ComicWrap.Systems.ComicUpdater+<>c__DisplayClass16_3.b__5 (ComicWrap.Systems.ComicPageData p) <0x104f082f0 + 0x0001f> in <6303f97cd9a046acb7821255d08edfe7#7b17ca8e70a5fe81d15e12e1a5866c31>:0;ComicWrap.Systems

ComicWrap.Systems.ComicUpdater+<>c__DisplayClass16_0.b__0 (Realms.Realm realm) <0x104f07920 + 0x0052f> in <6303f97cd9a046acb7821255d08edfe7#7b17ca8e70a5fe81d15e12e1a5866c31>:0;ComicWrap.Systems

ComicWrap.Systems.ComicUpdater.UpdateComic (ComicWrap.Systems.ComicData comicData, System.Threading.CancellationToken cancelToken) <0x104f08350 + 0x00bff> in <6303f97cd9a046acb7821255d08edfe7#7b17ca8e70a5fe81d15e12e1a5866c31>:0;ComicWrap.Systems

ComicWrap.Pages.HomePageModel.Refresh () <0x104f22e50 + 0x003cf> in <6303f97cd9a046acb7821255d08edfe7#7b17ca8e70a5fe81d15e12e1a5866c31>:0;ComicWrap.Pages

ComicWrap.Systems.ExceptionHandler.LogException (System.Exception e) <0x104f09920 + 0x00018> in <6303f97cd9a046acb7821255d08edfe7#7b17ca8e70a5fe81d15e12e1a5866c31>:0;ComicWrap.Systems

ComicWrap.iOS.Application.Main (System.String[] args) <0x104ac7d20 + 0x00023> in <79ebdf27a77f4982aad9318de2645118#7b17ca8e70a5fe81d15e12e1a5866c31>:0;ComicWrap.iOS

Reason

Realms.Exceptions.RealmInvalidObjectException

Link to App Center

Comic data being duplicated by stacked refreshes

Steps to reproduce

  1. Add comic to app
  2. Open ComicDetailPage
  3. Pull to refresh
  4. While still refreshing, back out to HomePage (thus triggering another refresh)
  5. Wait and refresh home page with pull down
  6. Observe comic has been duplicated (and duplication is missing page read status)

Possible Solution

Cancel refreshing when navigating away from pages.

Comic reader page on iOS broken

Opening a page on iOS works on first load (using nasty hack to check if URL is a file), but navigating within page doesn’t work properly.

Get correct comic title on import

Currently comic titles are set as the archive page title, which is often something like " - Archive". It should instead just be the comic name.

Option to still add comic if page discovery fails

Is your feature request related to a problem? Please describe.
Currently when a comic website isn't supported (can't find the page list) it can't be added at all.

Describe the solution you'd like
When comic importing fails the comic should still be added, but it could display an alternate list with a short history of visited pages for the site instead. This would allow a basic level of tracking without needing to support every website, as a backup solution for unsupported sites.

Describe alternatives you've considered
The perfect solution is to support every website, but in the meantime this could be a good backup.

Fix Realms.Exceptions.RealmInvalidObjectException: Attempted to access detached row in NativeException.ThrowIfNecessary (System.Func`2[T,TResult] overrider)

Version 0.7.2(22)

Stacktrace

Realms.NativeException.ThrowIfNecessary (System.Func`2[T,TResult] overrider) [0x00011] in <119ad227bebe47f6863ee43459b73a01>:0;Realms

Realms.MarshalHelpers.GetString (Realms.MarshalHelpers+NativeCollectionGetter getter) [0x0002b] in <119ad227bebe47f6863ee43459b73a01>:0;Realms

Realms.ObjectHandle.GetString (System.IntPtr propertyIndex) [0x00005] in <119ad227bebe47f6863ee43459b73a01>:0;Realms

Realms.RealmObject.GetStringValue (System.String propertyName) [0x00017] in <119ad227bebe47f6863ee43459b73a01>:0;Realms

ComicWrap.Systems.ComicData.get_Id () [0x00008] in :0;ComicWrap.Systems

ComicWrap.Views.ComicInfoViewBase.DownloadCoverImage (ComicWrap.Systems.ComicData comic, System.Threading.CancellationToken cancelToken) [0x000c4] in :0;ComicWrap.Views

ComicWrap.Systems.ExceptionHandler.LogException (System.Exception e) [0x00006] in :0;ComicWrap.Systems

AsyncAwaitBestPractices.SafeFireAndForgetExtensions.HandleException[TException] (TException& exception, System.Action`1[TException]& onException) [0x00009] in <6696ad5306ef411db84061a5f1c3ebf8>:0;AsyncAwaitBestPractices

AsyncAwaitBestPractices.SafeFireAndForgetExtensions.HandleSafeFireAndForget[TException] (System.Threading.Tasks.Task task, System.Boolean continueOnCapturedContext, System.Action`1[T] onException) [0x000a3] in <6696ad5306ef411db84061a5f1c3ebf8>:0;AsyncAwaitBestPractices

Reason

Realms.Exceptions.RealmInvalidObjectException: Attempted to access detached row

Link to App Center

Fix System.NullReferenceException: Object reference not set to an instance of an object in ComicData+<>c__DisplayClass40_0.<RecordHistory>b__0 (Realms.Realm realm)

Version 0.7.2(11)

Stacktrace

ComicWrap.Systems.ComicData+<>c__DisplayClass40_0.b__0 (Realms.Realm realm) <0x105ecf9f0 + 0x00044> in <f020587e821e44928aa9479a171dceda#63eab8697f31c0fdbc7d84c590a9e67e>:0;ComicWrap.Systems

ComicWrap.Systems.ComicDatabase.Write (System.Action`1[T] action) <0x105ed0510 + 0x0003f> in <f020587e821e44928aa9479a171dceda#63eab8697f31c0fdbc7d84c590a9e67e>:0;ComicWrap.Systems

ComicWrap.Systems.ComicData.RecordHistory (System.String url) <0x105ecf720 + 0x00183> in <f020587e821e44928aa9479a171dceda#63eab8697f31c0fdbc7d84c590a9e67e>:0;ComicWrap.Systems

ComicWrap.Systems.ComicUpdater.ImportComic (System.String pageUrl) <0x105ed2ed0 + 0x004e7> in <f020587e821e44928aa9479a171dceda#63eab8697f31c0fdbc7d84c590a9e67e>:0;ComicWrap.Systems

ComicWrap.Systems.ExceptionHandler.LogException (System.Exception e) <0x105ed5ab0 + 0x00018> in <f020587e821e44928aa9479a171dceda#63eab8697f31c0fdbc7d84c590a9e67e>:0;ComicWrap.Systems

ComicWrap.iOS.Application.Main (System.String[] args) <0x104bd3d40 + 0x00023> in <5c4eb9d1ecb2426b844e7b599b2c068d#63eab8697f31c0fdbc7d84c590a9e67e>:0;ComicWrap.iOS

Reason

System.NullReferenceException: Object reference not set to an instance of an object

Link to App Center

New Update indicator

When a new comic page has been added to an existing comic, should show an indicator to show it is new.

  • Show new indicator on new unread pages

    • Unit Test
  • Remove indicator when page read

    • Unit Test
  • No indicator on pages added during import process

    • Unit Test
  • Updates section on HomePage

Home page sorting

Sort button exists currently, but does nothing.

  • Can choose different sorting options
  • Persistent

Sorting Options:

  • Alphabetical
  • Last Read
  • Last Updated

Fix Realms.Exceptions.RealmException: Provided schema version 3 is less than last set version 4. in NativeException.ThrowIfNecessary (System.Func`2[T,TResult] overrider)

Version 0.7.1(19)

Stacktrace

Realms.NativeException.ThrowIfNecessary (System.Func`2[T,TResult] overrider) [0x00011] in <119ad227bebe47f6863ee43459b73a01>:0;Realms

Realms.SharedRealmHandle.Open (Realms.Native.Configuration configuration, Realms.Schema.RealmSchema schema, System.Byte[] encryptionKey) [0x00024] in <119ad227bebe47f6863ee43459b73a01>:0;Realms

Realms.RealmConfiguration.CreateRealm (Realms.Schema.RealmSchema schema) [0x000c1] in <119ad227bebe47f6863ee43459b73a01>:0;Realms

Realms.Realm.GetInstance (Realms.RealmConfigurationBase config, Realms.Schema.RealmSchema schema) [0x0003c] in <119ad227bebe47f6863ee43459b73a01>:0;Realms

Realms.Realm.GetInstance (Realms.RealmConfigurationBase config) [0x0000a] in <119ad227bebe47f6863ee43459b73a01>:0;Realms

ComicWrap.Systems.ComicDatabase.Open () [0x00010] in :0;ComicWrap.Systems

ComicWrap.Pages.SettingsPageModel.RestoreData () [0x0021a] in :0;ComicWrap.Pages

ComicWrap.Systems.ExceptionHandler.LogException (System.Exception e) [0x00006] in :0;ComicWrap.Systems

AsyncAwaitBestPractices.SafeFireAndForgetExtensions.HandleException[TException] (TException& exception, System.Action`1[TException]& onException) [0x00009] in <6696ad5306ef411db84061a5f1c3ebf8>:0;AsyncAwaitBestPractices

AsyncAwaitBestPractices.SafeFireAndForgetExtensions.HandleSafeFireAndForget[TException] (System.Threading.Tasks.Task task, System.Boolean continueOnCapturedContext, System.Action`1[T] onException) [0x000a3] in <6696ad5306ef411db84061a5f1c3ebf8>:0;AsyncAwaitBestPractices

Reason

Realms.Exceptions.RealmException: Provided schema version 3 is less than last set version 4.

Link to App Center

Fix System.Net.WebException in LocalImageService.DownloadImage (System.Uri url, System.String key, System.Threading.CancellationToken cancellationToken)

Version 0.7.1(19)

Stacktrace

ComicWrap.Systems.LocalImageService.DownloadImage (System.Uri url, System.String key, System.Threading.CancellationToken cancellationToken) [0x00080] in :0;ComicWrap.Systems

ComicWrap.Views.ComicInfoViewBase.DownloadCoverImage (ComicWrap.Systems.ComicData comic, System.Threading.CancellationToken cancelToken) [0x00128] in :0;ComicWrap.Views

ComicWrap.Systems.ExceptionHandler.LogException (System.Exception e) [0x00006] in :0;ComicWrap.Systems

AsyncAwaitBestPractices.SafeFireAndForgetExtensions.HandleException[TException] (TException& exception, System.Action`1[TException]& onException) [0x00009] in <6696ad5306ef411db84061a5f1c3ebf8>:0;AsyncAwaitBestPractices

AsyncAwaitBestPractices.SafeFireAndForgetExtensions.HandleSafeFireAndForget[TException] (System.Threading.Tasks.Task task, System.Boolean continueOnCapturedContext, System.Action`1[T] onException) [0x000a3] in <6696ad5306ef411db84061a5f1c3ebf8>:0;AsyncAwaitBestPractices

Reason

System.Net.WebException

Link to App Center

Fix System.NullReferenceException in ComicUpdater.FindPagesFromArchiveList (AngleSharp.Dom.IDocument document)

Version 0.7.1(19)

Stacktrace

ComicWrap.Systems.ComicUpdater+<>c.b__14_0 (System.Threading.Tasks.Task`1[TResult] task) [0x00000] in :0;ComicWrap.Systems

ComicWrap.Systems.ExceptionHandler.LogException (System.Exception e) [0x00006] in :0;ComicWrap.Systems

AsyncAwaitBestPractices.SafeFireAndForgetExtensions.HandleException[TException] (TException& exception, System.Action`1[TException]& onException) [0x00009] in <6696ad5306ef411db84061a5f1c3ebf8>:0;AsyncAwaitBestPractices

AsyncAwaitBestPractices.SafeFireAndForgetExtensions.HandleSafeFireAndForget[TException] (System.Threading.Tasks.Task task, System.Boolean continueOnCapturedContext, System.Action`1[T] onException) [0x000a3] in <6696ad5306ef411db84061a5f1c3ebf8>:0;AsyncAwaitBestPractices

Reason

System.NullReferenceException

Link to App Center

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.