Closes #1646 derive_vars_dtm inconsistent results for release

Thank you for your Pull Request! We have developed this task checklist from the Development Process Guide to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your code as well as making sure the admiral codebase remains robust and consistent.
Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the devel branch until you have checked off each task.

[x] Place Closes #<insert_issue_number> into the beginning of your Pull Request Title (Use Edit button in top-right if you need to update)
[x] Code is formatted according to the tidyverse style guide. Run styler::style_file() to style R and Rmd files
[x] Updated relevant unit tests or have written new unit tests, which should consider realistic data scenarios and edge cases, e.g. empty datasets, errors, boundary cases etc. - See Unit Test Guide
[x] If you removed/replaced any function and/or function parameters, did you fully follow the deprecation guidance?
[x] Update to all relevant roxygen headers and examples, including keywords and families. Refer to the categorization of functions to tag appropriate keyword/family.
[x] Run devtools::document() so all .Rd files in the man folder and the NAMESPACE file in the project root are updated appropriately
[x] Address any updates needed for vignettes and/or templates
[x] Update NEWS.md if the changes pertain to a user-facing function (i.e. it has an @export tag) or documentation aimed at users (rather than developers)
[x] Build admiral site pkgdown::build_site() and check that all affected examples are displayed correctly and that all new functions occur on the "Reference" page.
[x] Address or fix all lintr warnings and errors - lintr::lint_package()
[x] Run R CMD check locally and address all errors and warnings - devtools::check()
[x] Link the issue in the Development Section on the right hand side.
[x] Address all merge conflicts and resolve appropriately
[x] Pat yourself on the back for a job well done! Much love to your accomplishment!

Changing from hotfix to regular release, changed the branch name, which closed (remains unmerged) previous PR: https://github.com/pharmaverse/admiral/pull/1685
Proposed solution:

Add warning if user uses highest_imputation = "Y" and does not specify min_dates/max_dates as documentation explicitly states. (The caveat is we run this exact condition behind the scenes in restrict_imputed_dtc_dtm() so I suppressed the warning in there)
Add error if user specifies min_dates or max_dates whose vectors' inside the list of dates lengths do not match the length of the dates to be imputed
The imputation of 0-01-01 should be fixed with @bundfussr 's recommendation from here

Pausing for feedback/review before making the same changes for the respective _dt() functions

@zdz2101 , I think you can do the same changes for the *_dt() functions.

@bundfussr Ive applied the changes to the *_dt() functions and the appropriate unit-tests


Position counter for OfficerProfile

What's your idea?
Currently, the order of which officers appear on the officer sections depends on where they're placed in the list inside officers.ts
Since some people have promoted from their first role(s), they might need to be moved higher in the grid compared to last year.  We should make a position counter in the officers.ts that lets us place people in any order.
For example...
Spring 21
{
    name: "GENERIC NAME",
    positions: {
      [TERM_SPRING_21]: "Officer",
      [POS_SPRING_21]: "3",
    },
    picture: "generic-name.png",
},

Fall 21
{
    name: "GENERIC NAME",
    positions: {
      [TERM_SPRING_21]: "Officer",
      [POS_SPRING_21]: "3",
      [TERM_FALL_21]: "President",
      [POS_FALL_21]: "1", // moves them higher in the list for fall 21
    },
    picture: "generic-name.png",
},

We could have enums for specific tiers maybe and in each tier, people will be sorted alphabetically maybe.
enum Tier {
  First, // Would be used for the president
  Second, // Maybe Vice President
  General, // Other acm general peeps
  CreateLeader, // Saved for the Create director/lead/president
  Create, // Then create officers,
  DevLeader, // Saved for the dev leader
  Dev, // then dev officers
  // etc...
}

The TypeScript enum by default will conveniently generate the enum values like First=0, Second=1, General=2, etc. We can use this to our advantage in our sorting/filtering implementation. After sorting by tier, the officers will be sorted alphanumerically by name.
Then, we can just change the position object to map to something like this instead of just their position title. While we are at it, let's change the type of the positions property to make more sense. See the snippet below.
export enum Term {
  Spring21,
  Fall21,
  Spring22,
}

export interface OfficerPosition {
  title: string;
  term: Term;
  tier: Tier;
}

export interface Officer {
  name: string;
  positions: OfficerPosition[];
  picture?: string;
  url?: string;
}

Then the officer would be expressed in an array, as demonstrated below.
[
  {
    name: "Mike Ploythai",
    picture: "mike-ploythai.png",
    positions: [{
      title: "Create Officer",
      term: Term.Spring21,
      tier: Tier.Create,
    }, {
      title: "Create Director, Marketing Chair",
      term: Term.Fall21,
      tier: Tier.CreateLeader,
    }],
  },
  // ...
]


fix: fixes #32

added links to latest rendered drafts

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Oliver Terbu seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@kthomas - Could you please approve this request so we can merge ? Thank you.

@awoie ... the CLA needs to be signed or you need to be added to the ConsenSys CLA @humbitious ... who can add Oliver to the ConsenSys Org for Baseline so he shows as having signed the CLA? Thank you!


Some grammatical changes to README.md

Line 67 ("Change 'MongoLab's Website' to 'mLab's Website'.")
Line 107 (Removed 'for')
Line 146 (Added an 's' to project)
Line 191 (Grammar Changes)
Line 232 (Missing 's' on 'define')
Line 366 (Added comma before 'when configured correctly')

Thanks! Let's get this README improved.


Can't upload a TIC file to the website

zolatunewip.zip
"Please add at least TITLE, AUTHOR and COVER (by press F7) metadata to the cartridge and try again."
I did add the "Cover" metadata tag inside the cartridge, but it doesn't want to be uploaded on the site! What am I doing wrong?

Seems you pressed F7 to assign cover and haven't saved it.
I looked into your cartridge and it doesn't have cover.
closing...

Oh gosh. Tried and still nothing
zolatunewip.zip

still nothing

Thanks! Check the cartridge out on the website! https://tic.computer/play?cart=203


Remove paragraph tags from brief response questions

Since new questions aren't being processed with markdown there's no paragraph tag inside a span.

👍


Extend the length of the Website URL field to 500 chars

PR for #416

Coverage remained the same at 93.999% when pulling 25b3b850800b776ab2c1641030e5fe8d63201ba5 on website-url-length into<PHONE_NUMBER>38f350ab42e281c702b374702271e1 on master.

Coverage remained the same at 93.999% when pulling 25b3b850800b776ab2c1641030e5fe8d63201ba5 on website-url-length into<PHONE_NUMBER>38f350ab42e281c702b374702271e1 on master.


WIP: rust xcrate issue with free function

rust_xcrate test: pass the free function types defined in another interface

A similar issue at https://github.com/bytecodealliance/wasm-tools/issues/1685 was opened on wasm-tools and in debugging that the test case I've mentioned in that issue reproduces the same issue here. I'll work on fixing this over there so I'm going to close this in favor of that issue.


dts: edtlib: Require properties to have 'required: true/false'

I can't find a justification for why in the commit logs; did I miss something? What makes the extra boilerplate worthwhile?

I can't find a justification for why in the commit logs; did I miss something? What makes the extra boilerplate worthwhile?

it was an old PR from Ulf that never got merged because of CI failures.  I think it was a cleanup - my guess is that it might be the only property that we infer by its lack of being there, vs explicitly having it set one way or the other.

I think it was a cleanup - my guess is that it might be the only property that we infer by its lack of being there, vs explicitly having it set one way or the other.

But enum and const can be missing too, and they have well defined meanings in that case (any value of the type is OK / no constant value).
I'm with @gmarull; why bother with the extra typing if the current way works fine?

Works for me, will close out this PR.


[stable/coredns] change pod app label to match selector (#8419)

What this PR does / why we need it: Fixes the app label of generated pods so they match the selector in the deployment. Without it, the generated deployment will be invalid.
Which issue this PR fixes

fixes #8419

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @linki

Hello, maintainers! Can you approve the pr?

closing this pr as it's a dupe of #7736


[NextJS] global.css is required in for Stylex to function.

The problem
I noticed when starting from a blank NextJS (v14) project that styleX stops working when the global.css file is removed from the root layout file. The classes generated by styleX are applied to the relevant elements but no styles are applied.
How to reproduce
Steps to reproduce:

Create a new NextJS project.
Removed the boilerplate files, keep layout & page files.
Follow the instructions from the StyleX docs for NextJS to config it.
Remove the global.css import from the layout file.
Should see an unstyled page and that the StyleX styles have no effect

Expected behavior
I would have expected StyleX to work without the global.css file.
Environment (include versions). Did this work in previous versions?
NodeJS v20.5.1 (this is the only version I have tried).
NextJS 14.0.1 (this is the only version I have tried).

This is a known issue and something we can't fix in the near term. I've reached out to folks from the NextJS team for help and hope to improve the situation early next year.

Thanks @nmn, could it be worth mentioning this in the docs in the meantime ?

I'll have a fix ready very soon!

Duplicate of #109


mark.js no longer works with the SeekingAlpha.com website

I have been using mark.js to highlight keywords on the SeekingAlpha.com website.
Unfortunately, they have just recently made some changes to the way their content is displayed on their website, and mark.js no longer highlights any keyword. It worked for years, until now.
For testing purposes, I used this Tampermonkey/mark.js code:
// ==UserScript==
// @name         Test mark.js
// @namespace    http://tampermonkey.net/
// @require      https://cdn.jsdelivr.net/mark.js/8.8.3/mark.min.js
// @include      *
// ==/UserScript==
var instance = new Mark(document.querySelector("body"));
instance.markRegExp (/the/i, {
});
One of the main sections of the website is their 'Analysis' section, here: https://seekingalpha.com/symbol/AAPL/analysis
Most of the articles are locked (premium access only), but some are free to read, such as the one below. But if you give it a test run, you will see that nothing gets highlighted, even though the mark.js script is indeed executed by the Tampermonkey extension. Here's the article...
https://seekingalpha.com/article/4380616-massive-opportunity-in-digital-transformation-jon-markman-joins-alpha-trader-podcast
I tried changing the 'document.querySelector' value, but nothing seemed to work!
Is there anything I can do to make mark.js work with this website too?
If someone could please take a few minutes to see what's the problem, that would be great and much appreciated. Highlighting important keywords/phrases speed up the reading time so much, especially for long articles such as the one above.
Thank you!
Alexander

Hello @Alex839,
It's working when adding the script manually and running mark.js. So it must be related to Tempermonkey or something else. I've executed your mentioned code directly and it works:

I'm unexperienced with Tempermonkey, thus I can't help here. But mark.js itself works also on this website.

Hello @Alex839,
It's working when adding the script manually and running mark.js. So it must be related to Tempermonkey or something else. I've executed your mentioned code directly and it works:

I'm unexperienced with Tempermonkey, thus I can't help here. But mark.js itself works also on this website.

Thank you for your answer, Julian!
I'm glad to find out it's working without using Tempermonkey. On top of that, just a while ago I found the solution to make it work with Tempermonkey too!
It seems the SeekingAlpha.com scripts interfere somehow with mark.js, and the solution I found is to have mark.js executed after the website has fully loaded. I used the "document.readyState === 'complete'" function to check for that.
Anyway, delaying its execution solved the problem! I still need to use Tempermonkey because mark.js is part of a larger script and they are all executed at the same time by this FireFox extension.
Alex

Thank you for your answer, Julian!
I'm glad to find out it's working without using Tempermonkey. On top of that, just a while ago I found the solution to make it work with Tempermonkey too!
It seems the SeekingAlpha.com scripts interfere somehow with mark.js, and the solution I found is to have mark.js executed after the website has fully loaded. I used the "document.readyState === 'complete'" function to check for that.
Anyway, delaying its execution solved the problem! I still need to use Tempermonkey because mark.js is part of a larger script and they are all executed at the same time by this FireFox extension.
Alex


Native 64bits support

Updated the branch to latest changes, and targets development branch instead of the, back then required, fd5 one.
See PR #732 for further details.

@Meychi it's good for me, but it may have an impact in terms of setup. Both versions need to be built by the CI.
On my computer, x86 target builds the 32bits version and Any CPU target builds the 64bits version.


template selection

add selection to templates

I don't have a problem merging this in for now, but it will need to be implemented a bit differently in the new Templating plugin, but I will worry about those details.
@dwertheimer Do you have time to review the PR locally and make sure it all works?  On the surface, seems it will be just fine.  If all works as expected, feel free to release.
@m1well Thanks for the temporary implementation :-)

