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

Support for SimplyPrint cloud integration #4387

Open
wants to merge 26 commits into
base: master
Choose a base branch
from

Commits on Jul 22, 2024

  1. Support for SimplyPrint cloud integration (SoftFever/OrcaSlicer#4525)

    Note: This does not compile. This is an initial port of the commit.
    
    * Make httpserver more generic and reusable
    
    * Add OAuthJob
    
    * Fix issue caused by the fact that the backing widget of the `TextCtrl` is no longer `wxTextCtrl`
    
    * Implement login and token refresh
    
    * Implement file upload
    
    * Try fix build error
    
    * Support BBL printers
    
    * Show error message if user hasn't done OAuth
    
    * Fix typo
    
    * Update error message
    
    * Disable unsupported options when SimplyPrint is selected
    
    (cherry picked from commit e29bbac1933b9b10b24421757c5165d9b1702d06)
    Co-authored-by: Ocraftyone <[email protected]>
    Noisyfox and Ocraftyone committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    8ca2f1d View commit details
    Browse the repository at this point in the history
  2. Various improvements to SimplyPrint integration (SoftFever/OrcaSlicer…

    …#4831)
    
    Note: Does not compile.
    
    * Allow using BBL's device tab when 3rd party print host is used
    
    * Add option to open SimplyPrint panel in device tab after uploading
    
    * Fix default print host for prusa connect
    
    * Do not set api key in device view when SimplyPrint is used
    
    * Sending 3mf file to SimplyPrint when using BBL printers
    
    * Fix file extension when uploading 3mf
    
    * Prepare for large file uploading
    
    * Implement chunk upload
    
    * Fix file uploading exceeding content size
    
    * Fix wrong field type
    
    * Add `temp=true` to all chunk upload calls
    
    * Add macro to enable test api
    
    * Merge branch 'main' into dev/simplyprint-improve
    
    * Fix another missing `temp=true`
    
    * Add delete token
    
    * Try fixing build error on *nix systems
    
    * Merge branch 'main' into dev/simplyprint-improve
    
    * Merge branch 'main' into dev/simplyprint-improve
    
    * Merge remote-tracking branch 'remote/main' into dev/simplyprint-improve
    
    # Conflicts:
    #	src/slic3r/GUI/BackgroundSlicingProcess.cpp
    
    * Move the `bbl_use_print_host_webui` option to print host dialog. Also make it a derived option of `print_host_webui` instead.
    
    * Merge branch 'main' into dev/simplyprint-improve
    
    # Conflicts:
    #	src/slic3r/GUI/MainFrame.cpp
    #	src/slic3r/GUI/Plater.cpp
    
    * Merge branch 'main' into dev/simplyprint-improve
    
    # Conflicts:
    #	src/slic3r/GUI/Plater.cpp
    
    * Use a more generic option instead of SimplyPrint specific
    
    * Merge branch 'main' into dev/simplyprint-improve
    
    * Merge branch 'main' into dev/simplyprint-improve
    
    (cherry picked from commit cd6cd0786fc494d2f1e2fd2123e791f65fbcc97a)
    Co-authored-by: Ocraftyone <[email protected]>
    Noisyfox and Ocraftyone committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    3411a75 View commit details
    Browse the repository at this point in the history
  3. UI Jobs Rework

    Cherry-picked commits from prusa3d/PrusaSlicer related to the new system for UI Jobs
    
    Commits included:
    
    Add comments, remove some redundant template fiddling
    
    Also make ThreadSafeQueueSPSC not copyable and non movable
    
    (cherry picked from commit 7975dfa)
    
    Log time for loading fonts
    
    (cherry picked from commit fe90a88)
    
    log as info job processing time
    
    (cherry picked from commit 2d66607)
    
    Fix crash in gcc on Linux
    
    (cherry picked from commit 155b152)
    
    Trying to fix hanging job tests on windows
    
    The issue might be that the worker's m_running flag is not set atomically. It is possible that the finalize message is pushed and is consumed before setting the running flag to false. See the loop in BoostThreadWorker::run
    
    (cherry picked from commit ca824e0)
    
    Fix return value when create job
    
    (cherry picked from commit 95178a2)
    
    Let's not call yield in PlaterWorker
    
    Not worth the risk, needs further investigation
    
    (cherry picked from commit 345ee7c)
    
    Fix PlaterWorker not calling yield from main thread
    
    Also fix UIThreadWorker not setting busy cursor
    
    (cherry picked from commit cf16daf)
    
    Add UIThreadWorker for debugging and profiling purposes
    
    (cherry picked from commit 9892893)
    
    Clarify comments for thread safe queue
    
    Cleanup
    
    (cherry picked from commit 3a1eee0)
    
    Add possibility to wait for current job to stop.
    
    (cherry picked from commit 43f5e61)
    
    Replace std::variant with boost::variant
    
    Unavailable on MacOS < 1.14
    
    (cherry picked from commit 4d0088e)
    
    Rename start_next() to push
    
    PlaterJob refinements
    
    (cherry picked from commit 583c123)
    
    Fix issue with non atomic transition to running state
    
    After popping a job from input queue
    
    (cherry picked from commit 7e070d3)
    
    Avoid issue with invisible status indication.
    
    (cherry picked from commit 17f4b1b)
    
    Make a PlaterWorker to handle PlaterJobs
    
    (cherry picked from commit 3be7d5f)
    
    Prevent accidental stopping of BoostThreadWorker before destruction
    
    (cherry picked from commit a802bdc)
    
    Rework UI jobs to make them more understandable and flexible.
    
    (cherry picked from commit b53ff75)
    
    Co-authored-by: Filip Sykala - NTB T15p <[email protected]>
    Co-authored-by: Ocraftyone <[email protected]>
    3 people committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    1903eff View commit details
    Browse the repository at this point in the history
  4. Add WindowWorker.hpp

    A copy of PlaterWorker.hpp, but it is for any generic wxWindow
    Ocraftyone committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    93aaee8 View commit details
    Browse the repository at this point in the history
  5. Update ArrangeJob calls

    Ocraftyone committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    a2d9e7b View commit details
    Browse the repository at this point in the history
  6. Fix misnamed type

    Ocraftyone committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    900b30e View commit details
    Browse the repository at this point in the history
  7. Fix include statement

    Ocraftyone committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    e74bdc2 View commit details
    Browse the repository at this point in the history
  8. Try fixing build with gcc 13.3 (SoftFever/OrcaSlicer#5991) (SoftFever…

    …/OrcaSlicer#5992)
    
    (cherry picked from commit adec6b7ebdd91a71c61505dd4e1cc5ee9e17afcc)
    Noisyfox authored and Ocraftyone committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    e4c2a7f View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    8b12a5a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    77ca520 View commit details
    Browse the repository at this point in the history
  11. Add QueuePrint to PrintHostPostUploadAction

    Currently, there is no functionality
    Ocraftyone committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    63d0ace View commit details
    Browse the repository at this point in the history
  12. Add HttpServer::port_type in place of boost::asio::ip::port_type

    The version of Boost used by SuperSlicer does not have this type defined
    Ocraftyone committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    f26be69 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    31503ac View commit details
    Browse the repository at this point in the history
  14. Revert "Fix issue caused by the fact that the backing widget of the `…

    …TextCtrl` is no longer `wxTextCtrl`"
    
    SuperSlicer still uses wxTextCtrl as the sole backing widget of text fields
    Ocraftyone committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    756cc03 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    0bf1782 View commit details
    Browse the repository at this point in the history
  16. Remove device tab logic

    Ocraftyone committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    57dce8a View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    ba2a2c6 View commit details
    Browse the repository at this point in the history
  18. Fix includes

    Ocraftyone committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    41de219 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    1ceb20a View commit details
    Browse the repository at this point in the history
  20. Modify HttpServer

    -Remove BBL specific logic
    
    -Add check for valid request handler on start. With BBL no longer the default, it is possible for a request handler to not be set during development. There is now a check that will throw a RuntimeException if it is not valid.
    Ocraftyone committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    1ce7877 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    b3ff363 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2024

  1. Configuration menu
    Copy the full SHA
    04c0dc4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5524b89 View commit details
    Browse the repository at this point in the history
  3. Change PrintHostPostUploadAction to None

    Post upload actions are handled via the web interface and should not be handled via the slicer
    Ocraftyone committed Aug 14, 2024
    Configuration menu
    Copy the full SHA
    f4365cc View commit details
    Browse the repository at this point in the history
  4. Revert "Add QueuePrint to PrintHostPostUploadAction"

    This reverts commit 63d0ace.
    Ocraftyone committed Aug 14, 2024
    Configuration menu
    Copy the full SHA
    969d066 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2024

  1. Fix small typo

    Ocraftyone authored Aug 25, 2024
    Configuration menu
    Copy the full SHA
    9e8a00a View commit details
    Browse the repository at this point in the history