Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NOT AN ISSUE] Directions to take, discussion about versions #53

Open
ThomazPom opened this issue Dec 29, 2023 · 52 comments
Open

[NOT AN ISSUE] Directions to take, discussion about versions #53

ThomazPom opened this issue Dec 29, 2023 · 52 comments
Labels
Not an issue question Further information is requested

Comments

@ThomazPom
Copy link
Owner

Sometimes UltimaDark has to block a resource untill until editing it while browser is able to load big resources in chunks.

This causes slow loading times on websites with moderate to big resources because they ends up chunked, and UD - (UltimaDark) delays them until resource integrity is complete

1.5.21 was about an internal feature called "LiveChunkRepair" which aim to detect where the chunk integrity ends instead of rejecting it as a whole.
1.5.22 is a rollback
1.5.23 is a comeback

@ThomazPom ThomazPom changed the title [NOT AN ISSUE] Directions to take, discutions about versions [NOT AN ISSUE] Directions to take, discussion about versions Dec 29, 2023
@ThomazPom
Copy link
Owner Author

@Vintagemotors

@ThomazPom
Copy link
Owner Author

ThomazPom commented Dec 29, 2023

1.5.23 has been published ! It brings back the LiveChunkRepair internal feature which improves a lot page load speed and feel, now working

@Vintagemotors
Copy link
Collaborator

Sounds good! I will test and report back. As far as feature priorities go I would focus on maximizing how many sites can be darkened first and then add user defined global and per page link colors (unless link colors are comparatively easy to implement) Broader browser compatibility would be nice but I wouldn't consider it a priority. However, testing on older browsers can reveal issues that are hiding in newer browsers since they don't have nearly as robust of error handling - you never really know what current browsers are doing in the background to keep things working.

@Vintagemotors Vintagemotors added the question Further information is requested label Dec 30, 2023
@ThomazPom
Copy link
Owner Author

ThomazPom commented Dec 30, 2023

Maximizing compatibility with various websites is indeed a priority, but you guessed right, implement general overriden colors is very easy to do as it is not "outside the tracks" like all specials methods explained in the readme.
Let's take few next days having a great settings panel, with great options and an intuitive user experience !

@Vintagemotors
Copy link
Collaborator

Vintagemotors commented Dec 30, 2023

I'm thinking something along the lines of

On / Off

Recolor Images ☑

Enable Cache ☑ (May improve performance)

Included sites

 
 

Excluded sites

 
 
 

Report Broken Site (button)

Global Link color override (color picker box)

Global Background color override (color picker box)

Global Text color override (color picker box)

Global Accent color override (color picker box)

Override This site's Link color (color picker box)

Override This site's Background color (color picker box)

Override This site's Text color (color picker box)

Override This site's Accent color (color picker box)

Source Code (Hyperlinked button)

Donate (Hyperlinked button)

@ThomazPom
Copy link
Owner Author

I'm grateful for your labeling and other contributions in this issues section!

@ThomazPom
Copy link
Owner Author

I just released version 1.5.24, and there's a non functional settings page showing my initial ideas. Feel free to drop any suggestions!

@Vintagemotors
Copy link
Collaborator

I would like a "Report site" button at the bottom of the normal extension options along with the "This site" color overrides, if you feel that "Global Overrides" would clutter the main settings that's fair enough.

@ThomazPom
Copy link
Owner Author

ThomazPom commented Dec 31, 2023

Happy New year @Vintagemotors !
I plan to integrate the 'This Site' option into the popup, but I haven't created a mockup for it yet, as it will be a very visible yet non-functional feature.
Same for 'Report This Site' option. I believe both are valuable ideas that I intend to retain. 👍

@ThomazPom
Copy link
Owner Author

Version 1.5.26 doesn't introduce new features, but it addresses structural issues and resolves theorized bugs, enhancing overall consistency, stability, and flexibility. These improvements were essential to incorporate user settings, ensuring a more robust and user-friendly experience.

@ThomazPom
Copy link
Owner Author