This will be a good addition. (Assuming the selection is still available via Editor.selectedParagraphs at this stage in the process of applying a template.)

Thanks @m1well


Fields are mixed up.

An Elune's Grace missing field has also been added.

hm, are there more issues like this?
These defs got generated and the "defx" might be wrong elsewhere?
Thanks for fix 👍

A quick check doesn't show any other such issue in AbilityObjEditing. The only thing is Def4 and Def3 fields in Elune's Grace definition that are missing too. But these fields don't realy work for this ability. The only fields that actually work are Def1, Def2 and Def5.


Re-enable test now that HEAD is fixed

Changes
/kind cleanup
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[ ] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[ ] Commit messages follow commit message best practices
[ ] Release notes block has been filled in or deleted (only if no user facing changes)

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes
NONE

/assign @afrittoli @vdemeester @ImJasonH

Related: https://github.com/tektoncd/pipeline/pull/3766


installed CMake could be improved for using Siconos as a library

Out of curiosity I thought I'd see if CMake would take care of problems encountered in the previous issue, since this is mostly a CMake project:
cmake_minimum_required(VERSION 3.10)
project(KernelDevTest)
find_package(siconos)
include_directories(${siconos_INCLUDE_DIR})
link_libraries(${siconos_LIBS})
add_executable(KernelDevTest KernelDevTest.cpp)

After fixing a couple of things, finally,
$ cmake .
-- HDF5: Using hdf5 compiler wrapper to determine C configuration
-- Configuring done
-- Generating done
-- Build files have been written to: /home/sinclairs/projects/debian/siconos/debian/tests

but unfortunately,
$ make
[ 50%] Building CXX object CMakeFiles/KernelDevTest.dir/KernelDevTest.cpp.o
/home/sinclairs/projects/debian/siconos/debian/tests/KernelDevTest.cpp:1:10: fatal error: SiconosKernel.hpp: No such file or directory
    1 | #include "SiconosKernel.hpp"

Okay there is no variable ${siconos_INCLUDE_DIR} or ${siconos_INCLUDE_DIRS} so I'll add it manually:
cmake_minimum_required(VERSION 3.16)
project(KernelDevTest)
find_package(siconos)
include_directories(/usr/include/siconos)
include_directories(/usr/include/siconos/numerics)
include_directories(/usr/include/siconos/kernel)
link_libraries(siconos_numerics siconos_kernel)
add_executable(KernelDevTest KernelDevTest.cpp)

But still!
$ cmake .
-- HDF5: Using hdf5 compiler wrapper to determine C configuration
-- Configuring done
-- Generating done
-- Build files have been written to: /home/sinclairs/projects/debian/siconos/debian/tests

sinclairs@035d759ffae4:~/projects/debian/siconos/debian/tests (wip-nextrelease)
$ make
Scanning dependencies of target KernelDevTest
[ 50%] Building CXX object CMakeFiles/KernelDevTest.dir/KernelDevTest.cpp.o
In file included from /usr/include/siconos/kernel/SiconosMatrix.hpp:29,
                 from /usr/include/siconos/kernel/BlockMatrix.hpp:27,
                 from /usr/include/siconos/kernel/Utils.hpp:23,
                 from /usr/include/siconos/kernel/SiconosKernel.hpp:25,
                 from /home/sinclairs/projects/debian/siconos/debian/tests/KernelDevTest.cpp:1:
/usr/include/siconos/numerics/CSparseMatrix.h:49:10: fatal error: cs.h: No such file or directory
   49 | #include "cs.h"

Finally the right one:
cmake_minimum_required(VERSION 3.16)
project(KernelDevTest)
find_package(siconos)
include_directories(/usr/include/siconos)
include_directories(/usr/include/siconos/numerics)
include_directories(/usr/include/siconos/kernel)
include_directories(${SuiteSparse_CXSparse_INCLUDE_DIR})
link_libraries(siconos_kernel)
add_executable(KernelDevTest KernelDevTest.cpp)

And this one works!  But it's a lot of things to need to add and to know just to use Siconos as a library.  Can we improve it?  Should we add siconos_INCLUDE_DIR(S?) and siconos_LIBS as output variables for use with find_package?  What is the correct way to tell user programs they also need the SuiteSparse include path?

(By the way FindSuiteSparse.cmake was not installed causing cmake to fail, I will push a commit to fix this.)

FindSuiteSparse fixed in da83b9266710b7a998321b9756fb288edbd3da91

I realized maybe i needed to specify the components to find_package, so one line changed to:
find_package(siconos COMPONENTS numerics kernel)

However this results in,
CMake Warning at CMakeLists.txt:3 (find_package):
  Found package configuration file:

    /usr/lib/cmake/siconos-4.2.0/siconos-config.cmake

  but it set siconos_FOUND to FALSE so package "siconos" is considered to be
  NOT FOUND.

I'll look into that.

Okay in the other issue @fperignon mentioned that it should be Siconos::externals rather than depending on siconos_INCLUDE_DIRS or whatever, that sounds like better, more modern use of CMake so I'll check that out tomorrow and close this if it seems I was just doing something wrong.

alright i found that the following minimal cmake works,
cmake_minimum_required(VERSION 3.16)
project(KernelDevTest)
find_package(siconos)
find_package(Boost)
include_directories(${SuiteSparse_CXSparse_INCLUDE_DIR})
link_libraries(Siconos::numerics)
link_libraries(Siconos::kernel)
add_executable(KernelDevTest KernelDevTest.cpp)

Actually I was surprised that even include_directories(Siconos::kernel) is not needed, apparently link_libraries takes care of that?
Anyways, the SuiteSparse line can be removed after @xhub's latest commit so I'll close this.
(imho user shouldn't have to ask for Boost and numerics if it's only using Siconos kernel... maybe at least "find_package(Boost)" can be moved into siconos's cmake? i mean, if it's always required to use Siconos, may as well...)

I just tested moving find_package(Boost) into the installed siconos-config.cmake and it did indeed work.  I think that would be a small improvement, but not sure if that's a normal thing to do with cmake, any opinions?

