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

Add GUI apps for encoding & decoding input text #309

Merged
merged 1 commit into from
Apr 10, 2024
Merged

Conversation

atc0005
Copy link
Owner

@atc0005 atc0005 commented Apr 10, 2024

Overview

Add new dslg GUI application for decoding input text containing one or more Safe Links URLs (while leaving surrounding text intact). This new GUI app is currently named dslg based on the existing dsl CLI app's functionality and name (with a "g" suffix for "gui").

Add new eslg GUI application for generating faux Safe Links URLs and "scrambled" query parameter encoded URLs for testing purposes. This app is named eslg for "encode Safe Links" and a "g" suffix for "gui".

These new GUI tools use the Fyne toolkit.

This toolkit has different build requirements than the existing CLI usl and dsl tools (e.g., CGO) which necessitated changing the associated Makefile and build container(s) to conditionally apply Fyne toolkit settings just to the GUI application while excluding existing CLI apps.

The end result continues to be portable CLI apps and GUI apps with the minimum OS dependencies possible. See the updated README file for more information.

Refactoring changes have also been applied in an effort to unify functionality between the tools provided by this project. Further refactoring opportunities are available.

Changes

  • add initial GUI apps (see description above)
  • update Makefile to provide conditional build logic
    • Fyne toolkit requires for GUI app
    • general build requirements for CLI apps
    • add podman-quick-build* Makefile recipes
      • podman-quick-build-linux
      • podman-quick-build-windows - podman-quick-build
    • these are intended for (fairly) quick one-off builds of both, just Linux x64 or just Windows x64 assets for testing purposes
  • update README to provide coverage for new GUI apps
    • including updated build and runtime requirements
  • update .github/dependabot.yml file to cover build Dockerfiles
  • update .dockerignore file
    • add missing entry for /dsl
    • add entries for new GUI apps
  • update .gitattributes file
  • swap out single build image for x86 and x64 build images with support for compiling Fyne toolkit applications
  • update RPM and DEB package configs to bundle new GUI apps
  • vendor dependencies
  • extend validation of URLs (general & Safe Links)

References

@atc0005 atc0005 added documentation Improvements or additions to documentation enhancement New feature or request builds dependencies config output/logging packages Related to generated packages for this project (e.g., RPM, DEB) refactor labels Apr 10, 2024
@atc0005 atc0005 added this to the v0.5.0 milestone Apr 10, 2024
@atc0005 atc0005 self-assigned this Apr 10, 2024
Add new `dslg` GUI application for decoding input text containing one
or more Safe Links URLs (while leaving surrounding text intact). This
new GUI app is currently named `dslg` based on the existing `dsl` CLI
app's functionality and name (with a "g" suffix for "gui").

Add new `eslg` GUI application for generating faux Safe Links URLs and
"scrambled" query parameter encoded URLs for testing purposes. This
app is named `eslg` for "encode Safe Links" and a "g" suffix for "gui".

These new GUI tools use the Fyne toolkit.

This toolkit has different build requirements than the existing CLI
`usl` and `dsl` tools (e.g., CGO) which necessitated changing the
associated Makefile and build container(s) to conditionally apply Fyne
toolkit settings just to the GUI application while excluding existing
CLI apps.

The end result continues to be portable CLI apps and GUI apps with the
minimum OS dependencies possible. See the updated README file for more
information.

Refactoring changes have also been applied in an effort to unify
functionality between the tools provided by this project. Further
refactoring opportunities are available.

CHANGES

- add initial GUI apps (see description above)
- update `Makefile` to provide conditional build logic
  - Fyne toolkit requires for GUI app
  - general build requirements for CLI apps
  - add `podman-quick-build*` Makefile recipes
    - `podman-quick-build-linux`
    - `podman-quick-build-windows`
    - `podman-quick-build`
  - these are intended for (fairly) quick one-off builds of both, just
    Linux x64 or just Windows x64 assets for testing purposes
- update `README` to provide coverage for new GUI apps
  - including updated build and runtime requirements
- update `.github/dependabot.yml` file to cover build Dockerfiles
- update `.dockerignore` file
  - add missing entry for `/dsl`
  - add entries for new GUI apps
- update `.gitattributes` file
- swap out single build image for x86 and x64 build images with
  support for compiling Fyne toolkit applications
- update RPM and DEB package configs to bundle new GUI apps
- vendor dependencies
- extend validation of URLs (general & Safe Links)

refs GH-225
@atc0005 atc0005 merged commit 5f018e0 into master Apr 10, 2024
31 checks passed
@atc0005 atc0005 deleted the i225-add-gui-apps branch April 10, 2024 12:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
builds config dependencies documentation Improvements or additions to documentation enhancement New feature or request output/logging packages Related to generated packages for this project (e.g., RPM, DEB) refactor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add GUI app for decoding input text
1 participant