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

Maintenance #1

Closed
wants to merge 5,533 commits into from
Closed

Maintenance #1

wants to merge 5,533 commits into from

Conversation

gruvin
Copy link
Owner

@gruvin gruvin commented Jun 8, 2017

Thank you for your interest into contributing to OctoPrint, it's
highly appreciated!

Please make sure you have read the "guidelines for contributing" as
linked just above this form, there's a section on Pull Requests in there
as well that contains important information.

As a summary, please make sure you have ticked all points on this
checklist:

  • Your changes are not possible to do through a plugin and relevant
    to a large audience (ideally all users of OctoPrint)
  • [NA] If your changes are large or otherwise disruptive: You have
    made sure your changes don't interfere with current development by
    talking it through with the maintainers, e.g. through a
    Brainstorming ticket
  • Your PR targets OctoPrint's devel branch, or maintenance if it's
    a bug fix for an issue present in the current stable version (no PRs
    against master or anything else)
  • Your PR was opened from a custom branch on your repository
    (no PRs from your version of master, maintenance or devel please),
    e.g. dev/my_new_feature
  • Your PR only contains relevant changes: no unrelated files,
    no dead code, ideally only one commit - rebase your PR if necessary!
  • Your changes follow the existing coding style
  • [NA] If your changes include style sheets: You have modified the
    .less source files, not the .css files (those are generated with
    lessc)
  • You have tested your changes (please state how!) - ideally you
    have added unit tests
  • [NA -- terminal.js is not tested there] You have run the existing unit tests against your changes and
    nothing broke
  • [meh :p] You have added yourself to the AUTHORS.md file :)

Feel free to delete all this help text, then describe
your PR further. You may use the template provided below to do that.
The more details the better!


What does this PR do and why is it necessary?

The Terminal tab in OctoPrint erroneously filters valid GCODE. This fixes that.
Examples of code no currently accepted include:
+ G38.2 ...
+ M117testing [no space]
+ G1X10 [no space]

How was it tested? How can it be tested by the reviewer?

By manually typing (complete versions of) the above gcode commands into the terminal and pressing enter, while observing the message received by the printer's gcode interpreter.

Any background context you want to provide?

I'm working on Redeem, as of recent. We're aiming to make it properly GCODE compliant (RS274/NGC v3 for now), so as to eventually work with a large range of CNC machines, not just 3D Printers. OctoPrint is the terminal of choice, since I am currently developing on a 3DP. Then I found out I could even send GNN.nn commands. Hence this PR.

What are the relevant tickets if any?

None

Screenshots (if appropriate)

NA

Further notes

Oh ... I think I've said more than enough. hehe Catch you on Patreon some day.

@foosel
Copy link

foosel commented Feb 23, 2018

Hey, I just found this by pure accident since it was linked with a teeny tiny "#1" on a commit I looked up in my own maintenance branch. It looks like something went wrong with this PR and you created one from my maintenance branch to your PR branch in your own repository instead of the other way around in my repository. Which also means I never saw it until just now.

Sounds like you found and fixed a couple of bugs though, so - maybe you want to do this the right way around? :)

gruvin pushed a commit that referenced this pull request Dec 5, 2020
jneilliii and others added 27 commits February 9, 2022 18:53
* adds a setting for sd cancel command, #4368
not binding to settingsViewModel as expected, needs adjustment to API?

* add settings API bits for binding issue

* instantiate setting on init.
Otherwise we'll run into an error comparing with
Flask's timezone aware headers.

Fixes #4410
* Added FileMove- and FolderMove-Event

* fixing the code formatting rules

* 📝 Set version number

Co-authored-by: Gina Häußge <gina@octoprint.org>
  * Initial work for temperature markings
  * Made markings label always stay on graph
  * Made the markings persist after reload
  * Added myself to authors
  * Fixed prettier issues
  * Made markings types lower case and added Done marking
  * Code cleanup
  * Made markings expire after a while
  * Code cleanup
  * Some CSS changes & make it optional

Co-authored-by: Gina Häußge <gina@octoprint.org>
* settings: reimplement storage chainmap