1.5.27:

  1. New method (idk_twice) for restoring colors on items which uses variable in element style ( note how tags colors are now working on https://github.com/ThomazPom/Moz-Ext-UltimaDark/issues )
  2. Speed improvement
  3. Bug fixes on regexpes
  4. Better variables isolation technique,
  5. Fixed some backgrounds being transparents
  6. Fixed liveChunkEditor random behaviour
  7. Fixed a loop which could occur and literraly hangs the page forever and the browser
  8. Found out polyfills might could mess up my own code, fixed a bug with shorthand properties

Was a hard one !

@ThomazPom
Copy link
Owner Author

Current versions, particularly 1.5.28 (yet to be released), aim to enhance speed and stability due to my dissatisfaction with blinking page items during prolonged loading times. The implementation involves challenging code development, causing a significant delay between versions. These improvements are essential to address critical issues before finalising the options page. I am well aware of organisational work and labelling you did and very grateful about it.

@ThomazPom
Copy link
Owner Author

Version 1.5.28 is now online.

And it's all about enhancing speed, stability, and preventing certain page elements from blinking during loading.

@Vintagemotors
Copy link
Collaborator

#57 (comment)

@ThomazPom
Copy link
Owner Author

1.5.29 (yet to be released) is about

  1. Handling websites using web workers
  1. Avoiding white flashing when loading an iframe

@ThomazPom
Copy link
Owner Author

1.5.29 (yet to be released) includes a significant leap in the underpinnings of UltimaDark code. An extensive restructuring of the code was necessary, and it's fascinating to observe how each part of the code gradually finds its proper place. These improvements were essential to correctly handle websites using web workers and address some theorised structural issues. I can't overstate how much work has been done since 1.5.28 and how much time it takes but we might expect more site coverage, more speed, more reliability , more stability and quicker future fixes after that.

c7310e4

@ThomazPom
Copy link
Owner Author

ThomazPom commented Jan 11, 2024

Version 1.5.29 is now live.

While it doesn't include all I had planned, enough has been achieved for a release.

  1. Significantly improved the UltimaDark code. I'm hopeful it won't introduce regressions, as I've taken care to restore every functionality. I hope I haven't missed any.
  2. Now handles websites using service workers, but a more understanding is needed : Functionality is optimal for https://soundcloud.com/helious-music and less effective for https://developer.chrome.com/docs/extensions/reference/api/webRequest?hl=en.
  3. Achieved more speed, reliability, and stability and the feeling is great.

Interestingly, I discovered a new darkening method with the same results. Initially, I thought this approach would be better, but it proved otherwise: Link to performance comparison (Note: This link may only work with version 1.5.29, as the function will be deleted in future versions).

@Vintagemotors

This comment was marked as outdated.

@ThomazPom
Copy link
Owner Author

Confirmed 1.5.29 : https://jsben.ch/4pkmK

@ThomazPom

This comment was marked as resolved.

@Vintagemotors

This comment was marked as resolved.

@ThomazPom
Copy link
Owner Author

ThomazPom commented Jan 13, 2024

Version 1.5.33 is now live.

The "Direct Window Export" system is activated for enhanced performance.

This release reinstates and enhances the functionality that addresses non-resolvable colors at level 3. I've categorized color resolution into four levels:

  • 1/4: The color is identifiable, allowing the transformation to be applied. ✅

    • This is the case on any basic website
  • 2/4: The color may be resolvable but requires further operations for identification. ✅
    - Numerous instances on https://stackoverflow.com/questions/1521462/looping-through-the-content-of-a-file-in-bash

  • 3/4: The step 2 failed and color is associated with a variable inside the element, represented as multiple values. ✅

  • 4/4: The step 2 failed and color is associated to a variable inside the element, presented as a single value or another class.

    • This scenario is unprecedented, involves a high cost to verify, and hasn't been implemented as it's not currently required.

@ThomazPom
Copy link
Owner Author

ThomazPom commented Jan 15, 2024

Version 1.5.34 is now live.

Fixed colourisation bugs, added scrollbar as discussed in #42 ( Not as option yet ), fixed page breakage in a very specific case

@Vintagemotors
Copy link
Collaborator

Consider updating the hard minimum version from 48 to 57 in AMO as this is when the WebExtension APIs were introduced. It would be an unreasonable amount of work to back port UltimaDark beyond that point.

@ThomazPom
Copy link
Owner Author

ThomazPom commented Jan 17, 2024

Consider updating the hard minimum version from 48 to 57 in AMO as this is when the WebExtension APIs were introduced. It would be an unreasonable amount of work to back port UltimaDark beyond that point.

Done in 1.5.35 yet to be released

@ThomazPom
Copy link
Owner Author

Version 1.5.35 is now live.

Darkening randomly not applying fix & bugfixes, probable speed enhancement

@ThomazPom
Copy link
Owner Author

Version 1.5.36 is now live.

Fixing another case of darkening not applying, and again probable speed enhancement.

@ThomazPom
Copy link
Owner Author

Version 1.5.37 is now live.

Required Image edition core rewrite. Fixing image bugs is now easier.

@ThomazPom
Copy link
Owner Author

Version 1.5.38 is now live.

Fixing bugs, restored HTML4 edition feature disabled since 1.5.11

@ThomazPom
Copy link
Owner Author

ThomazPom commented Jan 31, 2024

Version 1.5.39 is now live.

I fixed a lot of underlying bugs

Version 1.5.40 is now live.

Fixed a bug with images introduced in previous version

@ThomazPom
Copy link
Owner Author

ThomazPom commented Feb 1, 2024

Version 1.5.42 is now live.

Fixed bugs

@ThomazPom
Copy link
Owner Author

ThomazPom commented Feb 2, 2024

Version 1.5.43 is now live.

Fixed bugs in image edition including it not properly disabling

@ThomazPom
Copy link
Owner Author

ThomazPom commented Feb 2, 2024

Version 1.5.44 is now live.

Fixed Meta , https://gearvr.net/wanted and related issues websites

@ThomazPom
Copy link
Owner Author

Version 1.5.45 is now live.

Fixed CSS parsing issues & some svg image with complex behaviour

@ThomazPom
Copy link
Owner Author

Hi @Vintagemotors
UltimaDark has reached a critical point where making certain edits for optimal rendering on a website will impact other websites. An illustrative example (among others) is when websites incorporate shapes like circles or rectangles as logos parts or backgrounds for other elems. In such instances, determining the appropriate adjustment for color, whether to darken or lighten, becomes not possible, as either choice will impact a portion of websites.

@Vintagemotors
Copy link
Collaborator

@ThomazPom I still think that being able to detect the color of the background that text is being rendered over would help with contrast text issues. A site does not have to be 100% perfect or completely true to its intended design as long as it is not broken to the extent that it is no longer usable. Currently we still have various breaking issues on the sites mentioned in #6 once the more straightforward ones are resolved then you may consider including static changes for parts of some sites (like site logos and which icons to recolor) to ensure they are readable (this is something DarkReader does).

@Vintagemotors
Copy link
Collaborator

As to sites like manjaro.org with weird gradient shape backgrounds, frankly it isn't very readable with or without any page darkening extension so it may be best to just have an option to disable stylized background entirely on a per-site basis.

@ThomazPom
Copy link
Owner Author

Update 1.5.46 (not yet released) deliberately divides images into segments to better analyze individual parts, aiming to detect and preserve photos that should remain unaltered, whether by brightening or darkening. While this brings improvements for https://www.adele.com/Munich/, there are refinements required due to regressions observed on https://www.eevblog.com/forum/index.php.

@ThomazPom
Copy link
Owner Author

Hi @Vintagemotors

I hope you're doing well. I wanted to take a moment to apologize for any inconvenience caused by the delays in our releases. Currently, I'm juggling multiple commitments, including a paid project for a client and my daily job. I truly appreciate your enthusiasm and would love to stay connected more directly. Could we exchange WhatsApp or Signal information?

Looking forward to continuing our collaboration.
Thomas

@Vintagemotors
Copy link
Collaborator

Vintagemotors commented Feb 21, 2024

@ThomazPom Oh, sure! I have been working on some offline commitments also - so I didn't see this until now. I made a WhatsApp for this: I invalidated the link because it shows my phone number which I don't like. How about Telegram?

@ThomazPom
Copy link
Owner Author

ThomazPom commented Feb 23, 2024

@Vintagemotors, I've just established a WhatsApp Community dedicated to UltimaDark, aiming to facilitate efficient communication among us. Through this platform, we can seamlessly share announcements, form groups, accept member access either manually (current setting) or automatically, generate invitation links, and 'ive seen other functionalities. The versatility of WhatsApp offers us other possibilities, but does not (and must not) replaces of traditional GitHub issue comments. The chat format proves to be considerably quicker and more conducive to our discussions, enhancing our collaboration and productivity significantly.

Here is the link of the community ( Announcements )
https://chat.whatsapp.com/IImHAKJx8xMClvDfXEv1vA

Here is the link of the General discussions channel:
https://chat.whatsapp.com/KnMmziA1dr1CaKG6snagiT

@Vintagemotors
Copy link
Collaborator

Joined.

@Vintagemotors
Copy link
Collaborator

@ThomazPom We are getting a lot (relatively) of Firefox for Android reports that aren't readily addressable. I think we need to put a note that it is unsupported somehow when the user tries to install it.

@ThomazPom
Copy link
Owner Author

ThomazPom commented Sep 18, 2024

@Vintagemotors Creating a form for issue reporting is the way to solve this known github issue. We could require users to answer mandatory and key questions including if he uses Android before submitting an issue, which would allow us to automatically flag or reject unsupported requests.
https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms

@Vintagemotors
Copy link
Collaborator

@ThomazPom As far as I can tell there is no way to auto-reject based on platform selection. Perhaps adding a template with checkboxes "I confirm that this issue is for desktop and not mobile" or "I confirm that I am NOT posting an issue for Android because it is unsupported" will stop some of them however.

@Vintagemotors
Copy link
Collaborator

Vintagemotors commented Sep 24, 2024

I made a couple issue templates and they seem to be working. Let me know what you think.

@ThomazPom
Copy link
Owner Author

ThomazPom commented Sep 24, 2024

I’m very satisfied with your proposal. I’ve seen (not tested) the forms, I believe some refinements are necessary. Certain fields, like the logs section, may be overly complex and difficult for non-technical users to fill out and create a lot of noise in the issue text, while other important fields might be missing (not thinked) . It might be useful to review issue templates from similar extensions for inspiration. We maybe might also need to stop having issues compiling lists of broken sites and updates , as it creates never closing issues, and a lot of comments and sometimes list of broken sites in a comment. I’d like to check if there is a github feature like sub issues, or subtasks that would better fit small issues like one unique broken site. However I like the checkbox system for marking them OK.

Thank you again for taking the initiative on this work

@Vintagemotors
Copy link
Collaborator

Vintagemotors commented Sep 24, 2024

To me the problem with changing to tracking every broken site in it's own issue is that it makes testing them a lot more inconvenient and then fixing one of them often seems to fix many others in a lot of cases. I agree that not everyone will be able to figure out how to submit a log so I changed it to not be required. I did reference another project's broken site issue report template but I changed it to fit UltimaDark. I personally don't think the broken site list being in a comment is an issue but there is always room to make things fancier, bearing in mind that at a certain point the administrative overhead of doing so isn't worth it. I also considered making separate lists for sites that are broken and sites that are fixed but then we would have to edit 2 separate posts instead of 1 every time something breaks or is fixed which would be tedious. I couldn't think of anything beyond site URL, screenshots of the site, logs, how it's broken, and what might be breaking it (which is what is in the current form) but if you have ideas for other things that would be useful to you they can of course be added. My concern with changing individual feature requests to their own issues is that some of the feature requests on that list have been there for years so we may end up with a lot of dead issues for feature requests to sift through when looking at normal issues which would make the issue tracker rather congested.

@ThomazPom
Copy link
Owner Author

For the time being, the fact that we've naturally organized and oriented things this way suggests that it's probably one of the best approaches we could take. I hadn't thought as deeply as you have about the 'how' and 'why' behind the way we manage things, but your points make sense. It seems like the current setup just evolved as a practical solution, and your input gives more clarity on why it works.

@ThomazPom
Copy link
Owner Author

ThomazPom commented Sep 30, 2024

We’ve encountered an issue with the current template we’re using for reporting problems. The template includes a field where “# issueid” is mentioned, and this automatically creates links to all the referenced issues. However, this is not what we want. These references are intended to indicate that the issues have been checked and verified not to be related to the current issue.

The problem is that the template is creating unnecessary links to these issues, when the goal is simply to state that they’ve been verified as unrelated. One possible solution would be to use a redirection platform with a link pointing to the issue. This could stop the automatic linking, but it requires routing through an external server before being redirected back. I could even host this on one of my own servers. Ideally, however, we would adjust the template to prevent automatic linking altogether within GitLab.

@ThomazPom
Copy link
Owner Author

ThomazPom commented Sep 30, 2024

  1. We should consider using Discussions on GitHub. They can be a great place for announcements, like version updates, or for creating dedicated channels for discussing the direction of the project. This approach could be even better than WhatsApp for managing such communications.
  2. Some users have found two effective ways to link issues without creating references. You can use the standard link feature to achieve this:
    Using the full ˋwww`domain: [Issue 6](https://www.github.com/ThomazPom/Moz-Ext-UltimaDark/issues/6) This renders as: Issue 6 without creating a reference.
    Using a relative path without the domain: ``` Issue 6 ``` This renders as: Issue 6 without creating a reference.
    More details can be found in the discussion here.

@Vintagemotors
Copy link
Collaborator

I changed them all to www.github.com - hopefully that does indeed work. As for discussions I agree that enabling them is a good idea. I did not anticipate references showing up under issues every time and agree that it is undesirable.

Repository owner deleted a comment from bphd Oct 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Not an issue question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants