Git Product home page Git Product logo

consuela's People

Contributors

dyslexicanaboko avatar

Watchers

 avatar

consuela's Issues

Files that deny access for deletion

Not sure what to do just yet when a file doesn't allow me to delete it. Example:

System.UnauthorizedAccessException: Access to the path 'C:\Dump\code folder\Projects\.git\objects\pack\pack-faef312b4a7a7c422a8ebb5df628ef23ec9cd14f.idx' is denied.

EDIT: 12/30/2022 - It will require some experimentation, but it might have something to do with attributes. Usually it's because the filename is too long. What I am thinking is providing an explicit option for allowing the application to use CMD when it cannot delete the files via dot net. Shell access should be able to delete those files no problem and more often than not it is indeed the .git folder.

Time doesn't sync when time changes

The time for the program does not sync when the system time is changed. Not sure if I can fix this or not. It's also more of an edge case than anything else, but it does matter as the program will be out of sync until restarted.

Example:
If you are using a VM and you sleep it then wake it up a week later - the locked in time is a week old. Not only has the program missed several clean up cycles potentially, but it has the wrong time in memory too.

Configurable port for web interface

  • Find a way to change the port number to use.
  • Right now any available port number is provider upon launch.
    • Should still have a way to change it just in case there is a weird port conflict.

Wire up Audit toggle and retention

I didn't wire up the Audit toggle or retention because I was trying to get everything to work first before worrying about toggling something like that off. As it is, it will delete everything older than 30 days.

  1. Wire up Audit toggle so it can be turned off.
  2. Wire up Audit retention days in lieu of the hard coded 30 days.

UI Fixes

The UI is hideous by design because UI is not a major part of this application:

  1. Make the UI look better.
  2. Display the current time somewhere on the page for juxtaposition with the next run time.
  3. Create a proper program web shortcut Icon.
  4. Create a different icon for the installer or use the same one from the short cut.

Web management interface

Via a simple MVC web interface, provide a way to handle management of the Profile.json file.

  1. When the settings are changed the file needs to be saved
  2. Verify the profile before saving it, validation of inputs
  3. Give a summary according to the configuration so that user knows what they are expected to get.
  4. Static page with recommended folder structure
  5. Page for displaying the delete operations log
  6. Way to perform clean up on demand
  7. Way to perform dry run on demand

Display next run

Show on the console and the UI when the next run is scheduled to happen. Right now it's impossible to know.

On demand dry run and UI output

I handled live on demand runs in #17, but I didn't handle dry runs.

  1. Better output is needed for last run whether it be on demand live or dry. Should provide at least the statistics of the run and make the UI look better.
  2. The button needs debounce
  3. The Audit link isn't usable in its current form, so a copy to clip board option I think is a fair compromise. You can no longer open folders locally due to security concerns. For now you can right click copy the link to clipboard.

Run acknowledgement

Every time the service runs, it would be nice if there was a way to visually review this.

  • In memory object that stores this information which can be re-called for display on the home page
  • When was the last run?
  • Essentially, display the summary object.
  • Good to know so I can be confident that the service is indeed firing.
  • Quick link to the Audit folder would be nice.

Create installer

It would be nice to just have a simple way to install the application without having to go through all of the steps of installing the service and setting up other things.

On demand runs

There should be two types of runs:

  1. Dry run on demand
  2. Live run on demand

It's easier to test settings if you can just run things live. This will require UI to make it happen and need to be careful that two clean up services are not running simultaneously. This means the scheduled instance gets priority and button mashing must be prevented.

Export statistics data as separate file

Besides the audit log which shows everything as a CSV (mostly). It may be more beneficial to export the statistical information and exceptions as a separate file formatted as JSON so that the structure does not have to adhere to a tabular format.

Profile validation on save

The profile on save needs to be validated

  • Constrain bogus values
  • Handle client side suggestions to avoid errors on the back end
  • The back end needs to validate potential problems too
  • Use Case 1: If the user sets the logging directory to the installation directory this will cause problems for automatically rolling log file clean up. Can't do a star delete, need to be concerned with file types which makes no sense.

Need to look for more problems.

Changes to appsettings.json do not save

I knew it was a crapshoot when I didn't bother testing if what I did was going to work, wishful thinking that it would work outside of development, so I need to figure out why the changes to Host and Port will not save to disk. It does save to memory just fine and it is even recalled from memory in the same run. It just will not save to disk, so I have to figure out how to force that to happen. Not urgent because the appsettings.json can just be edited directly so I don't care too much.

Up the version

  • I keep forgetting to up the version after making changes.
  • I have more changes to make soon so I will just make sure to do it on the next go. Should be version 1.2.

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.