Giter VIP home page Giter VIP logo

goto.bible's People

Contributors

dependabot[bot] avatar pmachapman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

goto.bible's Issues

Add Māori Bible

It is not available on any API, except maybe DBL. We have a copy of the files from TBS, so a parser will need to be added.

Allow letters in Scripture References

When you view "Philippians 1:18b-26", only verse 26 is highlighted. Highlighting should start at the start of verse 18, or the first full stop or semicolon.

Add Geneva Bible Notes

A user has requested that we add the notes from the Geneva Bible. This will only work on the Windows app at this time.

Fix a crash for https://localhost:44374/Genesis.4_1/ACRAEM

fail: GoToBible.Web.Server.Controllers.RenderPassageController[0]
URL: http://goto.bible/RenderPassage
Referer: https://goto.bible/Acts.9_1/ACRAEM/ENGEVD
RenderingParameters: {"BackgroundColour":{"R":0,"G":0,"B":0,"A":0,"IsKnownColor":false,"IsEmpty":true,"IsNamedColor":false,"IsSystemColor":false,"Name":"0"},"IsDebug":false,"Font":{"Bold":false,"FamilyName":"Calibri","Italic":false,"SizeInPoints":14.25,"Strikeout":false,"Underline":false},"ForegroundColour":{"R":0,"G":0,"B":0,"A":0,"IsKnownColor":false,"IsEmpty":true,"IsNamedColor":false,"IsSystemColor":false,"Name":"0"},"Format":1,"InterlinearIgnoresCase":true,"InterlinearIgnoresDiacritics":true,"InterlinearIgnoresPunctuation":true,"PassageReference":{"End":"","IsValid":true,"Original":"Acts 9:1","Start":"Acts 9:1"},"PrimaryProvider":"DigitalBiblePlatformApi","PrimaryTranslation":"ACRAEM","RenderItalics":true,"SecondaryProvider":"DigitalBiblePlatformApi","SecondaryTranslation":"ENGEVD"}
System.InvalidOperationException: Sequence contains no matching element
at System.Linq.ThrowHelper.ThrowNoMatchException()
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
at GoToBible.Providers.DigitalBiblePlatformApi.GetChapterAsync(String translation, String book, Int32 chapterNumber) in D:\source\repos\GoTo.Bible\GoToBible.Providers\DigitalBiblePlatformApi.cs:line 263
at GoToBible.Engine.Renderer.RenderAsync(RenderingParameters parameters, Boolean renderCompleteHtmlPage) in D:\source\repos\GoTo.Bible\GoToBible.Engine\Renderer.cs:line 106
at GoToBible.Web.Server.Controllers.RenderPassageController.Post(RenderingParameters parameters, Boolean renderCompleteHtmlPage) in D:\source\repos\GoTo.Bible\GoToBible.Web\Server\Controllers\RenderPassageController.cs:line 103

Distribute via Windows Store

We should look into distributing via the Windows Store. This could be done via an MSIX package, and will need to:

  • Include the WebView2 runtime
  • Use only one provider, "GoTo.Bible API"
  • Implement API versioning
  • SQLite caching
  • Hide all debug/complex menu items (use a special "Store" target, with #ifdef WINDOWS_STORE ?)
  • Include a Welcome screen?

Links:

Statistics Reporting

We need a background process to provide monthly statistics reporting via email.

Translation dropdown bug fixes

  • The "King James Version" is displayed as "English King James Version" in the Windows app.
  • The American Standard Version (Byzantine) goes from Romans 0 to Jude 1 and is confusing
  • The spaces are too big for translations with tooltips (compare the English Standard Version to English Standard Version 2007)

Add Developer mode to Windows app

The Windows app needs a developer mode, set via config or a menu if in Debug mode, so that the current functionality can share a codebase with a API dependent Windows client, suitable for public release.

This will help fast track a public Windows client, and improve code reuse.

The renderer may need to have an interface, so we can have a new ApiRenderer, and we will need to add an ApiProvider, so that the Windows app can talk directly to the API like the Blazor app does.

Internet Explorer support

Deploying the WebView2 via the Microsoft Store is problematic.

We should expose WebView and Webview each via a control (maybe EdgeWebView and LegacyWebview?), and allow these to be selected in developer mode (default to IE).

If Webview2 is not found, then use IE (especially for non-developer mode).

Replace Color with a custom colour class

We need to remove the reliance on System.Drawing so that we can port this to Kotlin and Swift.

The code in the VB6 RGB application should help for conversion routines between RGB, HTML, and OLE Colour formats.

We only need RGB, not RGBA support, as the OLE colour conversion loses the A, as well as IsSystemColor and IsNamedColor.

The class should be JSON compliant with Color to maintain API compliance, although the .Net object as a JSON object is not pretty: {"r":0,"g":0,"b":0,"a":255,"isKnownColor":true,"isEmpty":false,"isNamedColor":true,"isSystemColor":false,"name":"Black"}

A compatible class might be: {"r":0,"g":0,"b":0}, although a 255 value will need to be passed if deserialising this to a Color object.

Crash if run from the Program Files directory

The following crash occurs if the program is run form the program files directory. We should have WebView2 create its user data folder in AppData\Local (see also https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/user-data-folder).

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************* Exception Text *************
System.Runtime.InteropServices.COMException (0x800700AA): The requested resource is in use. (0x800700AA)
   at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode)
   at Microsoft.Web.WebView2.Core.CoreWebView2Environment.CreateCoreWebView2ControllerAsync(IntPtr ParentWindow)
   at Microsoft.Web.WebView2.WinForms.WebView2.InitCoreWebView2Async(CoreWebView2Environment environment)
   at GoToBible.Windows.FormMain.InitialiseAsync() in D:\source\repos\GoTo.Bible\GoToBible.Windows\FormMain.cs:line 346
   at GoToBible.Windows.FormMain.FormMain_Load(Object sender, EventArgs e) in D:\source\repos\GoTo.Bible\GoToBible.Windows\FormMain.cs:line 262
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__140_0(Object state)


************* Loaded Assemblies *************
System.Private.CoreLib
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Private.CoreLib.dll
----------------------------------------
GoToBible.Windows
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///E:/Program%20Files/GoTobible/GoToBible.Windows.dll
----------------------------------------
System.Runtime
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Runtime.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 5.0.8.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Windows.Forms.dll
----------------------------------------
System.ComponentModel.Primitives
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.ComponentModel.Primitives.dll
----------------------------------------
System.Windows.Forms.Primitives
    Assembly Version: 5.0.8.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Windows.Forms.Primitives.dll
----------------------------------------
System.Runtime.InteropServices
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Runtime.InteropServices.dll
----------------------------------------
System.Drawing.Primitives
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Drawing.Primitives.dll
----------------------------------------
System.Collections.Specialized
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Collections.Specialized.dll
----------------------------------------
System.Collections
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Collections.dll
----------------------------------------
Microsoft.Web.WebView2.Core
    Assembly Version: 1.0.902.49
    Win32 Version: 1.0.902.49
    CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Web.WebView2.Core.dll
----------------------------------------
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/mscorlib.dll
----------------------------------------
System.Diagnostics.Process
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Diagnostics.Process.dll
----------------------------------------
System.Threading
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Threading.dll
----------------------------------------
System.Diagnostics.TraceSource
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Diagnostics.TraceSource.dll
----------------------------------------
GoToBible.Model
    Assembly Version: 1.1.1.0
    Win32 Version: 1.1.1.0
    CodeBase: file:///E:/Program%20Files/GoTobible/GoToBible.Model.dll
----------------------------------------
Microsoft.Extensions.Caching.Memory
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.20.51904
    CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Extensions.Caching.Memory.dll
----------------------------------------
netstandard
    Assembly Version: 2.1.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/netstandard.dll
----------------------------------------
Microsoft.Extensions.Options
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.20.51904
    CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Extensions.Options.dll
----------------------------------------
Microsoft.Extensions.Caching.Abstractions
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.20.51904
    CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Extensions.Caching.Abstractions.dll
----------------------------------------
GoToBible.Engine
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///E:/Program%20Files/GoTobible/GoToBible.Engine.dll
----------------------------------------
System.Drawing.Common
    Assembly Version: 5.0.0.2
    Win32 Version: 5.0.421.11614
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Drawing.Common.dll
----------------------------------------
Microsoft.Extensions.Logging.Abstractions
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.20.51904
    CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Extensions.Logging.Abstractions.dll
----------------------------------------
System.Collections.Concurrent
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Collections.Concurrent.dll
----------------------------------------
Microsoft.Extensions.Primitives
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.20.51904
    CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Extensions.Primitives.dll
----------------------------------------
Microsoft.Win32.Primitives
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Win32.Primitives.dll
----------------------------------------
System.ComponentModel.EventBasedAsync
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.ComponentModel.EventBasedAsync.dll
----------------------------------------
System.Threading.Thread
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Threading.Thread.dll
----------------------------------------
Accessibility
    Assembly Version: 4.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/Accessibility.dll
----------------------------------------
System.ComponentModel.TypeConverter
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.ComponentModel.TypeConverter.dll
----------------------------------------
Microsoft.Web.WebView2.WinForms
    Assembly Version: 1.0.902.49
    Win32 Version: 1.0.902.49
    CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Web.WebView2.WinForms.dll
----------------------------------------
Microsoft.Win32.SystemEvents
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.20.51904
    CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Win32.SystemEvents.dll
----------------------------------------
System.Runtime.Extensions
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Runtime.Extensions.dll
----------------------------------------
System.ComponentModel
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.ComponentModel.dll
----------------------------------------
System.Memory
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Memory.dll
----------------------------------------
System.Drawing
    Assembly Version: 5.0.8.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Drawing.dll
----------------------------------------
System.Resources.Extensions
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.20.51904
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Resources.Extensions.dll
----------------------------------------
System.ObjectModel
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.ObjectModel.dll
----------------------------------------
System.Linq
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Linq.dll
----------------------------------------
System.Buffers
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Buffers.dll
----------------------------------------
System.Private.Uri
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Private.Uri.dll
----------------------------------------
System.Collections.NonGeneric
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Collections.NonGeneric.dll
----------------------------------------
System.Configuration.ConfigurationManager
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.20.51904
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Configuration.ConfigurationManager.dll
----------------------------------------
System.Security.Cryptography.Algorithms
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Security.Cryptography.Algorithms.dll
----------------------------------------
System.Security.Cryptography.Primitives
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Security.Cryptography.Primitives.dll
----------------------------------------
System.Xml.ReaderWriter
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Xml.ReaderWriter.dll
----------------------------------------
System.Private.Xml
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Private.Xml.dll
----------------------------------------
System.Text.RegularExpressions
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Text.RegularExpressions.dll
----------------------------------------
System.IO.FileSystem
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.IO.FileSystem.dll
----------------------------------------
System.Net.WebClient
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Net.WebClient.dll
----------------------------------------
System.Text.Encoding.Extensions
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Text.Encoding.Extensions.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.dll
----------------------------------------
System.Runtime.Serialization.Formatters
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Runtime.Serialization.Formatters.dll
----------------------------------------
System.Xml.XmlSerializer
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Xml.XmlSerializer.dll
----------------------------------------
System.Threading.Tasks
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Threading.Tasks.dll
----------------------------------------
System.Runtime.InteropServices.RuntimeInformation
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Runtime.InteropServices.RuntimeInformation.dll
----------------------------------------
System.Web.HttpUtility
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Web.HttpUtility.dll
----------------------------------------
System.Threading.ThreadPool
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Threading.ThreadPool.dll
----------------------------------------
System.Diagnostics.StackTrace
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Diagnostics.StackTrace.dll
----------------------------------------
System.Reflection.Metadata
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Reflection.Metadata.dll
----------------------------------------
System.Collections.Immutable
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.Collections.Immutable.dll
----------------------------------------
System.IO.MemoryMappedFiles
    Assembly Version: 5.0.0.0
    Win32 Version: 5.0.821.31504
    CodeBase: file:///E:/Program%20Files/GoTobible/System.IO.MemoryMappedFiles.dll
----------------------------------------

************* JIT Debugging *************

Verse highlighting

We need verse highlighting support if someone specifies a verse or range of verse. If a chapter is specified, there should be no highlighting. We will probably need to implement verse range support for this.

PWA support

The app should be available as a PWA. Obviously, translations will not be cached locally, but we could cache the rendered chapter, and lock the user input if offline.

Improve default comparison options

We may need per-language defaults for comparison options. Comparing the SBLGNT to the TR is a mess because of diacritics, and most English speakers shouldn't care if a word had a comma or not when comparing English translations.

Allow selection of languages

This should be able to be done in the Windows app and the Web app. Default to all selected in Windows, English and Greek on web, and maybe Windows as well. If you open a translation on the web that is not in the allowed languages list, then automatically add that language to the list.

This should help with the translation selection dropdown bloat.

Possible defaults: English, Greek, Hebrew? We might need to change the Comparer to prefix the language name with 1, 2, or 3 for comparison, if we add Hebrew to the top three in sort order.

Fix the back button

When you press the back button, the location changes, but the text and drop downs do not.

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.