About target_link( …  Siconos::component) yes it handles everything with some cmake magic and propagates all the required dependencies of  Siconos::component declared as PUBLIC or INTERFACE.
And by dependencies, I mean libraries, headers or even compile options or definitions (declared with target_compile_…
Concerning boost, I’m not sure  you can move the find_package(Boost)  into siconos-config.cmake.
To be honest, I had tried this a while ago and change it back for some reason I don’t remember.
Did you try it and run the examples ?

Le 3 avr. 2020 à 00:14, Stephen Sinclair<EMAIL_ADDRESS>a écrit :
I just tested moving find_package(Boost) into the installed siconos-config.cmake and it did indeed work. I think that would be a small improvement, but not sure if that's a normal thing to do with cmake, any opinions?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/siconos/siconos/issues/336#issuecomment-608118900, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB3OYU5PARZCC3MBSEGSZKDRKUE3RANCNFSM4L2THM3A.

I did, but just a quick test.  I could more fully test it.  Also I realized maybe in some cases it is only needed for serialization.. at least at link time.  But as noted in the other issue, some parts of siconos definitely require boost for includes, so it seems find_package(Boost) would theoretically always be needed.


[CI][Packaging] Synchronize conda jobs

Describe the bug, including details regarding any error messages, version, and platform.
Our nightly conda jobs have been failing for a long time.
They should be synchronized with the arrow-ccp-feedstock to avoid the failures.
Component(s)
Continuous Integration, Packaging

Example of failures:
conda-linux-aarch64-cpu-py3
conda-linux-aarch64-cuda-py3
conda-linux-ppc64le-cpu-py3
conda-linux-ppc64le-cuda-py3
conda-linux-x64-cpu-py3
conda-linux-x64-cuda-py3
conda-osx-arm64-cpu-py3
conda-osx-x64-cpu-py3
conda-win-x64-cpu-py3
conda-win-x64-cuda-py3


Separate script-generator's CLI and logic

We want to have a module that doesn't know anything about CLI, to be able to reuse the logic in a HTTP server.

WIP: https://github.com/typesafegithub/github-workflows-kt/tree/758-split-script-generator


Forking, making some top level changes.

This change is

Sorry, did not mean to open this in this repository.


common automatic update

Added callbacks to ansible.cfg
Updated ansible.cfg with non-deprecated feature.
Upgrade ESO to 0.6.1
Make sure we can parse FQDNs after a secrets tag in values-secrets.yaml
Reorganize tests in preparation for a V2 secrets format
Add ansible unittest
Use proper 3.9 version that exists in ubuntu
Install pytest via pip
Add ansible in the pip modules
Add support for creating temporary files and referncing them in tests
Revert to a simpler way to test file upload
Add tearDown() in unit tests
Add ansible/tests/unit/v1/values-secret-good.yaml
Fix super linter warnings
Add support for /values--.yaml
Fix gitleaks file after last unit test change
Allow multiple test inputs
Initial v2 plumbing
Add module_utils path for shared common code
Move v1 secret functions in module_utils
Split out common function in separate file
Move the secret format implementation in classes
A bunch of cleanups of unit-testing. Still not fully passing
Have super-linter pass
Fix patching the right function
Start unit testing V2 as well
Add version check in v1 implementation
Force get_version() to return a string for the time being
Pass proper parameters to V2 class
Initial start of vault policies implementation
More validation and more V2 testing
Make sure we check if the vaultPolicy exists
Make error message clearer
Add a lot more tests and start implementing the files: section
Fix black errors
Cleanups and also call check_missing_secrets only on v1.0
Fix black errors
Add a test to cover for empty vaultPrefixes
Add support and tests for the password generation via policy
Actually use the proper oc exec call to generate secrets
Implement file uploading as base64 attribute as well
Move more logic into _get_file_path
Large rewrite to unify fields and files and add initial base64 support and tests
Add base64 support for secrets as well and fix up tests
POC mostly working at this point
For the time being always stay on getpass.getpass() for input
Remove unused modules
Add checks for duplicate secret names and field names
Switch to using AnsibleModule.run_command
Make the secret prompting a little prettier
Implement looking for ~/values-secret-.yaml first
Test base64 secret
Silence yaml indentation linting errors and more
Added values-secret examples
Drop callbacks_enabled
Add another relevant change in Changes.md
Error out nicely if yaml.safe_load() cannot parse the file
Add support for ansible-vault
Clean up comments in test-cases files and implement backingStore
Use sensible prompt strings
Be clearer in the text about ansible-vault
Move checks that are specific to the version inside classes
Add a test for erroring out when values_secret_template is not defined and check_missing_secrets is set to true
Add a default validatedPatternDefaultPolicy password policy
Forgot to add new test for default vp-policy
Make sure we re-attempt all vault commands in case of failure
Add some more documentation
Add initial v2 schema json file
Rename the description field to prompt as that is what it is really used for
value and path can be 'null' when onMissingValue is set to 'prompt'
Make version a string all the time
Require some more fields
Add some more examples to the schema file
Test json schema CI job
Fix small ansible lint warning
Also try {{ pattern_dir }}/values-secret.yaml.template if all others failed
Fix Changes.md with a small nit
Prompt ansible-vault password via ansible.builtin.pause
Make the tasks text less intimidating
Add json schema for the v1 secret format
Allow picking a custom values-secret.yaml file via the VALUES_SECRET env var
Add filter_plugins path in common
Add override attribute support
Move to draft-07 of the json schema for V2
Do not raise exception if secret's existence check fails
Upgrade vault-helm to v0.23.0
Filter out patches to test/
Add patch to be able to use vault-ssl as a default
Switch to vault-ssl as a default
Remove stable default from channels
Split secret counter in two variables
Validation Schema for common/clustergroup

Fixed issues with schema validation in values.schema.json - Modified clustergroup/values.yaml and examples/values-example.yaml to have same sections and values. - Updated tests for  tests/clustergroup-naked.expected.yaml and tests/clustergroup-normal.expected.yaml

Fixed issues with kubeconform in clustergroup/values.yaml.  Reran make test to generate proper files

Updated schema to include all elements in subscriptions - Updated tests associated with clustergroup - Updated values-example.yaml

applications and subscriptions can be obj and array
restore values.yaml file to a saner commented default
Ran values.schema.json through jq to fix indentation issues
Fix up tests
Move to draft 0.7 of the schema spec
Add operatorgroupExcludes which is in examples/industrial-edge-factory.yaml
namespace is not mandatory in an application
Fix up some more tests
add clusterSelector in managedClusterGroups
Allow clusterRoleYaml to be an array and timeout to be a string
Add image, tags, extravars to imperative job object
Add descriptions for SecretStore properties
move GlobalGit and GitSecret after Main
Forgot ,
Move testing targets after the installation ones
Move some of the oc calls into the legacy target
Simplify getting the remote git URL associated to the target origin
Drop legacy-install from common
Move comments in the right place
Clean up PHONY targets in Makefile
Move all testing-related variables closer to the tests target
Make sure we error out after the legacy removal
Fix up the main section a bit
Make subscriptions not mandatory
Add description to main.git fields
Drop useCSV from global
Add description for main.gitops.channel
Add some descriptions
Mark useCSV as deprecated

Added descriptions for namespaces, subscriptions, managedClusterGroup, applications, and projects

Fixed issue with description definition

drop insecureUnsealVaultInsideCluster entirely

Removed insecure boolean from schema file and from values-example.yaml

Re-ran make tests
Drop any remains of output_file
Updated python-version for json schema
Update python version for ansible-unittest
Add filter to parse ACM secrets
Update ESO to 0.7.0
Only set vaultkeys fact when the vault is sealed
Default vaultPrefixes to be ["hub"]
Fix two V2 secret format corner-case bugs
Add SkipDryRunOnMissingResource=true on ClusterPools, ClusterClaims and ManagedClusterSets
Add mention of VALUES_SECRET env variable
Add a get_ini_value() commodity function
Fix up ini function and add tests
Add ini_file support
Relax json schema and drop onMissingValue as required
Fix up json schema errors
Fix base64 file upload
Fix schema json when using HostedArgo
Simplify hosted argo secret paths
Add "vault_path" to the parse_acm_secrets filter
Fix up some pylint warnings
Set additionalProperties to true for top-level objects
Fix some validation schema warnings
Introduce a validate-schema Makefile target
Do not run validate-schema by default
helmOverride.value can be both a string and a boolean
Make sure our readOnly attributes are proper booleans
Drop managedClusterGroups as a required property
Drop 'pattern' as a required property
Run check-json schema for all yaml files under examples/
Allow subscriptions to be null
Add prereq check to the operator-deploy
Vault delete task is unused, remove it
Drop pki init as it is unused
Drop push_secrets.yaml playbook as it is unused
Make sure we error out with a proper message if python-kubernetes is missing
Make prerequisited output checking more consistent
Prettify the output for checking prerequisites
Extend framework to allow for ESO on ACM-imported clusters
Add a global policy in the vault configuration
Make sure we use specialized vars for spokes
Switch to quay.io/hybridcloudpatterns/utility-container
Upgrade ansible-lint action
Address a bunch of ansible-lint warnings
Upgrade ESO to v0.7.2
Add acm policy to push HUB's CA to managed clusters
Point golang-external-secrets to the secret injected by ACM
Drop imperative job to fetch ACM HUB CA as we use ACM to push that out to clusters
Fix up tests
Loosen grep regex to catch compound/alias Makefile targets
Add pattern-home mount to allow resolution of ~ in files
Better help output
Stop outputting help for deprecated commands
Drop old unused vault-init and insecureUnsealVaultInsideCluster
Drop legacy-install and move to new help system
Drop unused common-test
Switch to new test target
Allow additional properties for GlobalGit
Switch to new tests

@ipbabble and @day0hero We have made a lot of changes to common which we feel this pattern will benefit from.  If you could please update your common and test against the DevSecOps pattern to make sure that it doesn't break anything.
Also, the global git section has changed and it uses the account property for username and ** account**.  So if you could update your values-global.yaml accordingly that would be great.
git:
hostname: github.com
account: PLAINTEXT
#username: PLAINTEXT  <=== Not part of the schema for git section.
email<EMAIL_ADDRESS>dev_revision: main
Let us know how we can assist.


typo

[Point 6 says 'In the Assigned hierarchies sectiom, click Add.' in stead of 'section']

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 47255864-7134-164c-d1dd-c2dafde92c53
Version Independent ID: 59d4618f-49c3-a61c-e993-26af59c4a551
Content: Create an organization hierarchy - Finance & Operations | Dynamics 365
Content Source: articles/fin-ops-core/fin-ops/organization-administration/tasks/create-organization-hierarchy.md
Service: dynamics-ax-applications
Product: ****
Technology: ****
GitHub Login: @sericks007
Microsoft Alias: sericks

@JJ431, thanks for letting us know!  I've fixed the typo, and the updated content will be published later today.


typo in save_exp

should be safe_exp.
https://github.com/jaxleyverse/jaxley/blob/72278f8cd560b6e3885a3af7ec37ac7ec7a55df1/jaxley/solver_gate.py#L4

I didn't even think this was a typo; it makes complete sense:)
Can we keep it like this?


orderBy problem

I added orderBy to Connected sortables demo, then drag the last item from the left to right, it will move the second last item to the right, not the last item that I wanted to move.

{{$index}} {{app.title}}

Here the demo

This issue again... Duplicate of #70, #113, #122, #172, ...
The reason is that your ng-model is different than the array used by the ng-repeat (fair enough, since you are ordering just the ng-repeat).
README states:

Filters that manipulate the model (like filter, orderBy, limitTo,...) should be applied in the controller instead of the ng-repeat (refer to the provided examples).
This is the preferred way since it:

is performance wise better
reduces the chance of code duplication
is suggested by the angularJS team
it does not break the matching of the generated DOM elements and the ng-model's items

Have you checked the two ordering examples (also found in README)?
As I have asked earlier in this repo:

how people expect the original (non filtered/ordered) model to be updated, after sorting a modified/sorted sub-model of that??? I really can't find an example.


Set initial user and group IDs to real IDs

added tests running as root to test both root and non-root cases
adapted code and tests to consider root access

I have one test failing in Python 3.7. I tried to skip it, but for some reason that does not work with root user.

Instead of using sudo, we can use my Docker container method to run the test as root without endangering the host.

Instead of using sudo, we can use my Docker container method to run the test as root without endangering the host.

The problem with the Docker image is that it runs only one Python version - or we have to configure it accordingly for each version. That is actually what Travis.CI does for us, and as it runs in cloned VMs that are trashed after the tests, there is no problem with endangering the host (otherwise they wouldn't provide sudo without password...).
Though as I wrote elsewhere, it would be a good idea also to run the tests in the provided Docker image to make sure that it works correctly.
My problem was that I got the wrong environment if run with sudo, so the system python (Python 2.7) was used instead of the Python version installed in the virtual environment. Inheriting PATH fixed this.

Merging after resolviong conflicts again...


Sync Measurement table and measurement drawings shown on image

I have implemented a mongo db backend to save ArrowAnnotations and retrieve them again once the study viewer page is reloaded. After the reload, I get the saved annotations from the db and add them again using the addMeasurement method in the MeasurementApi. The measurements are added to the measurement table.
The only issue that I have now is, that after the page reload, the drawing (visual representation of the measurement on the image itself) is only displayed after selecting the Annotate button in the toolbar. Then all the yellow measurements appear as expected on the canvas.
So my question would be: is there a way to trigger the sync of the measurements in the measurement table and draw them again on the images automatically after the page reloads, i.e. without first selecting the annotate button?

I believe we resolve this in an in-progress PR where we're trying to persist/restore annotations using DICOM SR. The crux of the issue is that all tools default to disabled (not rendered, not interactable). Selecting a tool sets it to active (rendered, can create, can modify existing), and selecting a different tool would shift the previously selected tool to passive (rendered, can modify existing).
What we need, and I think we ended up doing, is defaulting all annotation tools to "passive" at application start.
CC: @galelis

The magic: https://github.com/OHIF/Viewers/pull/954/files#diff-806887a626bd3398754ce85497537abaR102-R111
If you have more pointed feedback around how we can improve extension configuration or data persistence/restore mechanisms, please don't hesitate to create a new issue. We are incredibly interested in contributor insights in these areas.


Add seperate groups of interactions for settlement

This PR refactors the settlement interactions to use "interaction groups" to allow for smarter combinations. This allows, for example, to combine multiple unwraps into a single one without requiring separate implementations of the solver. Additionally, this avoids some implicit ordering that would otherwise be needed in all solvers (they would all require unwraps to come after AMM interactions for example).
/cc @fedgiac
Test Plan
Added new unit tests.

Have you considered using runtime inspection of the concrete interaction type to do the ordering in the end vs. exposing the different groups on the struct level?

The issue I see with that would require leaking a bunch of Interaction implementation types to the Settlement.

Now each solver still needs "know" that unwrap interactions are something different than other interactions

The idea is that unwrap_interactions are specific to LimitOrders. Since UnwrapWethInteraction: Interaction as well, a solver can include one as part of its execution strategy (so it won't go at the end).
All in all, I'm still not 100% happy about this solution, since it still doesn't solve the case of "user buy ETH for DAI, solver emits AMM interaction that swaps DAI for ETH (UniV1 for example), solver emits a 'wrap ETH -> WETH' interaction, limit order emits a 'unwrap WETH -> ETH' interaction" case. For now, I thought this solution was OK since it:

No longer has implicit ordering rules between LimitOrder interactions and AMM interactions
Allows collapsing multiple unwraps into one
Does not leak Interaction implementation type information to Settlement.

I also thought about it later, but LimitOrders aren't always necessarily EOA orders, so I think the settle needs to also return a Vec<Box<dyn Interaction>> for those cases that come before the interactions (I do think this can be added back in later though, since we don't make use of it yet).

however I'm still not super happy about the solver liquidity coupling

I agree. Settlement building changes needed to be implemented in multiple places for this change which is a bit unfortunate.

where each solver needs to implement its Settlement building code which is largely the same

I was envisioning the sorting/merging to be a post-processing step which could happen in the driver. As far as the solvers are concerned they just add their abstract interactions to the vector (which gets sorted, each stage merged, later on in common code).

As far as the solvers are concerned they just add their abstract interactions to the vector

Their also responsible for converting LimitOrder -> (Trade, Vec<Interaction>) which I don't think should be part of each solver either. Furthermore, this would also not address the issue of implicit ordering. While, with this decision, the ordering would not be important, a future refactor might make it so, coming back to the issue of "the compiler doesn't tell me where I need to change code when I refactor". Additionally, some interactions need strict ordering and others don't (execution plan vs unwrapping).

Closed in favour of #483


Copy/Paste Java Class & Layout

ChangePassword
EmailVerification
EmailVerified
ForgotPassword
FriendList
GenreSetup
LogOut
MainActivity
Register
ResetPassword

The only thing we need to do is move all this code segments over into 1 of 4 activities:

Startup
Home/Main
User Account
Friends

Once thats a thing we can really have some clean code!


Fix mutating webhook configuraiton in cluster role

@sdake: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gencheck_operator
2828ddc2cb864715edf9697e837bced57a88faf0
link
/test gencheck_operator

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Implement Debug for generic Address<V: NetworkValidation>

Previously Debug was implemented for both Address<NetworkChecked> and Address<NetworkUnchecked>, but not for cases when the NetworkValidation parameter was generic. This change adds this ability. Based on Kixunil's tip.
With previous implementation, the test_address_debug() resulted in error:

The added Debug on NetworkChecked and NetworkUnchecked are required by compiler.

While dealing with derives and impls, I also attempted to turn all the derives on Address into manual impls (see Kixunil's suggestion in https://github.com/rust-bitcoin/rust-bitcoin/pull/1489#discussion_r1052448057). The motivation behind this was the possibility to remove derives on NetworkChecked and NetworkUnchecked, too. However, even with manual impls, all the traits on NetworkChecked and NetworkUnchecked were still required by compiler in this sort of situations (see also the rest of the same discussion linked above). I do not fully understand why, perhaps limitation of this way of sealing traits?
It can be demonstrated by removing Debug derivation on NetworkUnchecked and NetworkChecked in this PR and running test_address_debug().
Therefore, if we want to allow users of the library to define types generic in NetworkValidation and at the same time derive impls, it seems to me that NetworkChecked and NetworkUnchecked will have to have the same set of impls as Address itself.

Unrelated but it's getting difficult to move around address.rs (1700 lines). Would someone object if it's split into multiple files? Perhaps address/mod.rs, address/address.rs, address/payload.rs and address/tests.rs?

However, even with manual impls, all the traits on NetworkChecked and NetworkUnchecked were still required by compiler in this sort of situations (see also the rest of the same discussion linked above). I do not fully understand why

I'm not sure if I understand what you're saying correctly, but I think you're experiencing an annoying "poisoning" of downstream generic types which are also forced to do manual impls. I didn't fully realize this when suggesting manual impls. I suspect that just keeping the derive is lesser evil but it depends on how many people and how often will they write generic structs.
I suggest we remove it anyway for now and re-add it if many people complain. I will take a look at it myself since I've done something similar in another project.

I think you're experiencing an annoying "poisoning" of downstream generic types which are also forced to do manual impls.

Oh, you're right! I didn't think of it before. Yes, manual impl on the generic struct will work.

Unrelated but it's getting difficult to move around address.rs (1700 lines). Would someone object if it's split into multiple files? Perhaps address/mod.rs, address/address.rs, address/payload.rs and address/tests.rs?

No objection from me. Though we probably want to discuss, in general, the idea of moving unit tests into their own files, because I think it's a common pattern for 50%+ of source files to be unit tests, which can make it hard to navigate.

I don't think having tests in a separate file is helpful for navigating files, the tests are at the bottom of the file anyways. I'd prefer not to have a proliferation of foo_test.rs files.
FTR I navigate files almost entirely by jumping up and down so file layout is always on my mind.
One thing that could be done, is putting important stuff first, as opposed to putting stuff before its used i.e., error types and code can be at the bottom instead of at the top where it is in many files - I've made an effort to start this already with no push back so far :) Also, private methods after they are called.

Yeah, tests aren't that bad. The Rust std does put them in subdirectories though.
Errors could also go to a separate module.

Yeah, tests aren't that bad. The Rust std does put them in subdirectories though.

Well I've exposed my lack of reading std code here then haven't I. If std does this then I rescind my comment. Does that mean we should but benches in a separate module as well? I see std uses the "new" module naming and has many directories that hold just the test.rs file, I guess we should have bench.rs along side all those.

How about we do this restructure during the feature freeze right before next release?

I'm not trying to imply we have to do what std does, just pointing out that some other, presumably experienced :), Rust devs found that style useful, so might be worth considering. I don't have strong preference right now. Doing it during feature freeze sounds good.

Cool, I willing to give it a try, time will tell if we like it.


Missing a license

This repo seems to miss a license. You could use https://github.com/sindresorhus/awesome#license as inspiration.

@caesar0301 Any objections to converting to a CC0 license? Recommendations from awesome here.

License changed to CC0 to align with awesome guidelines.


starship: 1.7.1 -> 1.8.0

Description of changes

https://github.com/starship/starship/releases/tag/v1.8.0
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 177886 run on x86_64-linux 1

1 package built:

starship


Fix Circumscribe (#2563)

Overview: What does this pull request change?
Fix the problem that the argument run_time is not successfully passed to Circumscribe when it is passed inside Scene.play() but outside Circumscribe().
Change the superclass of Circumscribe from Succession to AnimationGroup and call the class Succession later in the class Circumscribe when there are multiple animations in succession.

Motivation and Explanation: Why and how do your changes improve the library?

bugfix(#2563)
Now the run time of circumscribe can be set in Scene.play()
Links to added or changed documentation pages

Further Information and Comments

Reviewer Checklist

[ ] The PR title is descriptive enough for the changelog, and the PR is labeled correctly
[ ] If applicable: newly added non-private functions and classes have a docstring including a short summary and a PARAMETERS section
[ ] If applicable: newly added functions and classes are tested

This is superseded by #3003: while it is possible to work around the issue of the falsely scaled run time by making Circumscribe inherit from AnimationGroup instead of Succession, a better and more maintainable way of fixing this is to fix the wrong behavior of Succession.


use atom message pane

This is not just to promote my own module, but I will believe that this package could benefit from using amp
take a look, I hope you like it!

I see you choose not to use amp, and that fine, just wanted to let you guys know that Im working on a rewrite of amp to be a service provider just like you guys did with Linter.
https://atom.io/packages/atom-message-panel-service


Set primary key before all other properties

Refactors row creation code to always set the primary key on row creation so that the primary key is set before all other properties. This also simplifies the logic of populating properties (now skip all primary key properties rather than just primary key properties of not newly created objects) and removes the need to always emit a SetUnique instruction for rows set to the default value (https://github.com/realm/realm-cocoa/pull/4003#issuecomment-243322162).
@jpsim @bdash @tgoyne

👍
Looks great other than the trivial bits I commented on.

👍


Debug windows ssh

``

Closing as this does not make sense.
@Rhinowiwina what were your intentions?


Zlib::GzipFile::Error: not in gzip format when try to write data

Get this endless error loop when try to write data with influxdb.write_point(name, values: { value: 1000 })
D, [2015-10-08T16:01:47.123284 #25257] DEBUG -- : [httplog] Connecting: localhost:8086
D, [2015-10-08T16:01:47.124780 #25257] DEBUG -- : [httplog] Sending: POST http://localhost:8086/write?db=metrics_development&precision=s&u=IM&p=password
D, [2015-10-08T16:01:47.124923 #25257] DEBUG -- : [httplog] Data: listed_vehicle value=1000
D, [2015-10-08T16:01:47.231284 #25257] DEBUG -- : [httplog] Status: 204
D, [2015-10-08T16:01:47.231490 #25257] DEBUG -- : [httplog] Benchmark: 0.10622857399994245 seconds
E, [2015-10-08T16:01:47.234091 #25257] ERROR -- : [InfluxDB] Failed to contact host localhost: #<Zlib::GzipFile::Error: not in gzip format> - retrying in 0.01s.
D, [2015-10-08T16:01:47.244934 #25257] DEBUG -- : [httplog] Connecting: localhost:8086
D, [2015-10-08T16:01:47.249441 #25257] DEBUG -- : [httplog] Sending: POST http://localhost:8086/write?db=metrics_development&precision=s&u=IM&p=password
D, [2015-10-08T16:01:47.249731 #25257] DEBUG -- : [httplog] Data: listed_vehicle value=1000
D, [2015-10-08T16:01:47.296315 #25257] DEBUG -- : [httplog] Status: 204
D, [2015-10-08T16:01:47.296566 #25257] DEBUG -- : [httplog] Benchmark: 0.0464037459996689 seconds
E, [2015-10-08T16:01:47.299095 #25257] ERROR -- : [InfluxDB] Failed to contact host localhost: #<Zlib::GzipFile::Error: not in gzip format> - retrying in 0.02s.

Have the same issue. After investigation have more info:
Zlib::GzipFile::Error: not in gzip format exception probably occurs cause Net::HTTP ruby library enables gzip by default according to docs (http://ruby-doc.org/stdlib-2.2.3/libdoc/net/http/rdoc/Net/HTTP.html). But influxdb returns response with 204 and without a content. Is it correct?
So, after adding this header Accept-encoding: identity to this hash: https://github.com/influxdb/influxdb-ruby/blob/master/lib/influxdb/client/http.rb#L24 everything works fine.
Is it a solution or there's another reason behind this exception?

Is this still happening, anf if so, which InfluxDB version are you running?

Closing this now. Please leave a comment if this is still an issue.


Mortar segmentation bugs

Added 4 new tests, all are failing (see https://github.com/JuliaFEM/JuliaFEM.jl/blob/bug/mortar_discretization/test/test_problems_mortar_3d.jl and https://travis-ci.org/JuliaFEM/JuliaFEM.jl/builds/196842417)
A simple block model with interface between upper and lower block:

Set temperature boundary condition T=0.0 to top of upper block and T=1.0 to bottom of lower block. What should be expected is that we have a constant temperature T=0.5 at the interface as Mortar method should be able to deliver constant field over non-conforming interface without error.

Tet4 elements: UMFPACK gives error, maybe polygons with zero are in interface, discretization of interface fails
Tet10 elements, quadratic surface elements: interface area != 1.0, discretization of interface fails
Tet10 elements, linear surface elements: temperature in interface not constant 0.5
Tet10 elements, quadratic surface elements are splitted to smaller linear sub-elements: temperature in interface not constant 0.5

https://travis-ci.org/JuliaFEM/JuliaFEM.jl/builds/196842417

This is now fixed, see PR #88.


Arduino CLI wrapper support change breaks fprime-util generate

Hey team,
I'm seeing the following error:

I have verified the board definition is installed:
arduino-cli board listall |grep rpipico
Raspberry Pi Pico                                                       rp2040:rp2040:rpipico

and I'm using a relatively recent version of arduino-cli
arduino-cli version
arduino-cli  Version: 1.0.4 Commit: Homebrew Date: 2024-08-12T13:32:50Z

It looks like there was an update to in cmake/toolchain/support/arduino-wrapper.py #30 that's causing this issue and I confirmed I could generate without seeing this error after reverting https://github.com/fprime-community/fprime-arduino/commit/1efa71306870c6b913186f14d051328ff9e711ab.
I noticed that there seems to be some work-in-progress in the arduino-cli cmake wrapper repo. Is there a recommended version of the wrapper that I should be using other than what I get when I pip install arduino-cli-cmake-wrapper?

It looks like there was an update to in cmake/toolchain/support/arduino-wrapper.py #30 that's causing this issue and I confirmed I could generate without seeing this error after reverting 1efa713.

Yeah this is the reason for the error. The PR has already been merged into main so I did not revert it, and all my Arduino OSAL work branched off of this commit.
To solve this before the official release of arudino-cli-cmake-wrapper through pip, clone the arduino-cli-cmake-wrapper repo, change to the refactor-tooling-cleanup branch, and run this:
pip install .

Make sure you are in your project virtual environment.

@ethancheez yes, you are correct.  I will release an interim version of the tool today.

To solve this before the official release of arudino-cli-cmake-wrapper through pip, clone the arduino-cli-cmake-wrapper repo, change to the refactor-tooling-cleanup branch, and run this:

Thanks, this workaround worked for me!

@nateinaction
Pre-release v0.2.0a1 is now available. Install with:
pip install arduino-cli-cmake-wrapper==0.2.0a1


[Feature Request] MIDI support

I was rewatching some of Vinesauce Vinny's hardware corruption videos, where he used knobs on a specially modified console to corrupt in real-time. That struck me with an idea; what about MIDI support to mimic the same effect? I'd love to use knobs and buttons on my MIDI controller to change values on the fly rather than manually editing values with a keyboard. Is there any way to implement this feature?

Hi, using knobs wouldn't really make it work like the hadware corruptor but first of all I think I should explain to you why the Hardware Nes Corruptor used knobs in the first place.
You see, the Hardware Nes Corruptor is not a digital corruptor. it doesn't work by replacing data in the memory like a we do when we corrupt roms or memory in real-time, you could consider it as an Analog Corruptor or a Circuit Bending machine. In fact, the reason why the Hardware Nes Corruptor works with knobs is because these knobs are in fact attached to serially-linked dynamic resistors. The principle behind this is that you would use the probes in combination with the exposed chip pins via the IDE interfaces and short circuits pins together. A perfect short circuit in most cases will completely crash the game, which is not what we want to achieve when corrupting a videogame. Introducing resistance into the mix can prevent crashes but also it can prevent any effect from happenning if the resistance is too high. Because of that, dynamic resistors are used, a 100omh, 1kohm and a 50 kohm. When serially linked, these three dynamic resistors can let you find the thin area between "crash" and "no effect". When you'd find this zone, you can then obtain weird effects similar to what you'd get on an emulator and sometimes completely new effects that were never seen before via digital methods.
Now that this is out of the way, you can understand why adding knob support for the sake of knob support wouldn't inherently give new effects. In fact, the best thing you could do using knobs via midi would be controlling the many values that the real-time corruptor supports such as the Intensity, error delay, maximum infinite units, etc. These values are already configurable via hotkeys in the settings so if you were to use a software to translate those knobs into repeating key presses, you'd get this behavior without the need of doing any edit to RTC.
It should be worth mentionning that if you wanted native midi support in RTC to control the various settings, you could have it made into a plugin using NetCore commands through the LocalNetCoreRouter system. There are various C# libraries supporting midi support so i don't think this would be too much of a hassle if you know how to write C#. We do have a plugin template available on the git repo and if you intend to take this challenge, please visit us on the discord and we can help you with our (unfortunately) pooly documented API.
Hope that answers your questions !
Cheers,
-Phil


Thousands of lines added to toolkit.js

First of all I wanted to say thank you for this amazing thing you have created! I really appreciate all the hard work put into this project.
The issue I am having is with the toolkit.js file. Originally my js file was 386 lines of code. When I look at the compiled version in the dist folder it's up over 10,000 lines.
I have tried searching google for answers and looked through the issues already posted here and could not locate anything that helped.
Any help you could offer would be super appreciated!
toolkit.js.zip
Thanks again!
David LaBar

Your JS file is being bundled with jQuery.
Since fabricator uses webpack to prepare your toolkit.js and it seems to be a link to jquery dependency in the latter, the whole library gets included in your bundle.
If you don't want jquery in your toolkit, try importing it from somewhere else (or manually add it to your window object).

Thanks a lot my friend! I figured it was something dumb that I did. I was having trouble getting jquery to work when I first setup Fabricator so I ended up doing the require jquery. I appreciate your time!


Partially revert commit 93d8fb425d7e95939d398afd51b9d5adc4392c43

Related to this comment

I'm inclined to revert the entire commit, in what case will originalPath_ be empty?

@an-tao  @Mis1eader-dev
This update has caused our application to not work，This is what I hope to get /account/balance/powers:getHeadline， But now getOriginalPath return
/account/balance/powers%3AgetHeadline， The original meaning of getOriginalPath is to obtain a path that not urldecode， could you restore this function and add another version of the getOriginalPath function
2024-09-14T15:20:03.648616      Info: [forward] [service.cpp:364]: req->getOriginalPath(): [/account/balance/powers%3AgetHeadline]
2024-09-14T15:20:03.649077      Info: [forward] [service.cpp:365]: req->path():  /account/balance/powers:getHeadline]

@nqf before the last 2 commits it used to return the encoded URI, after the 2 commits I still see it return the encoded URI, is there something wrong with what it should be returning?

@nqf before the last 2 commits it used to return the encoded URI, after the 2 commits I still see it return the encoded URI, is there something wrong with what it should be returning?

Now I call getOriginalPath，it return drogon::utils::urlEncode(path_)， I actually hope it returns path_
    const std::string &getOriginalPath() const override
    {
        return originalPath_.empty()
                   ? (originalPath_ = drogon::utils::urlEncode(path_))
                   : originalPath_;
    }

@nqf in what case will originalPath_ be empty?

In my experience, getOriginalPath always returned the encoded path, it will be unpredictable behavior for it to return the decoded path sometimes and sometimes in encoded form.
It doesn't have a definition what it really is, is it the encoded path? Is it the initial path that is set on the request?

We need a proposal, to have 4 variants of the path:

Decoded path: req->path()
Encoded path: ?
Initial decoded path: ?
Initial encoded path: ?

I just tested some paths and they should work. When I first added getOriginalPath, I wanted it to return originalPath_ and req ->path()

@nqf I see what you mean, the purpose of getOriginalPath is to see if there was an encoded url, then use the originalPath_, if it already was decoded, then use path_? Meaning originalPath_ is a container for the encoded path, but if there was no decoding needed, then use the path_ as is

yes， there was an issue with the current modification, and I had to set req ->setPathEncode (false);  This way, we can ensure that the forwarding path will not encode again， I still hope to restore the old implementation of getOriginalPath, and if necessary, add a new version of getOriginalPath. What do you think ？

I made this PR to tackle this issue, now we may need to add another alias for getOriginalPath() as the name of the method and its member originalPath_ are misleading and ambiguous.
Will have to check with brother @an-tao to see what course of action we need to take regarding the naming convention.

I just tested it, if I don't call req->setPathEncode (false);， When I forward the request, it will encode it again， This leads to /powers%3AgetHeadline  ->  /powers%253AgetHeadline

I made this PR to tackle this issue, now we may need to add another alias for getOriginalPath() as the name of the method and its member originalPath_ are misleading and ambiguous.
Will have to check with brother @an-tao to see what course of action we need to take regarding the naming convention.

thanks

I just tested it, if I don't call req->setPathEncode (false);， When I forward the request, it will encode it again， This leads to /powers%3AgetHeadline ->  /powers%253AgetHeadline

Have you tried the latest master? Check if it works

I believe even with this commit it should work, as originalPath_ will be empty when the path needs no url decoding, and if it needs no url decoding, then a call to getOriginalPath() should practically generate an identical copy of path_

I believe even with this commit it should work, as originalPath_ will be empty when the path needs no url decoding, and if it needs no url decoding, then a call to getOriginalPath() should practically generate an identical copy of path_

Did you say this MR this？

No I meant the latest master, before that PR

The previous PR works in my application because my application will determine whether the path needs to be encoded.
	if (auto ret = std::ranges::find_if(req_path, [](const char c) { return c == '+' || c == '%'; }); ret != req_path.end())
		req->setPathEncode(false);

But it won't work if you set req->setPathEncode(false); because this will cause repeated encode， if 	auto req_path = req->getOriginalPath(); return path_, Even if you don't set req->setPathEncode(false);， It also works fine

@nqf I spun up two Drogon servers, both using master branch, one on port 8080 and one on 8081.
The 8081 will take in the request, print the path and original path, then forward as is to 8080.
On 8080 I have it print all incoming requests' paths and original paths, and it has one handler endpoint "/powers:getHeadline", and the handler will print "Matched" to the console if it was hit.
This is the console output:
Request
GET /powers:getHeadline HTTP/1.1
Host: <IP_ADDRESS>:8081
8081
Request: /powers:getHeadline
        Request Raw: /powers%3AgetHeadline

8080
Request: /powers:getHeadline
        Request Raw: /powers%3AgetHeadline
Matched

Am I missing something?

Corresponding code for both servers:
8080 - Receiver
#include "drogon/drogon.h"
using namespace drogon;
int main()
{
	app()
		.addListener("<IP_ADDRESS>", 8080)
		.registerHandler(
			"/powers:getHeadline",
			[](const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
			{
				std::cout << "Matched\n";
				callback(HttpResponse::newHttpResponse());
			}
		)
		.registerSyncAdvice([](const HttpRequestPtr& req) -> HttpResponsePtr
		{
			std::cout << "Request: " << req->path() << '\n';
			std::cout << "\tRequest Raw: " << req->getOriginalPath() << '\n';
			return {};
		})
		.run()
		;
}

8081 - Forwarder
#include "drogon/drogon.h"
using namespace drogon;
int main()
{
	drogon::app()
		.addListener("<IP_ADDRESS>", 8081)
		.registerPreRoutingAdvice([](const HttpRequestPtr& req,
									AdviceCallback&& cb,
									AdviceChainCallback&& ccb)
		{
			std::cout << "Request: " << req->path() << '\n';
			std::cout << "\tRequest Raw: " << req->getOriginalPath() << '\n';
			app().forward(req, std::move(cb), "http://<IP_ADDRESS>:8080", 5.0);
		})
		.run()
		;
}

you use HttpAppFramework::forward ?  I didn't use it

You're using http clients?

@nqf it still works even when altering the path from the forwarder's side:
8081 - Forwarder
Request: /
        Request Raw: /
        Request: /powers:getHeadline
                Request Raw: /

int main()
{
	app()
		.addListener("<IP_ADDRESS>", 8081)
		.registerPreRoutingAdvice([](const HttpRequestPtr& req,
									AdviceCallback&& cb,
									AdviceChainCallback&& ccb)
		{
			std::cout << "Request: " << req->path() << '\n';
			std::cout << "\tRequest Raw: " << req->getOriginalPath() << '\n';
			if(req->path() == "/")
			{
				req->setPath("/powers:getHeadline");
				std::cout << "\tRequest: " << req->path() << '\n';
				std::cout << "\t\tRequest Raw: " << req->getOriginalPath() << '\n';
			}
			app().forward(req, std::move(cb), "http://<IP_ADDRESS>:8080", 5.0);
		})
		.run()
		;
}

8080 - Receiver
Request: /powers:getHeadline
        Request Raw: /powers%3AgetHeadline
Matched

I don't know why your test results are completely different from mine，But our backend service is not a drogon， But from the data packet above, it appears that she did indeed perform a secondary encoding， And our backend service cannot parse it

Can you confirm what the path is before setPath(), and what you're trying to pass into setPath, and what it becomes after the setPath?

setPath("/information/account/balance/margin_powers%3AgetHeadline")

This version of getOriginalPath ensures that it will not be encoded twice，
because getOriginalPath() return /information/account/balance/margin_powers:getHeadline
encode("/information/account/balance/margin_powers:getHeadline") => "/information/account/balance/margin_powers%3AgetHeadline"
    const std::string &getOriginalPath() const override
    {
        return originalPath_.empty() ? path_ : originalPath_;
    }

setPath("/information/account/balance/margin_powers%3AgetHeadline")

This is the cause, which I addressed in the edited comment above.
The behavior of setPath is faulty when you pass in any path that requires decoding, if you edit Drogon's source code it will work:

In fact, the core problem is getOriginalPath(). Currently, getOriginalPath() will return to me "/powers%3AgetHeadline"， So I expect to revert to the previous implementation

Yeah no worries we will revert, I'm waiting for @an-tao's approval and whether we need to make any naming changes.
To me it all seems funky as there is no coherent way to deal with paths currently. In my opinion we must have path_ always be in decoded form, and originalPath_ be in encoded form only and only if any call to setPath() was with an encoded url string.
This way we know whom is in which form at all times, and pathEncode_ will be able to just make a call to getOriginalPath() and be done with it ¯\(ツ)/¯

Our current processing order
1. auto req_path =  getOriginalPath();
2. req_path = req_path + "/aaa/bbccc/"
3. req->setPath(req_path);


Iter2 - Server Side, DB & Log-In

In this iteration we will focus on finishing the DB and storage and the log-in process.
As part of this iteration we will make a code review, each one of us assigned to review another member's code, in iteration 2 wiki page you can find which one is yours. please make sure to review his code and add the link in the right spot.
Importent:
For the next iteration, including this one, each one of us need to contribute to the team work and the course team should be aware of that, so read the following link carefully and work by it.
https://github.com/jce-il/se-class-materials/blob/master/docs/team/proj6-iterations.md
Like in the previous issues your task consists of two things, one for the wiki page and one for the app.
Your tasks:

Finish the Storage and DB:
a. Finish all the connection between the app and the firebase server and DB.
b. Make the categories clickable, so if the user click on some category he will see a new page with the phrases and sub-category related to the parent category.
c. Enable sub categories in the DB collection.
d. write upload function that gets the form object (text, image path and audio file path) and save it on the storage and connect it to the DB.
e. Create a loading window to be display when the app first open while the app load the data from the server. Think on some smart way on when to stop the loading and move to the app

Fix the log-in pop-up window:
The log-in windows should be display only after the user click on the log-in option in alex's slides.
This task is last in our priorities, finish the 1st task and then move to the 2nd.

Wiki page:
Please fill the code review

Related Issues/Tasks

[ ] #25

Testing:
In this section we describe some testing that you can make to test your work

[ ] Create a form object and try to upload it to the server.
[ ] Click on Category and see if the phrases related to this category are display.
[ ] Log in to some Gmail account and see if you get the categories and phrases related to this user.

@or2511 @dor132133
After some test on the log-in process here some insides, and bugs to fix:

In AutenticationProvider -> createAuthentication() you use the auth.signInWithPopup() method. This method does not work on mobile phones, after some reading you need to use auth.signInWithRedirect() insted.
In AboutMePage -> constructor, the line this.AsyncPhrasesloader(); is throwing the following exeption:
"Error: Uncaught (in promise): TypeError: Cannot read property 'subscribe' of undefined
TypeError: Cannot read property 'subscribe' of undefined".
You should check if the aboutMeCategory is NOT undefine before you continue to the asycPhraseloader().
In storage -> uploadFile: this function should get a form object (text, imagePath and audioPath) and upload it to the storage, for now the function only upload files.

Please fix this bugs ASAP!

@or2511
To clear the last section in my last comment (3)... you will get Phrase or Caegory varibale and need to upload that variable...

@or2511
follow this tutorial:
https://www.youtube.com/watch?v=6yGrLWq-oIo
maybe it will help with the upload storage....

this issue is done


Dark light theme fix #63

fix #63
Dark light theme

Added the CSS variables for font colors and body background
Two sets of values were assigned to these variables for dark and light mode
Customized the toggle button for switching the theme
Added background images to the sider based on the dark and light theme
Changed the list of styles for selecting the dark theme
Added this functionality for all of the pages
Right now I am only switching the body color as you mention in the issue but if you want to change the colors of the fonts or the body as well just change the values assigned to the CSS variables in the stylesheet.

I have pushed the changes... Kindly check and verify.

Perfect. I'm merging this now, but I was planning a menu where the button is currently, so I may have to move the button when I'm doing that and may need your help. Thanks again

@aliraza944 I had a look at the images, and would prefer the names be dark and light instead of day and night. Would request you to make that change and do any updating needed and make another PR, but this works even without the change, so it's not that urgent

Perfect. I'm merging this now, but I was planning a menu where the button is currently, so I may have to move the button when I'm doing that and may need your help. Thanks again

You are welcome.


fixed broken links in docs/README.md all languages

Fixed the README.md for English for markdown formatting. Added all the languages to the language link table, and linked them to their appropriate READMEs instead of the contributing pages. Fixed other language Quick Reference links where I could link them to their own languages.

[x ] I have read freeCodeCamp's contribution guidelines.
[x ] My pull request has a descriptive title (not a vague title like Update index.md)
[x ] My pull request targets the master branch of freeCodeCamp.
[x ] None of my changes are plagiarized from another source without proper attribution.
[x ] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

This pull request references translation issues:
Arabic: #18311
Chinese: #18310
Portuguese: #18309
Russian: #18308
Spanish: #18307

Closing this pull request because I have learned over the last month how to make a cleaner pull request. New simplified PR#31491 references the same things.


Wiki Image Holder  [DO NOT MODIFY]

Do not modify this issue
This issue is used to store all the images for story boards due to Github's limitation (Wiki doesn't support image upload).


Add a basic page explaining Angular 2 intigration

What's Changed

Added a simple page explaining Angular 2 Integration options.
Removed bolding from header because it had a weird effect in Firefox.

What's Next

It might be a good idea to simplify the example code for each section, keeping it bare bones.

Hmm, I'm not sure why this would be failing. Didn't change anything :/


upgrade Swagger UI to version 3.35.1

LGTM
Somewhat related, these 2 links should be updated
https://github.com/ExpediaGroup/flyte/blob/master/swagger/v1.yml#L7
https://github.com/ExpediaGroup/flyte/blob/master/swagger/v1.yml#L673
I'm not sure if you will try to update them as part of this PR you might have to get re-approvals :) so maybe just merge this PR and raise another one for links or just capture them in the story so we can do it at some point


'pub upgrade' does not advertise if a git remote has updated

Repro:

add a git dependency to pubspec
pub upgrade
Notice helpful output from pub
push changes to git dependency
run pub upgrade again
Notice that pubspec.lock file updates

Expected: See a print out that the git dependency has been updated (perhaps from SHAX -> SHAY)
Actual: No dependencies changed.

This issue has been moved to dart-lang/pub#1024.


Centralize DatabaseAuthenticable result and error  handling

Add error for non-OIDC flow when OIDC conformant enabled

I get the change and need but something feels like it can be improved will think for a day and then improve/merge


chore: Turning off dry run

:tada: This PR is included in version 0.10.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Autoloading Classes in composer

Not sure if this is by design but I notice that RestServer contains multiple classes in a single file. when installed by composer
I'm encountering a problem where by RestException class can only be instantiated if I instantiate the RestServer class thus while
$server = new  \DeathMiner\RestServer\RestServer;
$exception = new \DeathMiner\RestServer\RestException;

succeeds
$exception = new \DeathMiner\RestServer\RestException;

throw an error

Class DeathMiner\RestServer\RestException not found

please advise as I am new to this composer utility

Hi @karneaud
the problem "multiple classes in one file" is now solved.
You can benefit from composer even more by using the autoloading file he creates.
Just require the "path/to/vendor/autoload.php" in your "index.php" and autoloading should work like a charm.
If there is any trouble with this, simple reopen this issue.
By the way "DeathMiner" is not the namespace of this package. Maybe you did something wrong with your composer file? Composer has a great FAQ.

@stevleibelt

By the way "DeathMiner" is not the namespace of this package. Maybe you did something wrong with your composer file? Composer has a great FAQ.

Well it works for me when I looked at the composer autoload file create the namespace was I typed it. Will check it again but this was what I was seeing and experiencing at the time.


Add next section: contacts, intro, header

I don't no what to discuss, so I added it just to pass the test.


bind password

something like http-request auth  inhttp-request auth  haproxy... while accessing the port .. an alert with user:pass defined in config can be used to check..
something like : http://serverfault.com/questions/239749/possible-to-add-basic-http-access-authentication-via-haproxy
this one looks small to me,, should be a quick one ,, can be added at frontends or backends like auth user pass

You mean basic auth?
https://github.com/containous/traefik/issues/77


Machine mac-27 is in Quarantined state due to external connection is missing.

Is there an existing issue for this?

[X] I have searched the existing infra issues

Type of Request
infra task
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
Machine mac-27 is in Quarantined state due to external connection is missing.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

External connection has been restored by power recycle iPhone device.


Changed the macOS ⌘ symbol to 'Ctrl+' on non-darwin platforms.

Revisions to the Tab Component to change the ⌘ into Ctrl+ if the platform is not darwin (macOS/Mac OS X).
(I'd recommend for someone with a Mac to first test if ⌘ instead appears if upterm is ran on a Mac. I "peasant-tested" this by switching the if shorthand (TabComponent.tsx, line 48) between win32 and darwin. It seems to be working.

Closing this PR in favor of #1141.

@christianwico just a small GitHub tip: you don't need to create a new PR if you want to replace contents of a previous one.
You could modify your commit with --amend and --force-push the new content to the same PR branch, and the PR will be replaced then.

@ForNeVeR eheh. My apologies. I'm new to this GitHub culture. I'll remember next time.


(PUP-9176) List failed module install dependencies

Depends on puppetlabs/semantic_puppet#34.
The changes are backwards compatible so they shouldn't break users with
older versions of semantic_puppet.
Fixed a bug where we wouldn't print the version of the module we're
installing when raising this specific error.
Also, when installing a module without specifying its version, the error
message will show the best candidate instead of (???).
Before (assuming puppetlabs-concat 6.4.0 is installed prior to this):
Error: Could not install module 'trepasi-debnet' (???)
  No version of 'trepasi-debnet' can satisfy all dependencies
    Use `puppet module install --ignore-dependencies` to install only this module

After:
Error: Could not install module 'trepasi-debnet' (v1.5.2)
  The requested version cannot satisfy the following dependency: puppetlabs-concat
    Installed: 6.4.0, expected: >= 1.2.0 < 3.0.0
    Use `puppet module install 'trepasi-debnet' --ignore-dependencies` to install only this module

Before merging this:

[ ] Merge puppetlabs/semantic_puppet#34
[x] Squash b821eff69898b862f9e401bbf39718f7ee52d801 into original commit

Co-authored-by: Luchian Nemes<EMAIL_ADDRESS>

note to self: can use graph.dependencies[name].first.constraints to get range constraints for unsatisfiable dependencies, where name is the name of the module we want to install

Updated to also show dependency range, still needs tests

Small change in tests added as per https://github.com/puppetlabs/puppet/pull/8446#discussion_r552412924 discussion.

Small change in tests added as per https://github.com/puppetlabs/puppet/pull/8446#discussion_r552412924 discussion.


Pinboard/PDF viewer - select and auto import images

when I open the pdf viewer
  and I see and image
     then when I find places that prompt for images
         I'd like to click the image in the pdf
           and click the prompt to automatically copy the image over
              and automatically cite the images as coming from the source

plazi?

Yes, in part, though there are excellent image extractor libraries with much less overhead.


Bug fixes and improvements

OK, I'm re-implementing whats in PR #24 in two parts and this is the first step with the args+kwargs implementation built atop it to addresses issue #1. Here's an overview of the changes:

Changed
Version bumps on requirements for Django-RQ and rq-scheduler to account for RQ's version 1.0 and changes in Redis v3.
Tests now run using fakeredis and don't pollute your Redis instance.
Overall the tests have been restructured to take advantage of all of Factory's features. All past tests are still present and there are new ones bringing test coverage of models.py to 100%
Improvements on PR #29  have been made adding seconds as an available interval unit following my comments. Driven by Issue #28
Added prevention of the ability to set a repeatable job with a result_ttl shorter than the interval time. See the relevant important note here https://github.com/rq/rq-scheduler
Moved the enable disable checkboxes to a bulk enable / disable action for a simpler UX (not having both a "Go" and "Save" button. Change permissions are respected.
Added the ability to immediately run jobs as a bulk action based upon an improvement in UKTV's fork.

I've had to remove FakeRedis as an update broke its setup and I cannot figure it out.
This PR is a superset of changes in #29


add: new article "passing structure through pointer"

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

@ssp4all There is some very good information in your article, but some of the information you mention is already present in https://github.com/freeCodeCamp/freeCodeCamp/blob/master/guide/english/c/pointers/index.md
I think you should try to incorporate the most unique parts of your article within the existing article on pointers.  Please update your PR so that it makes changes to the existing article instead of creating this new one.
Thank you.

Hi @ssp4all
As there has been no response from your end for a while, we are closing this PR.
Feel free to request this PR to be reopened or create a new PR, if you still wish to make the changes you originally added plus any additional change requests asked of you.  Also, remember to update your fork, so you have the latest version of master in case it has changed significantly.
Happy Coding!


Refactor ChEMBL importer

Import from sqlite file instead of TSV

Look into compound subqueries for sql query to speed up import

Closed in #76


NestJS usage

Sorry for making an issue here,
is there any way to use this extension on nestjs?
I've been using it like this
import pagination from 'prisma-extension-pagination';

@Injectable()
export class PrismaService extends PrismaClient implements OnModuleInit {
  async onModuleInit() {
    await this.$extends(pagination).$connect();
  }

  async enableShutdownHooks(app: INestApplication) {
    this.$on('beforeExit', async () => {
      await app.close();
    });
  }
}

but it doesn't seems work as it say
Property 'paginate' does not exist on type 'GetModel<InstancesDelegate<RejectOnNotFound | RejectPerOperation, DefaultArgs>, unknown>'

This is correct. Because $extends() returns a new Prisma Client instance with the extension applied, rather than modifying the original one.
const prisma = new PrismaClient()

// Declare an extended client that has pagination applied
const prismaA = prisma.$extends(pagination)

// prisma remains unchanged
// prismaA has pagination applied

You need to use a modified instance with the extension applied. Unfortunately, I don't have enough experience with NestJS to know how to do this.

Ah, i see
ended up using it like this
@Injectable()
export class PrismaService extends PrismaClient implements OnModuleInit {
  async onModuleInit() {
    await this.$connect();
  }

  pg() {
    return this.$extends({
      model: {
        $allModels: {
          paginate,
        },
      },
    });
  }
}

and usage
findAll(id: string) {
    return this.prismaService.pg().instances.paginate().withPages({
      limit: 10,
    });
  }

Many Thanks, for this awesome lib

Ah, i see ended up using it like this
@Injectable()
export class PrismaService extends PrismaClient implements OnModuleInit {
  async onModuleInit() {
    await this.$connect();
  }

  pg() {
    return this.$extends({
      model: {
        $allModels: {
          paginate,
        },
      },
    });
  }
}

and usage
findAll(id: string) {
    return this.prismaService.pg().instances.paginate().withPages({
      limit: 10,
    });
  }

Many Thanks, for this awesome lib

@gagermaniac Wouldn't that extend the prisma client every time you call the PrismaService.pg() function?  I got a workaround for when you want to install extension on certain models, I didn't like it much either though. It consists of extending the prisma client just once per model in the constructor of the model service class.
@Injectable()
export class EntityService {
  private redonly prismaExtended

  constructor(private readonly prisma: PrismaService) {
     this.prismaExtended = this.prisma.$extends({
      model: {
        product: {
          paginate,
        },
      },
    })
  }

  findAllPaginated() {
    return this.prismaExtended.entity
      .paginate({
        select: {
          id: true,
        },
      })
      .withPages({
        limit: 10,
      })
  }
}

Probably this can be done too to install the extension to all models in the PrismaService installing the extension only once.

Ok. I think I got it. This installs the extension to all models.
@Injectable()
export class PrismaService extends PrismaClient implements OnModuleInit {
  public readonly pg

  constructor() {
    super()

    this.pg = this.$extends(pagination)
  }

  async onModuleInit() {
    await this.$connect()
  }
}

Usage:
findAll(id: string) {
    return this.prismaService.pg.instances.paginate().withPages({
      limit: 10,
    });
}

@jdavidferreira did you get the typing to working. When I do this.prismaService.pg.instances I don't get any type interference

@jdavidferreira did you get the typing to working. When I do this.prismaService.pg.instances I don't get any type interference

It's necessary to type the variable pg in the PrismaService class, but I don't know what the type is

@hisabimbola @btd1337
Sorry, let me fix and improve the example:
import pagination from 'prisma-extension-pagination'

@Injectable()
export class PrismaService extends PrismaClient implements OnModuleInit {
  public readonly prismaExtended

  constructor() {
    super()

    this.prismaExtended= this.$extends(pagination())
  }

  async onModuleInit() {
    await this.$connect()
  }
}

Usage:
@Injectable()
export class ProductsService {
  constructor(private readonly prisma: PrismaService) {}

  findAll() {
    return this.prisma.prismaExtended.product.paginate().withPages({
      limit: 10,
    })
  }
}

prismaExtended

The issue is not this. The real problem is that if you write your code without typing the prismaExtended variable, all type recognition is lost. No changes made in the Prisma schema will be detected or flagged. You won't know if there were break changes when you alter your schema.
Therefore, it is necessary to type the prismaExtended variable correctly.

Reference: https://github.com/deptyped/prisma-extension-pagination/issues/19

@hisabimbola Did you try my new implementation?
My previous example was wrong and it the prismaExtended type (previously pg) was not being infered. I fixed the implementation. TypeScript is able to infer the type based on the assignment inside the constructor.
Evidence:

@hisabimbola Did you try my new implementation?
My previous example was wrong and the prismaExtended type (previously pg) was not being infered. I fixed the implementation. TypeScript is able to infer the type based on the assignment inside the constructor without typing it at declaration.
Evidence:

@jdavidferreira what TypeScript version is your project using? And could you please share your tsconfig?
This behavior is not occurring in my VSCode IDE.

That could be the issue. I'm using the TypeScript version 5.2.2.
tsconfig.json
{
  "compilerOptions": {
    "module": "commonjs",
    "target": "ES2020",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./",
    "incremental": true,
    "skipLibCheck": true,
    "strict": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true
  }
}

@jdavidferreira I found the problem:
The property "noImplicitAny": false in tsconfig file.
I removed this property, and autocomplete now works correctly.

I removed this property, and autocomplete now works correctly, but the code break with errors:
@btd1337 You have to type all those fields. 😬 It will be tedious but you will have more type safety throughout your project.

Hi @jdavidferreira ! Im following this setup :

@hisabimbola, @btd1337 Sorry, let me fix and improve the example:
import pagination from 'prisma-extension-pagination'

@Injectable()
export class PrismaService extends PrismaClient implements OnModuleInit {
  public readonly prismaExtended

  constructor() {
    super()

    // This will install the extension to all models. You can also install the extension on some models only, see: https://github.com/deptyped/prisma-extension-pagination#install-extension-on-some-models
    this.prismaExtended = this.$extends(pagination())
  }

  async onModuleInit() {
    await this.$connect()
  }
}

Usage:
@Injectable()
export class ProductsService {
  constructor(private readonly prisma: PrismaService) {}

  findAll() {
    return this.prisma.prismaExtended.product.paginate().withPages({
      limit: 10,
    })
  }
}

But the prismaExtended type is not being infered. This is my tsconfig.json (i remove the "noImplicitAny": false value)
{
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "target": "ES2021",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./",
    "incremental": true,
    "skipLibCheck": true,
    "strictNullChecks": false,
    "strictBindCallApply": false,
    "forceConsistentCasingInFileNames": false,
    "noFallthroughCasesInSwitch": false,
    "esModuleInterop": true
  }
}

Demo:
demo_prisma_2.webm
Is there another configuration to check?

Look at this


What are the goals for this project?

What are the goals for this project? Hi, i think this project looks cool so i was wondering what your plans for its future are? do you have any planed features/ and its general philosophy.

@ostap-tymchenko  right now i want to ascii logo platform dependent...
add support for more package managers and add a lot more things...


Add env property on Registry

Acutally it's not possible to manage env vars of container registry.
Please let'me override registry configuration : https://docs.docker.com/registry/configuration/
A use case, inspirated by following post : https://maelvls.dev/docker-proxy-registry-kind/ is to declare a registry as a docker proxy for kind.

Create network, proxy and cluster; attach proxy to the network :
export KIND_EXPERIMENTAL_DOCKER_NETWORK=cluster
docker network create --scope local --driver bridge --subnet <IP_ADDRESS>/16 --gateway <IP_ADDRESS> $KIND_EXPERIMENTAL_DOCKER_NETWORK
ctlptl apply -f /dev/stdin <<EOF
apiVersion: ctlptl.dev/v1alpha1
kind: Registry
name: proxy-docker-hub
env:
- REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io
---
apiVersion: ctlptl.dev/v1alpha1
kind: Cluster
product: kind
kubernetesVersion: "1.26"
kindV1Alpha4Cluster:
  name: $KIND_EXPERIMENTAL_DOCKER_NETWORK
  featureGates:
    PodSecurity: true
  containerdConfigPatches:
  - |-
    [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
      endpoint = ["http://proxy-docker-hub:5000"]
  nodes:
  -   role: control-plane
EOF
docker network connect $KIND_EXPERIMENTAL_DOCKER_NETWORK proxy-docker-hub

Pull an image inside cluster :
docker exec -it $KIND_EXPERIMENTAL_DOCKER_NETWORK-control-plane crictl pull docker.io/library/alpine:3.9.6

Check proxy's logs :
docker logs -f proxy-docker-hub

I'm fine with this feature. but i think something got messed up with your PR -- looks like it included a bunch of commits that have already been merged.


Current release is broken for cocurrent=True

Not sure if you could verify this, but this example no longer works:
[1]
n =[str(x) for x in range(2)]
input: [f'{x+1}.txt' for x in range(2)], group_by = 1, paired_with = 'n', concurrent = True
run: expand = '${ }'
  echo ${n} ${_input}

ERROR: [default_1]: concurrent_execute() got an unexpected keyword argument 'capture_output'

I suspect the master and the current pip release are both broken ...

Sorry. My fault. Will fix soon.

It is working here. Could you update to the latest version, even remove old installed versions and try again?

Well, for serious bugs like this type I always purge all old installations and test again. I actually did :
rm -rf /opt/miniconda3/lib/python3.6/site-packages/sos-*
rm -rf /opt/miniconda3/bin/sos

Then re-install, but still see the error.

You also need to remove sos-notebook because a previous version monkey patches this function.

Ahh indeed. I did not think sos-notebook is relevant so I did not update it. Anyways, it seems sos-essentials should need an update? Because this script:
  pip install --upgrade --upgrade-strategy only-if-needed --no-cache-dir --user sos-essentials

Failed to successfully update my pip installation (I believe this is the "official" command for update, right)? I've changed the title of this issue (see above.)

I was confused by sos-notebook as well but this was why I removed the monkey-patching mechanism and moved the capture_output part from sos-notebook to sos. Perhaps I should further reduce the use of sos-notebook in sos (right now it is imported to convert ipynb to sos etc).
I am not sure what went wrong with sos-essentials, it seems to be working here.

I am not sure what went wrong with sos-essentials, it seems to be working here.

I think sos-essentials has 2 problems:

it is not kept updated:  https://pypi.python.org/pypi/sos-essentials/<IP_ADDRESS> is Oct 2017
Even if it is updated sos-essentials does not have version requirements for packages installed:

    install_requires=[
        'sos',
        'sos-notebook',
        'sos-pbs',
        'sos-bash',
        'sos-python',
        'sos-r',
      ]

As a result, pip --upgrade sos-essentials will not work.

You mean we should update sos essentials each time we upgrade its component? I thought this could be done with —upgrade.

You mean we should update sos essentials each time we upgrade its component?

I think so. Here is result running on a computer that is out of date with both sos and sos-notebook
 pip install --upgrade --upgrade-strategy only-if-needed --no-cache-dir --user sos-essentials
Requirement already up-to-date: sos-essentials in /opt/miniconda3/lib/python3.6/site-packages
...

Basically it did nothing. However,
[GW] pip install --upgrade --upgrade-strategy only-if-needed --no-cache-dir --user sos
Collecting sos
  Downloading sos-<IP_ADDRESS>-py3-none-any.whl (317kB)
    100% |████████████████████████████████| 317kB 13.6MB/s

will work.


[WIP] QV documentation

Summary
Details and comments

I'll open another PR based on the refactor.


WIP: Feature/issue 840 bookmark services

Re-opened with recent changes.

re-opening with pr that is easier to follow


Default pattern name is being ignored in the collection template

Apologies if this is specific to cloudfour.com-patterns (happy to close this issue if so), but I've been encountering behavior I don't really expect.
If I create a pattern called foo-bar.hbs, my expectation is that it's default name (if I fail to provide one) will be "Foo Bar." I'd say about 50 - 75% of the time, replacing - with   and capitalizing each word in the result will give the desired name.
But currently, if I fail to provide a name, it won't output any heading at all. 😕

There is a default. Assuming you're noticing this on the collection pages, it looks like this issue you're seeing might be due to this:
https://github.com/cloudfour/drizzle/blob/master/src/templates/drizzle/item.hbs#L4-L6
We're looking for data.name instead of name. After examining the builder tests a bit, it appears that name will be overridden by supplying a data.name. So we should change that bit of HTML to reference name instead.

Closed via #64