This implementation is mostly compatible with the previous one, but in
my opinion is much easier to read and much easier to reason about.

The areas of incompatiblity are, in my opinion, bugs that have been
fixed.

* 💚 Fix a failing test

Slight behaviour change means there's no emtpy
dict left in the top layer but the whole key
is gone.

* 🎨 Let pre-commit do its thing after merge

Co-authored-by: Gina Häußge <gina@octoprint.org>
Also let pr-validation create reviews instead of
just comments.
Something's up with the cypress update and 
I can't reproduce it locally. Need to find a
way to repro first, then fix, then reenable.
foosel and others added 29 commits August 3, 2022 13:43
* No longer assume SD card is always available on Repetier

Drop sdAlwaysAvailable handling and react on Repetier
firmware messages related to SD cards. Octoprint
already handles some of these messages, so only
add missing pieces.

While at it also handle M22 release message for prusa firmware
("SD card released").

* 🚸 Move "sdAlwaysPresent" option in settings

With it no longer being set during auto detection or
Repetier specific, it makes sense to move it out
of the former location and into an advanced settings
area.

Co-authored-by: Gina Häußge <gina@octoprint.org>
* Add aria labels and roles for accessibility

* Add aria-labels for bundled plugins

Co-authored-by: Gina Häußge <gina@octoprint.org>
* Fire action hooks on ALL actions, not just unhandled ones

* Add my name to the list

Co-authored-by: Gina Häußge <gina@octoprint.org>
The redirect parameter to the login dialog now gets restricted to local URLs (as detected by unset scheme & netloc) that match a short list of allowed endpoints routes.
…4588)

* Notify user if file or folder removal fails

* Improve error messages for failed file or folder removal

* Notify user if file is too large to upload

* Improve notification for failed file and folder uploads
Lowercasing entire path causes wrong dir to be used in some cases like
.octoprint/virtualsd instead of .octoprint/virtualSd.
Flask 2.2 requires werkzeug 2.2 which we can't
upgrade to due to flask-login, and the current
version pins might be causing issues in the
field.

TODO for 1.9.0: upgrade werkzeug & flask if
possible with flask-login.
The cookie are port specific, so they need to be
determine from the port from the base URL.
Uses native grep if available, otherwise falls back
to a python implementation.

Migrated from FileCheck plugin.
* Restore doesn't restore plugins versions.

It isn't obvious that restore doesn't restore plugin version.

* Update docs/bundledplugins/backup.rst

Co-authored-by: Charlie Powell <31997505+cp2004@users.noreply.github.com>
Should reduce likelihood of brute force attacks
on unsecure networks if users decide to deploy/make
OctoPrint accessible there against all advice to
the contrary.
- Use "M20 L T" (if CAPABILITY_EXTENDED_M20 is available) which gives
  us long file names but also file timestamps.
- Wire up that timestamp into "date" field which gives us "Uploaded: ...
  ago" for files on SD card. Sorting by upload date also works.
- Implementing this also fixes parsing of response to (for example
  manually sent) "M20 T" command. Octoprint assumed that third entry
  in response is always long file name while with M20 T it is timestamp.
- Add conversion routines between M20 T timestamp and unix timestamp. Wire
  up that conversion in virtual printer.

See also https://reprap.org/wiki/G-code#M20:_List_SD_card
Long filenames like 'more   than   one   space.gcode' were shown in the UI as 'more than one space.gcode'
Admins may still change existing user account passwords without
having to enter the current one, however the regular user oriented
password change dialog has been adjusted to require entry of the
current password. The API has been locked down accordingly and
the password change endpoint has seen a small change due to that,
please refer to the updated documentation.
Announcements will now no longer trigger
a popup (unless from a priority 1 channel
like Important) but instead cause an
unread counter to be rendered on the
notification icon (1-9 and infinity symbol
for more). The announcement reader has
been extended by a default "Unread" tab
that shows all unread news items, and
a Mark All Read button has been added to
quickly get rid of the unread counter
altogether.

Should improve UX by reducing notification
spam significantly.
@gruvin gruvin closed this Sep 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet