Allow built-in modules crypto and asset in CodeRun

Additionally allow promises to be returned from code run which may be required for some of the crypto methods to work
Update vm2 to latest version
Allow template strings. running format + lint was breaking and prettier did not have a way to not convert nested quotes so its easier to allow template strings in for linting.

This solves the problem of being able to import needed libs to perform specialized actions such as hashing a value for authorization. It would be unreasonable to expect hashing algorithms to be written entirely in CodeRun.  We can include or allow as many libs as we like and we should be somewhat careful so we don't allow users to break things in unexpected ways, but this diff adds 2 libs that I believe have high value.

crypto
assert

Crypot allows users to perform all sorts of functions such as hmac that one our potential customers requested.

If the future its possible to create a specific test action (step) for this process, however it's fundamental to have the ability to do ad-hoc functions in CodeRun so no one blocked on us needing custom specialized actions. I would aruge the custom action is a nice-to-have but CodeRun should also be able to perform these tasks. But I would not think it should be allowed to make requests as we have standard actions for that.
Additionally, it seemed relevant to include assert so users could perform customized asserts that have increased complexity such as deepEqual or any other method found here
https://nodejs.org/api/assert.html
I feel like it makes sense to be able to assert something in coderun and see it in the execution report.

Finally, CodeRun had to be refactored to deal with async methods for support HMAC because it has a call back. To deal with that, we had to return a promise from eval() and then also add a listener for unhandled exception from vm2 (per vm2 docs)
But for example, if you pass "hex1" instead of "hex" to the hmac data object's toString method, then we actually see the error make it back to the execution report.

TODO: Update code run jest tests


Add MouseEnterEvent, MouseLeaveEvent and MouseWheelEvent events

That's we all need! Thank you for PR :+1:

bors r+


Release 3.3.0

Merging the changes from last week into master branch as release 3.3.0.  All changes have already been reviewed, but due to API changes, this will be considered a "minor" version under semantic versioning, hence the pull request for review as well.
Here are the issues that are addressed in this version:

Update HU capabilities after successful setDisplayLayoutResponse (#53 via #112)
Refactor fuel level state methods to follow Java naming conventions (#84 via #96)
Made VrCapabilities follow project guidelines (#89 via #92)
Fix enable/disable of SiphonServer (#60 via #75)

Should create a release/3.3.0 branch to merge from instead of merging from develop.  Will create branch and new PR, sorry about that.


Update policies.rst

Removing gender

Hi @sebastienros, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

Other things we should fix:

reception -> receptionist
Remove the "shame"


node-pre-gyp error but app still functioning

Software
OSX 10.13.1
node: 9.2.0
npm: 5.5.1
Questions:

Does node-pre-gyp server down?
If it does. How can I fix my error?
Do I need to install XCode? I am now working on ReactJS not ReactNative

Thanks
Creating a new React app in /Users/sarit/study/egghead.

Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts...

><EMAIL_ADDRESS>install /Users/sarit/study/egghead/node_modules/fsevents
> node install

node-pre-gyp ERR! Tried to download(404): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.1.2/fse-v1.1.2-node-v59-darwin-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v59 ABI) (falling back to source compile with node-gyp)
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

  SOLINK_MODULE(target) Release/.node
  CXX(target) Release/obj.target/fse/fsevents.o
  SOLINK_MODULE(target) Release/fse.node
  COPY /Users/sarit/study/egghead/node_modules/fsevents/lib/binding/Release/node-v59-darwin-x64/fse.node
  TOUCH Release/obj.target/action_after_build.stamp

><EMAIL_ADDRESS>postinstall /Users/sarit/study/egghead/node_modules/uglifyjs-webpack-plugin
> node lib/post_install.js

+<EMAIL_ADDRESS>+<EMAIL_ADDRESS>+<EMAIL_ADDRESS>added 1266 packages in 61.113s

Success! Created egghead at /Users/sarit/study/egghead
Inside that directory, you can run several commands:

  npm start
    Starts the development server.

  npm run build
    Bundles the app into static files for production.

  npm test
    Starts the test runner.

  npm run eject
    Removes this tool and copies build dependencies, configuration files
    and scripts into the app directory. If you do this, you can’t go back!

We suggest that you begin by typing:

  cd egghead
  npm start

Happy hacking!

Same issue i have

Many things aren't precompiled for Node 9 yet, you should be using Node 8.
This error is caused by a misconfigured development environment -- see https://github.com/nodejs/node-gyp/issues/569 on how to fix.

@Timer Thank you. Node 8 builds without any error 👍

@Timer why? Can you explain what's wrong with homebrew install?

You can’t have several versions at the same time if you install it globally (as with Homebrew).

What is the exact node version, as per docs here, it says Node 8. So does that mean I can use v8.13.0 or it has to be v8.0.0?
Thanks


EKF: Use math library for quaternion to rotation matrix conversions

This change fixes the following issues:

The quat_to_invrotmat function produced the same rotation matrix as the math library operator, but the name and comments indicated otherwise. This function was being used in several places where the math library could be used instead.
In several places where an inverse rotation was required, the rotation matrix was being calculated, then transposed.

The following changes have been made

Wherever the required rotation matrix can be calculated directly from the quaternion using the math library operator, this is done.
The quat_to_invrotmat function has been modified so that it outputs the inverse rotation to that produced by the math library and the comments have been updated to make this clear.
Wherever an inverse rotation matrix is required from a quaternion, the quat_to_invrotmat function is used instead of calculating the matrix and then transposing it.

SITL log attached:
https://review.px4.io/plot_app?log=397c0931-225d-423d-bf55-0a1014075998

@RomanBapst can you please review this. I would like to get this in before we deal with https://github.com/PX4/ecl/pull/634

https://github.com/PX4/ecl/pull/634 has been merged so I'll fix a couple of minor conflicts and rebase.

@priseborough can we get this in?

@priseborough @RomanBapst Would be great to have this in

@kamilritz Looks good to me.


Library compilation warning

Currently, if you publish/offer a crate and a todo_by expires in the lib code, then I believe it would be an unfixable compilation error for anyone importing the crate.
Is there a way around this? Can we limit the context in which this compiler error shows?

Lib authors could perhaps have an optional envar like TODO_BY_LIB=true that would not get included in the crate repo (via git dep) or crates.io assets.

An easy way to do this is
return quote! {
            #[cfg(test)]
            compile_error!(#error_message);
            #[cfg(not(test))]
            pub const _: () = {
                #[deprecated(note = #error_message)]
                const TODO: () = ();
                TODO
            };
        }
        .into();

which would satisfy #2 also. It works by the fact that dependencies don't get passed cfg = test when cargo test is ran.
cargo check -p fail
    Checking fail v0.1.0 (/Users/emil/workspace/todo_by/fail)
warning: use of deprecated constant `add::_::TODO`: TODO by Jan 1, 2022 has passed
 --> fail/src/lib.rs:2:5
  |
2 |     todo_by::todo_by!("2022-01-01");
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(deprecated)]` on by default
  = note: this warning originates in the macro `todo_by::todo_by` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: `fail` (lib) generated 1 warning
    Finished dev [unoptimized + debuginfo] target(s) in 0.09s

and when testing a crate which has todo_by
cargo test -p fail
warning: use of deprecated constant `add::_::TODO`: TODO by Jan 1, 2022 has passed
 --> fail/src/lib.rs:2:5
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(deprecated)]` on by default
  = note: this warning originates in the macro `todo_by::todo_by` (in Nightly builds, run with -Z macro-backtrace for more info)

   Compiling fail v0.1.0 (/Users/emil/workspace/todo_by/fail)
warning: `fail` (lib) generated 1 warning
error: TODO by Jan 1, 2022 has passed
 --> fail/src/lib.rs:2:5
  |
2 |     todo_by::todo_by!("2022-01-01");
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: this error originates in the macro `todo_by::todo_by` (in Nightly builds, run with -Z macro-backtrace for more info)

error: could not compile `fail` due to previous error

You could do something like
#[forbid(dead_code)]
#[allow(non_upper_case_globals)]
const TODO_by_Jan_1_2022_has_passed: () = ();

For dependencies cargo will pass --cap-lints allow which silences the dead code warning, but for user crates it will give an error which can't be silenced using #[allow(dead_code)] due to #[forbid(dead_code)].

Someone on Reddit brought up the CARGO_PRIMARY_PACKAGE envar.
Here's what it says in the docs:

CARGO_PRIMARY_PACKAGE — This environment variable will be set if the package being built is primary. Primary packages are the ones the user selected on the command-line, either with -p flags or the defaults based on the current directory and the default workspace members. This environment variable will not be set when building dependencies. This is only set when compiling the package (not when running binaries or tests).

So we can attempt to use this to scope to the "current working crate", hopefully. I think this lib should provide a warning instead of a strong error though in order to have reproducible builds.

I tested the CARGO_PRIMARY_PACKAGE envar and it's a dead end. I created a dependency tree to test like
todo_by
library_using_todo_by
binary_using_library
The envar was not present in any of these when running the binary or library. It was only present when running the todo_by tests itself. So that defeats the purpose.

How did you implement it? It should work just fine, as long as you use std::env::var("CARGO_PRIMARY_PACKAGE") and not env!("CARGO_PRIMARY_PACKAGE")

Yep, this is what I used. I logged out the value along with the project name so I would know which depth the value came from. All said the same thing.
I can try again though.


Error while loading plugin

E5108: Error executing lua ...nordic.nvim/lua/nordic/groups/integrations/telescope.lua:83: attempt to index field 'telescope'
(a nil value)

I do have config block (copy-pasted from readme)
	use({
		"AlexvZyl/nordic.nvim",
		config = function()
			require("nordic").setup({
				telescope = {
					style = "flat",
				},
			})
		end,
	})

I can't reproduce this.  Are you on latest?

My bad.  This happens when you do not call setup.  Will fix now.

Fixed in 9abc2ba7fdf2cd192cd79525ea9f56d284a2cce8.

telescope.style can also have default value.


proposal: cmd/go: add ignore directive to go.mod to drop files from module

x/mod hardcodes the max size of a module, zipped or extracted, at 500M. There is no (sane) way to exclude files from a module. This means that if you have a mixed repo with vendored assets and go source code with a go.mod at the root of the repo, you are effectively restricted to a max repo size of 500M.
#37697 suggests respecting the .gitignore file for x/tools/gopls, however this would not be a good solution to the go module max size restriction.
A solution to both problems would be to add an ignore section to the go.mod file. For example:
ignore (
    assets
)

(As a temporary workaround to the hardcoded module size, you can create an empty go.mod file in any subdirectory you want to exclude, which causes it to be flagged as a submodule and excluded from the module zip.)

Have you seen https://github.com/golang/go/issues/29987? It seems like dropping a go.mod in the subdirectory would exclude that entire directory sub-tree from the module's archive.
CC @jayconrod @bcmills

@mvdan I have. I mentioned this workaround. I consider it a less than ideal hack though. Adding an empty go.mod to non-go source code to exclude it is the kind of behavior that should not be relied on.

My bad - I misread part of your original issue.
I still think that an extra go.mod is a reasonable solution, though. If performance is the main worry here, I'm sure we could look at optimizing how the go tool handles this case. I'm generally in favor of exhasuting all options (including optimizing current features/APIs) before adding new features.

In most cases I'd agree. But this functionality is needed for a few different tools now (x/tools/gopls and x/mod, at least), and I think the complexity of an explicit configuration option is lower than relying on an unintended side effect of x/mod. Putting an empty go.mod file in with source code that's not related to go is definitely not a pretty or intuitive solution.

@jniedrauer, the use of go.mod files to defined module boundaries is not an “unintended side effect”. It is an intentional part of the design.
If it is “not a pretty […] solution”, well, that's unfortunate — but we don't generally change Go tooling (or add redundant features) for purely aesthetic reasons.
If it is “not [an] intuitive solution”, that may be a matter of improving documentation and/or user education. (I think it's too early to tell one way or another, given that large projects especially have only been adopting modules for a year or so, and in small projects this sort of repository division is not necessary.)

cc @matloob
I somewhat agree that adding a go.mod file in a subdirectory is not an intuitive solution. It reminds me a bit of using a tools.go file to track tool dependencies (#25922).
It's not clear to me that an ignore directive is the right solution though. As a user, I'd rather have a marker file (.goignore or something) in the directory to be ignored to avoid cluttering the go.mod file of a large repository. Having a marker like that makes it obvious why a directory is or is not included without having to look at another location. This is the same idea as adding a go.mod file though, just with a different name.

Any mechanism that can be used to exclude (non-go source) directory trees as the intended behavior will solve the problem. I still think an empty go.mod is a hack, but if it's documented and compatibility is maintained in future versions, then it works for me. I do think that putting it in go.mod is better from a discoverability standpoint. Magic files like dockerignore have bitten me many times in the past. There's also not really a precedent for such files within the go tooling (with the exception of tools.go as noted above)

Wondering if this ignore concept could be extended to monorepos with vendor/ dirs that are not go code.
I would love to be able to add something in my go.mod so it knows to always run in mod mode.
I would settle for:
ignore (
    assets
    vendor
)

Even if we wanted to do this, I don't see any viable path forward.
All versions of Go have to agree about which files go into a module,
so that they will all agree about the checksum in go.sum and in the checksum database.
There are already two ways to do this: a dummy go.mod or putting
your assets and Go code in sibling subdirectories of the repo root.
Both of those are feasible today, in contrast to adding an ignore directive.

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

@rsc Don't we have the Go version directive at the beginning of the go.mod file just for this purpose?  So that e.g. the proposed directive is only supported for go.mod files tagged with a sufficiently recent Go version?  Or perhaps I've misunderstood what the point of this mechanism is.

@clausecker Unfortunately, that's not sufficient.  Today, that works (or at least, it can work). The author of the module may use 1.16 features like embed, as long as they're guarded by release tags (like // +build go1.16), and there's some alternative for dependents using 1.15 and earlier. Under this proposal, it would not be safe for Go 1.15 to fetch a module with go 1.16, since the contents might have changed in a way Go 1.15 can't know about.

No change in consensus, so declined.
— rsc for the proposal review group

Now that this proposal has been rejected, is there any movement to create a .goignore file? I am only interested in this because of problems with my IDE: https://github.com/golang/go/issues/37697

cc @matloob
I somewhat agree that adding a go.mod file in a subdirectory is not an intuitive solution. It reminds me a bit of using a tools.go file to track tool dependencies (#25922).
It's not clear to me that an ignore directive is the right solution though. As a user, I'd rather have a marker file (.goignore or something) in the directory to be ignored to avoid cluttering the go.mod file of a large repository. Having a marker like that makes it obvious why a directory is or is not included without having to look at another location. This is the same idea as adding a go.mod file though, just with a different name.


Config to remove "Invoking command'..."

At least the cf plugin has the feature to curl and return JSON but because the ibmcloud command prints out
Invoking 'cf curl '...

first further processing of the JSON output breaks without further tweaks.
I think it would be neat to suppress that output to have a consistent look & feel for "ibmcloud cf curl ..." and "cf curl ..."
My current workaround is to define a function (bash or zsh) before invoking cf commands:
cf() { ibmcloud cf "$@"|tail -n+3; }

@hphde Try -q flag. It works for me as follows:
ibmcloud cf curl /v2/apps -q | jq

@hphde Try -q flag. It works for me as follows:
ibmcloud cf curl /v2/apps -q | jq


ci: Removed reference to removed workflow

Description
Removed reference to removed workflow that breaks release cycle

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[x ] included the correct type prefix in the PR title
[x] added ! to the type prefix if API or client breaking change
[x] added appropriate labels to the PR
[x] targeted the correct branch
[x] provided a link to the relevant issue or specification
[x] added a changelog entry to CHANGELOG.md
[x] included comments for documenting Go code
[x] updated the relevant documentation or specification
[x] reviewed "Files changed" and left comments if necessary
[x] confirmed all CI checks have passed

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] confirmed the correct type prefix in the PR title
[ ] confirmed all author checklist items have been addressed
[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] reviewed documentation is accurate
[ ] reviewed tests and test coverage
[ ] manually tested (if applicable)

Thank you @marcmat , I forgot this one 🤡


Add reset for Mixpanel adapter

Hi,
I've added reset function to Mixpanel adapter, this is helpful when we want to reset distinct ID after logout for example.
Cheers!

I want to avoid adding more methods to the service, particularly for one that is only supported by one or a few adapters. You can use the invoke method to do the same thing.


Allow to monitor all branches or all PRs

It would be very useful to run this resource to build status reports for all PRs opened against a repository, but as far as I can see, this is not possible, since we are restricted to monitoring a specific branch? (teliaoss/github-pr-resource provides this functionality, but I would prefer not to use two different resources to interact with statuses per commit or per PR).

If you prefer, I believe you can put status updates to arbitrary commits (e.g. from pull requests) by setting commit to the PR checkout. Is that what you're looking for?
If you're looking to trigger something after every status change on any branch/PR, I don't think there is a practical, technical solution for doing that, and I'm not sure it fits well with Concourse's current model. If you have ideas on that, I'm interested in hearing more.


s3 Compatible: registry s3 driver support radosgw

Now, registry s3 driver unsupport RadosGW.
The pull request https://github.com/docker/distribution/pull/808 @lorieri aims to this issue. Regrettably,  pull request https://github.com/docker/distribution/pull/808 is not enough beacuse there are several amazon S3 REST API that registry used but RadosGW unsupport:

regionendpoit configurable (refer to https://github.com/docker/distribution/pull/808)
HEAD for object info (refer to https://github.com/docker/distribution/pull/808)
x-amz-copy-source-range (used when upload multi part)
x-amz-copy-source (used when upload multi part)
delete multiple objects (used when delele multiple objects )
complete upload multiple part need http header content-length (needed by RadosGW fix in https://github.com/AdRoll/goamz/pull/388)

This pull request  aims to fix S3 compatibility  mentioned above, AND this pull request should work with pull request https://github.com/AdRoll/goamz/pull/388

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "master" git@github.com:wangmingshuai/distribution.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Hi @wangmingshuai,
It would be great if you help us in the #808


hotfix: fix issue where default lora rank is overwriting setting of 0

Today in the map_train_to_library function, we parse and set the lora options conditionally.
However; the LoraOptions class from instructlab/training has a default rank of 4.
Since we are not explicitly setting this value, when the ilab user sets this to 0, it will
retain the default of 0. This commit fixes this issue by explicitly initializing the rank to 0.
Signed-off-by: Oleg S<EMAIL_ADDRESS>

Checklist:

[x] Commit Message Formatting: Commit titles and messages follow guidelines in the
conventional commits.
[ ] Changelog updated with breaking and/or notable changes for the next minor release.
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.

wow these LoRA changes have proven to be a problem, thanks for fixing this!


Source Install Fails with "No package vtk-phython available"

I am trying to do a source install of Jade onto Fedora 22, using the instructions here: http://wiki.ros.org/jade/Installation/Source. I am trying the desktop-full install. Everything works until I try to resolve the dependencies with the command:
rosdep install --from-paths src --ignore-src --rosdistro jade -y

I then get an error that "No package vtk-phython available". I assume this should be vtk-python? It looks like the mistake is here:
https://github.com/ros/rosdistro/blob/master/rosdep/base.yaml#L2927-L2929
The full console output is below.
rosdep install --from-paths src --ignore-src --rosdistro jade -y

executing command [sudo -H dnf --assumeyes install collada-dom-devel python-matplotlib PyQwt-devel gtk2-devel tinyxml-devel PyQt4 yaml-cpp-devel python-nose pcl-devel opencv-devel ogre-devel libuuid-devel console-bridge-devel sbcl tango-icon-theme cmake cppunit-devel libcurl-devel bzip2-devel pcl-tools python-devel mesa-libGL-devel urdfdom-devel apr-devel vtk-phython vtk-java pcl wxPython-devel qhull-devel numpy urdfdom-headers-devel python-mock boost-devel PyOpenGL log4cxx-devel python-empy PyQt4-devel libtool-ltdl-devel libtheora-devel assimp libtool hddtemp gtest-devel libjpeg-turbo-devel graphviz fltk-devel poco-devel gazebo-devel eigen3-devel python-psutil libogg-devel qt-devel pydot python-pygraphviz lz4-devel python-pillow-qt python-netifaces opencv-python sip-devel mesa-libGLU-devel assimp-devel]

Last metadata expiration check performed 0:02:40 ago on Tue Nov 3 14:10:22 2015.

No package vtk-phython available.

Error: Unable to find a match.

ERROR: the following rosdeps failed to install

dnf: command [sudo -H dnf --assumeyes install collada-dom-devel python-matplotlib PyQwt-devel gtk2-devel tinyxml-devel PyQt4 yaml-cpp-devel python-nose pcl-devel opencv-devel ogre-devel libuuid-devel console-bridge-devel sbcl tango-icon-theme cmake cppunit-devel libcurl-devel bzip2-devel pcl-tools python-devel mesa-libGL-devel urdfdom-devel apr-devel vtk-phython vtk-java pcl wxPython-devel qhull-devel numpy urdfdom-headers-devel python-mock boost-devel PyOpenGL log4cxx-devel python-empy PyQt4-devel libtool-ltdl-devel libtheora-devel assimp libtool hddtemp gtest-devel libjpeg-turbo-devel graphviz fltk-devel poco-devel gazebo-devel eigen3-devel python-psutil libogg-devel qt-devel pydot python-pygraphviz lz4-devel python-pillow-qt python-netifaces opencv-python sip-devel mesa-libGLU-devel assimp-devel] failed

Looks like the rule is wrong, as you pointed out.

Fixed with this pull.
https://github.com/ros/rosdistro/pull/9762


MediaInfo won't show Timecode Information in Datatrack of Sony Alpha XAVC mp4 File

it would be very useful if mediainfo could extract the timecode information of a Sony Alpha XAVC mp4 File.
We know that this Video has TC because ffprobe (readout added) shows the Datatrack and Playersoftware (Telestream Switch) shows the TC as (sotc)
If needed i could provide a download-link to an original file
C0003-mediainfo.txt
C0003-ffprobe.txt

Hi, we face the same problem here at SWR in Germany. Is there any chance to get it fixed ? Thx !

@se-wi sorry I did not answer sooner.
@se-wi or @pimswr first we need a sample file.

Hi Jerome,
thanks for your response, i uploaded the example from the readouts here:
https://share.ard-zdf-box.de/s/FdWDmyBnnBq8EaQ
thx again
se-wi

We checked the provided file, we see like FFmpeg the rtmd track but if we understand well it is real time metadata and not a time code.
Looking for some other places in the file with time code...
your FFmpeg output does not show the time code, right?
What is the display (time code value and more) of Playersoftware?

By the way, free support is low priority, if you are interested in prioritizing such development please let us know.

dev snapshots.


Change Rendering API not showing?

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
Pretty self explanatory

Read the release notes for https://github.com/pizzaboxer/bloxstrap/releases/tag/v2.5.4.

"Removed option to configure rendering mode due to how much instability it causes. It will be added back in the future when better precautions are in place."


fix typo in challenge in english, japanese, portuguese, ukrainian

Checklist:

[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 main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #45269

Fixed typo in english, japanese, portuguese, ukrainian

Thank you for your pull request, but we are unable to accept it as it is. As explained in our contributing guidelines, changes to challenges have to be done only to the English files, as the other languages are updated through automated pipelines.
Please update this PR removing the changes to non-english languages

I apologize for the inconvenience!
I reverted the commit, and made the correct changes.
Is this how it should be done? or should I fork the repo again and make changes?


Issue #77 to reopen

in publish pending change the line to
pending=$(qstat -g d -s p -u '*' | tail -n+3 | awk '$5 == "qw" || $5 == "Rq" {total = total+ $8} END {print total}')
so that Rq jobs are counted as pending.
Thank you!

Closing this in favor of just repoening #77, since this issue loses all the history.


New SPIR SPV_INTEL_vector_compute extension

https://www.phoronix.com/scan.php?page=news_item&px=Intel-IGC-Vector-Backend
https://github.com/intel/llvm/pull/1612/files
This could revolutionize 2D rendering performance (and/or efficiency) on Intel igpus (most of the market) so you should keep an eye on it :}

Interesting. Closing for now as not enough information is yet available to see if this will be useful for PF.


Ability to add width and height to the image

I am using this package along with mdx-bundler and Next Image. It would be great if width and height can be added to local images. This will help in avoiding cumulative layout shift

@remcohaszing  I was about to create the similar issue but saw your comment. I'd very much like if you could also support img tag. In many cases there's a need to add custom styling or css classes which is not possible with image markdown ![]() syntax.

After some chatting with @wooorm he came up with the idea to use determine the image width and height from the file on disk, then insert those values as props.
I believe this is also a great solution to tackle the problem in the OP, which is to avoid cumulative layout shift. This also means the markdown content doesn’t have to change. However, this solution doesn’t align with the goal of this remark plugin, which is to make bundlers resolve images sources. This could be created as a separate plugin.

Why use rehype instead of remark, it seems like a good feature to add to remark-mdx-images

Because rehype is for HTML. It’s the place where you deal with elements, attributes, etc. More: https://github.com/remarkjs/remark-rehype#what-is-this.

Maybe I didn't express myself clearly
I copied the remark-mdx-images to my local and made some changes
import { dirname, join } from 'path'
import { visit } from 'unist-util-visit'
import sizeOf from 'image-size'

const urlPattern = /^(https?:)?\//
const relativePathPattern = /\.\.?\//

const remarkMdxImages =
  ({ resolve = true } = {}) =>
  (ast, file) => {
    const imports = []
    const imported = new Map()

    visit(ast, 'image', (node, index, parent) => {
      let { alt = null, title, url } = node
      if (urlPattern.test(url)) {
        return
      }
      if (!relativePathPattern.test(url) && resolve) {
        url = `./${url}`
      }

      let name = imported.get(url)
      if (!name) {
        name = `__${imported.size}_${url.replace(/\W/g, '_')}__`

        imports.push({
          type: 'mdxjsEsm',
          value: '',
          data: {
            estree: {
              type: 'Program',
              sourceType: 'module',
              body: [
                {
                  type: 'ImportDeclaration',
                  source: { type: 'Literal', value: url, raw: JSON.stringify(url) },
                  specifiers: [
                    {
                      type: 'ImportDefaultSpecifier',
                      local: { type: 'Identifier', name },
                    },
                  ],
                },
              ],
            },
          },
        })
        imported.set(url, name)
      }

      const textElement = {
        type: 'mdxJsxTextElement',
        name: 'img',
        children: [],
        attributes: [
          { type: 'mdxJsxAttribute', name: 'alt', value: alt },
          {
            type: 'mdxJsxAttribute',
            name: 'src',
            value: {
              type: 'mdxJsxAttributeValueExpression',
              value: name,
              data: {
                estree: {
                  type: 'Program',
                  sourceType: 'module',
                  comments: [],
                  body: [
                    {
                      type: 'ExpressionStatement',
                      expression: { type: 'Identifier', name },
                    },
                  ],
                },
              },
            },
          },
        ],
      }

      if (title) {
        textElement.attributes.push({
          type: 'mdxJsxAttribute',
          name: 'title',
          value: title,
        })
      }

      const imagePath = join(dirname(file.path), url)
      const imageSize = sizeOf(imagePath)

      textElement.attributes.push(
        ...[
          {
            type: 'mdxJsxAttribute',
            name: 'width',
            value: imageSize.width,
          },
          {
            type: 'mdxJsxAttribute',
            name: 'height',
            value: imageSize.height,
          },
        ],
      )

      parent.children.splice(index, 1, textElement)
    })

    ast.children.unshift(...imports)
  }

export default remarkMdxImages

const components = {
  img: (props: any) => <img {...props} loading="lazy" />
}

<MDXProvider components={components}>
  // ...
</MDXProvider>

There is no question in your comment? I don’t get it.

A little late to the party, but you may find @helmturner/recma-next-static-images helpful. I was running into the issue of images not working with the NextJS Image component, which requires either A) height & width or B) top-level static import. I'm actively developing it, and it's working well with my current project. I recently published it to npm. I apologize for the lack of a readme - that's coming up soon!
Quick notes: All local and remote images are cached at parse time in a folder of your choosing. As I'm typing this, I realize I need to handle local images differently because there will be duplication of local images (one in the original location, one in the cache directory).
Also, images are resolved from the file where they are referenced. For example, a markdown file in src/pages/blog/index.md would resolve ./image.png to src/pages/blog/image.png.
It's a bit more verbose than remark-mdx-images, so I'll be sure to borrow some patterns you've used here to see if I can clean it up a bit!

I created rehype-mdx-import-media as a replacement for remark-mdx-images. Since it’s a rehype plugin, it can run after other rehype plugins, meaning other any transforms are supported.


Convert geofence distance params to float

Identified by https://github.com/mavlink/qgroundcontrol/issues/4008, we should be using a float to store geofence distance parameters.

Thanks

Ahh! That's what's casing https://github.com/mavlink/qgroundcontrol/issues/4008!


Dev/6335+6278

#6335 & #6278 -- for testing purposes

now that #6335 and #6278 have been merged this PR is no longer needed.


63 vulnerabilities required manual review and could not be updated    --<EMAIL_ADDRESS>

Hello
I am trying to install but NPM is giving me some warnings please have a look at it.
npm install tachyons
npm WARN<EMAIL_ADDRESS>requires a peer of typescript@* but none is installed. You must install peer dependencies yourself.

<EMAIL_ADDRESS>updated 1 package and audited 36204 packages in 12.344s
found 63 low severity vulnerabilities
run npm audit fix to fix them, or npm audit for details

So when I tried to fix it. I am getting a message that I have to manual review it.
Thanks in advance
Munish

It is not always recommended, but you can use
npm audit fix --force  to fix those vulnerabilities forcefully.


Scripts overwrite support

Add the ability to overwrite scripts. Use is similar to file copy:
installScript(scriptName, scriptCommand, { overwrite: true });

yeah, that was a change brought in by a pull request. i need to figure out a better fix, but you can go ahead and just change it to \n in this branch until i figure out exactly what it needs to be

It looks like the line break has been here almost from the beginning of validate.sh . https://github.com/nlf/git-validate/commit/678b4e539fba67c8922588a8f0ba6109879c4161
Not sure what could've broken it (other than cmd line tool updates).

@meister if you merge in master and add in that feature suggestion (allowing for no options to be passed) i'd like to merge this

@nlf Ready now.

@nlf It seems that sed 's/\r//' was actually replacing all first r characters with empty string (none-of the pre-push scripts run), Last commit also fixes that -> just use sed 's/\\r//' instead

Debugging pre-commit hook script actually revealed this (logging out json in check_project()):
["pe-commit",0]	"lint-wan"
["pe-commit",1]	"code-style"
["pe-commit",2]	"test"
["pe-commit",3]	"npm-vesion-check"
["pe-commit",4]	"npm-shinkwrap"
["pe-commit",5]	"add-shinkwrap"

All the first rs are missing

good catch! merging and releasing asap


Adding kernel.json and logo.png files

Jupyter wasn't able to detect this kernel when I installed it, but I was able to fix this by adding a kernel.json file which gets installed into the share/jupyter/kernels directory. I've tested this locally and now a pip install will result in jupyter kernelspec list seeing the imatlab kernel. I also added a logo that should show up in Jupyter Lab. Here are the versions I'm using:
jupyter-client            5.2.3                     <pip>
jupyter-core              4.4.0                     <pip>
jupyterlab                0.32.0                    <pip>
jupyterlab-launcher       0.10.5                    <pip>
nbconvert                 5.3.1                     <pip>
nbformat                  4.4.0                     <pip>
notebook                  5.4.1                     <pip>

Let me know if you have any questions! And thank you so much for all your work; the kernel works really well!

Looks like this in Jupyter Lab. I used imatlab as the name to differentiate from the calysto matlab_kernel which registers as matlab

Not autoregistering the kernel on install is intentional: the readme explicitly states "run python -mimatlab install to register the kernel spec".  Note, for example, that your PR will not work on Windows, whereas python -mimatlab install will.
I would at least like to be sure that the MATLAB logo can indeed legally be redistributed in such a fashion before including it.

Ah, wow. I looked at the readme multiple times and repeatedly missed that line. I think it's because the sentence has an "Install with this ... or this ...' structure to it, so I must have assumed that third install was another option, rather than a mandatory second step. Maybe having a separate fenced code block for this would call attention to it?
Fair enough re: logo.


[FAQ] Does Chronos use the embedding layers of the LM

When you trained chronos from t5 initialized with random or language weights, did you finetune 'encoder.embed_tokens.weight', 'decoder.embed_tokens.weight', 'lm_head.weight' or while checkpointing, did you use save_safetensors=False in TrainingArguments.
I get There were missing keys in the checkpoint model loaded: ['encoder.embed_tokens.weight', 'decoder.embed_tokens.weight', 'lm_head.weight']. while resuming from checkpoint and with save_safetensors=True which is the default option. Did you have a similar warning while training if you used checkpointing?

My environment has version for torch, transformers and accelerate:
torch version: '2.3.1+rocm6.0'
transformer: '4.44.2'
accelerate:'0.34.0'

@Hstellar Sorry lost track of this. Are you still facing this issue? Can you share the exact command that you're running?

Closing due to inactivity. Please feel free to re-open if you have further questions.


/status endpoint missing some values

Some values in the SyncInfo field of the ctypes.ResultStatus returned by the FullClient.Status method are missing. This might break IBC.
Version of Git SHA
dfae38430c3d9b3d6b2ed822212e960271f71735
System OS
MacOS
cosmos-sdk  v0.47.3-rollkit-v0.10.1-no-fraud-proofs
Steps to reproduce it
curl localhost:26657/status
Expected result
correct values for latest_block_hash, latest_app_hash, and earliest_block_hash
Actual result
00000000000000000000000000000000

unsure, but flagging in case. #874 may be linked

We should add those hashes and other fields in the [TestStatus] (https://github.com/rollkit/rollkit/blob/3ae761f66b0b112d7db94c795b8d8fd833f06fe2/node/full_client_test.go#L1003) method

don't see any missing fields http://localhost:26657/status
{"jsonrpc":"2.0","id":-1,"result":{"node_info":{"protocol_version":{"p2p":"8","block":"11","app":"1"},"id":"9853a829930eb505a1bab2eaf928c3094d0228ec","listen_addr":"tcp://<IP_ADDRESS>:26656","network":"test","version":"1.6.0","channels":"40202122233038606100","moniker":"test","other":{"tx_index":"off","rpc_address":"tcp://<IP_ADDRESS>:26657"}},"sync_info":{"latest_block_hash":"1EFFF1EE78E0021B5E53154D6CEDFD33784E39175C01688A53274DD980F6AA7D","latest_app_hash":"9A4952EEC7D858DAE85BADE3FD0FF78DB12542006F410F0D82FC5F1355444D4E","latest_block_height":"3671","latest_block_time":"2024-01-16T10:13:18.573354799Z","earliest_block_hash":"CD4C0FB867A17705ED4B5C4FF78DEB616464572C710F7C99CC37D3D2CBC00DFA","earliest_app_hash":"E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855","earliest_block_height":"1","earliest_block_time":"2024-01-16T04:25:43.249857427Z","catching_up":false},"validator_info":{"address":"489540A144482B7AAF96BCA67E10E27F4A07C501","pub_key":{"type":"tendermint/PubKeyEd25519","value":"qeeZq6eaw2aJk4wkDEiIUzajYjXEtGWJJxzVj7h+lpo="},"voting_power":"5000"}}}


shouldWorkAgain invoke the constructor with React 16

Hello, I don't know if this is the normal behavior, but every time shouldWorkAgain is called, the constructor of the component is invoked, thus is construct the component again every time. This happens after I upgraded to React 16, with React 15 I don't have this behavior.
Here is my code :
@inject('userStore')
@withRouter
@observer
@withJob({
  work: ({ userStore, match }) => {
      return userStore.fetchUserListings(match.params.params);
  },
  shouldWorkAgain: (prev, next) => {
    return (prev.match.params.params !== next.match.params.params);
  },
  LoadingComponent,
  ErrorComponent,
  serverMode: 'defer',
})
export default class UpListingsView extends Component {
  //....
}

Hey @stelro
Sorry for the late reply. I have been doing some update rounds on my libs and am trying to push this lib forward.
Would you be happy to create a minimal example of this on codesandbox.io?


Logger argument missing in docs, or it should be an optional argument

The Readme and docs ('How to adopt ServiceLifecycle in applications') have this exact same line
configuration: .init(gracefulShutdownSignals: [.sigterm])

which is missing the required argument logger: Logger.
We should either add the argument with a sample Logger to those three occurrences in the docs, or make the argument optional.
As per discussion with Fabian: /cc @FranzBusch

Great catch thank you! Will get a PR up for this next week

Just opened a PR to add the missing logger argument in the README. As far as I could see it was present in the other docs.

It is missing in other places as well iiuc
https://github.com/search?q=repo%3Aswift-server%2Fswift-service-lifecycle init(gracefulShutdownSignals&type=code

All these places do have the logger argument as far as I can see.


KAFKA-6711: GlobalStateManagerImpl should not write offsets of in-mem…

This PR is addressing issues when persisting non persistent stores into checkpoint file.
Committer Checklist (excluded from commit message)

[x] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Call for review @bbejeck @vvcephei

@mjsax would you please check again

It seems that I somehow closed issue.

@cemo Thanks for the updated PR. I think it can still be simplified and left a comment above. LMK if it makes sense to you.

@cemo Are you still working on this? It seems that @guozhangwang latest comments got not addressed yet.

Unfortunately not, I was so busy lately. I would be glad if someone can take over this.


Fix assertion error in the KrnlToLLVM conversion pass for onnx.ml.CategoryMapper with 129+ element string arrays.

Assertion error occurs in KrnlToLLVM conversion pass for onnx.ml.CategoryMapper with 129+ element string arrays.
This PR fixes this error in the KrnlToLLVM conversion pass. Reported in issue #2045.
The compilation time may be long in this case, because symbols are generated for each elements in string array, the compilation time is long, so that compilation time optimization may be necessary.

Jenkins Linux amd64 Build #9898 [push] Fix Issue#2045. (#2055) ... started at 21:56

Jenkins Linux s390x Build #9913 [push] Fix Issue#2045. (#2055) ... started at 22:56

Jenkins Linux ppc64le Build #8963 [push] Fix Issue#2045. (#2055) ... started at 23:00

Jenkins Linux ppc64le Build #8963 [push] Fix Issue#2045. (#2055) ... failed after 1 hr 25 min

Jenkins Linux amd64 Build #9898 [push] Fix Issue#2045. (#2055) ... passed after 1 hr 55 min

Jenkins Linux s390x Build #9913 [push] Fix Issue#2045. (#2055) ... passed after 2 hr 45 min


Issue with AlonzoUtxowPredFailure predicate failure serialization

Fix in #4013 revealed a problem. Needs investigation and a backwards compatible fix.
    alonzo/AlonzoUtxowPredFailure:                                FAIL
      *** Failed! (after 6 tests):
      Failed to deserialize encoded:
      Encoder Version: Version 2
      Decoder Version: Version 2
      No Decoder error
      No Dropper error
      Conformance error: Despite successful deserialization the produced FlatTerm for the type is not valid
      Original:
      Could not decode as Term: DecoderErrorLeftover "Term" "\EOT\SOH\STX\SOH\SOH"
      OriginalHex:
      0x82078501030300020401020101
      ExtraRedeemers [AlonzoMinting (AsIx {unAsIx = 3}),AlonzoRewarding (AsIx {unAsIx = 0}),AlonzoCertifying (AsIx {unAsIx = 4}),AlonzoMinting (AsIx {unAsIx = 2}),AlonzoMinting (AsIx {unAsIx = 1})]
      Use --quickcheck-replay=75510 to reproduce.
      Use -p '/alonzo\/AlonzoUtxowPredFailure/' to rerun this test only.

Related ticket #3866

The issue is with serialization of AlonzoPlutusPurpose and is a known problem that has already been discovered and fixed for Conway in #3960
https://github.com/IntersectMBO/cardano-ledger/blob/95ee9c4134799a91ef28bdd42f3d0718c284d624/eras/alonzo/impl/src/Cardano/Ledger/Alonzo/Scripts.hs#L339-L340
Unfortunately we can't fix this problem for Babbage era right now, because that would break the node-to-client protocol. So, we need to wait until we are out of Babage to fix this serialization issue with AlonzoPlutusPurpose.

This test is disabled in #4150
More comprehensive roundtrip testing for predicate failures will be introduced with #3866
Removing this ticket from the backlog and will take care of it once we are in Dijkstra


Geneus Diagnostics Las Vegas - New Reportstream Request

New Reportstream ELR request
TOS completed
Looking to schedule a call for next steps.
From: Beatriz Pompe<EMAIL_ADDRESS>Sent: Tuesday, June 21, 2022 12:38 PM
To: Report Stream (CDC<EMAIL_ADDRESS>Subject: Re: Geneus Diagnostics Las Vegas
I have some sense of urgency to get this done, maybe get the simple report started would be a good option while ELR is set up.
I just registered for the ReportStream and signed the terms and conditions.
We need to report results to: Nevada, Arizona, Colorado and Texas at this time.
I am available for a call any day this week. 10am.
Thank you for your help.
Kind Regards,
Beatriz Pompe Austin, CLS
Chief Executive Officer - Las Vegas Laboratory
<EMAIL_ADDRESS>Direct:<PHONE_NUMBER>
Office:<PHONE_NUMBER>

Kickoff scheduled for later this week.

On 7/29/22 Beatriz let us know the lab was having financial issues and pausing connecting for now. Closing this out. Should they decide to onboard in the future we'll revisit.


Make LiteralToken not depend on Symbol

This is to make it easier to use in Node 0.10

@johnjbarton PTAL


MongoDB replica set in MONGODB_URI not supported

In case of a MongoDB replica ,host2[:port2] is set in MONGODB_URI like it's defined by MongoDB in their standard URI connection scheme:
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

For example:
mongodb://username:password@database-host1:12345,database-host2:12345/database?replicaSet=rs-database

This is currently not supported by alerta and will result in this stacktrace:
[ERROR] Exception in worker process
Traceback (most recent call last):
  File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 557, in spawn_worker
    worker.init_process()
  File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/base.py", line 126, in init_process
    self.load_wsgi()
  File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/base.py", line 136, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 65, in load
    return self.load_wsgiapp()
  File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/util.py", line 357, in import_app
    __import__(module)
  File "/app/.heroku/python/lib/python2.7/site-packages/alerta/app/__init__.py", line 96, in <module>
    db = Mongo()
  File "/app/.heroku/python/lib/python2.7/site-packages/alerta/app/database.py", line 30, in __init__
  File "/app/.heroku/python/lib/python2.7/site-packages/alerta/app/database.py", line 48, in connect
    self.connect()
    app.config['MONGO_PORT'] = uri.port
  File "/app/.heroku/python/lib/python2.7/urlparse.py", line 113, in port
    port = int(port, 10)
ValueError: invalid literal for int() with base 10: '12345,database-host2'

This is caused by uri = urlparse(mongo_uri) in https://github.com/guardian/alerta/blob/master/alerta/app/database.py, because urlparse is not able to parse the scheme with multiple hosts/ports.
Besides this MongoClient is handling this URI perfectly fine.
An alternative would be to use pymongo.uri_parser. But, looking a few lines ahead, it's not possible to map multiple hosts to 1 app.config['MONGO_HOST'] and 1 app.config['MONGO_PORT']. Is setting app.config['XXX'] really necessary there? I've been looking around in the code, but to me it seems those settings are never used after this.

Alerta server version 4.8.12 which includes this change is available for download. Please test and confirm fix. Thanks.

Wow, you are awesome! :+1:

While trying to test this I ran into the Traceback below. This also happens when deploying on a single node (mLab Sandbox) on heroku. I'm deploying on heroku using https://github.com/alerta/heroku-api-alerta. So it installs alerta-server using pip, which means I'm running 4.8.12. When I put alerta-server==4.8.11 in my requirements.txt the deployment on the single node works ok like it did before. I'm trying to figure out how to run alerta from the git repository instead of the version from pip so I can also do some better debugging and probably provide you with a fix.
[2016-11-28 11:31:53 +0000] [15] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 557, in spawn_worker
    worker.init_process()
  File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/base.py", line 126, in init_process
    self.load_wsgi()
  File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/base.py", line 136, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 65, in load
    return self.load_wsgiapp()
  File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/util.py", line 357, in import_app
    __import__(module)
  File "/app/.heroku/python/lib/python2.7/site-packages/alerta/app/__init__.py", line 96, in <module>
    db = Mongo()
  File "/app/.heroku/python/lib/python2.7/site-packages/alerta/app/database.py", line 30, in __init__
    self.connect()
  File "/app/.heroku/python/lib/python2.7/site-packages/alerta/app/database.py", line 57, in connect
    self._create_indexes()
  File "/app/.heroku/python/lib/python2.7/site-packages/alerta/app/database.py", line 61, in _create_indexes
    self._db.alerts.create_index([('environment', ASCENDING), ('resource', ASCENDING), ('event', ASCENDING)], unique=True)
  File "/app/.heroku/python/lib/python2.7/site-packages/pymongo/collection.py", line 1387, in create_index
    self.__create_index(keys, kwargs)
  File "/app/.heroku/python/lib/python2.7/site-packages/pymongo/collection.py", line 1298, in __create_index
    sock_info, cmd, read_preference=ReadPreference.PRIMARY)
  File "/app/.heroku/python/lib/python2.7/site-packages/pymongo/collection.py", line 208, in _command
    read_concern=read_concern)
  File "/app/.heroku/python/lib/python2.7/site-packages/pymongo/pool.py", line 239, in command
    read_concern)
  File "/app/.heroku/python/lib/python2.7/site-packages/pymongo/network.py", line 102, in command
    helpers._check_command_response(response_doc, None, allowable_errors)
  File "/app/.heroku/python/lib/python2.7/site-packages/pymongo/helpers.py", line 205, in _check_command_response
    raise OperationFailure(msg % errmsg, code, response)
OperationFailure: not authorized on monitoring to execute command { createIndexes: "alerts", indexes: [ { unique: true, key: { environment: 1, resource: 1, event: 1 }, name: "environment_1_resource_1_event_1" } ] }

It looks like you resolved this in 713f19f414a99cc5f984f7db5a4b850d86c707b1

Yeah, sorry about that. Glad you noticed the fix.


Adding custom operator in individual column

I have been researching on react table, but i couldn't find any answer related to my question. Just wondering if react table offer the following function that we specify default filter operator in column. ie, contain, greater or equal and etc

Yes. Each column can take its own via column.filterMethod. Search filterMethod: (filter, row || rows, in the v6 docs for more info.

Does it support server side? I tried and it only work on client side filtering

Server side data is supported, but when using it, the client is not responsible for filtering.


1.x Continue to update?

1.x Continue to update?

same concern. https://github.com/Netflix/eureka/issues/1090

Though I'm not part of netflix, I'm fairly confident eureka will live on for quite a while.

@spencergibb thumb up!

the 2.x work (on the 2.x branch) have been abandoned, but the 1.x branch of eureka still form the core of the service discovery ecosystem at Netflix and will continue to be maintained.

But now I'm confused about "extension work on eureka 1.x has moved internally within Netflix.".


fix(client/qbittorrent): missing message property in error.includes

This was called from a feature I'm testing
2024-04-19 22:01:29 error: TypeError: e.includes is not a function

Did you see some error when this occurred that clued you in to this bugs existence?
Can you put the error in your PR body?

I was working on something else that called this code. The error was not handled so the error was only outputted to terminal.

yes, would like to know more about root cause here.


Red Doesn't Equal Red?

Challenge change-the-color-of-text has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:48.0) Gecko/20100101 Firefox/48.0.
Please describe how to reproduce this issue, and include links to screenshots if possible.

CatPhotoApp

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

Says that the challenge needs to be reattempted even after resetting the page and retrying the challenge.

Upon further review, it seems this is a problem with Firefox, because I reattempted the challenge using Google Chrome and it worked fine.


Allow setting of custom SELinux type for virt-launcher

This PR introduces a ConfigMap entry (selinuxLauncherType) that overrides the built in SELinux type for KubeVirt.
This can be used to cause virt-launcher to run as spc_t or any other custom type the cluster admin might define.
Release note:
Allow setting a custom SELinux type for virt-launcher.

/hold
I'd like to do more verification, and look into writing functional tests before merging this.

@stu-gott just 2 tiny nits.

Code looks apart from @danielBelenky's comments good, tests are missing.

/hold cancel
functional test added

/retest

/lgtm
/approve

/retest


Adding capabilities to PowerToys Run that are present in Wox

Description of the new feature / enhancement
Allow users to make custom "Direct Activation Commands" for handling links.
For example for google scholar are command could be: gs followed by the search term.
This should open the link: scholar.google.com/scholar?q={q} where q is the search term
So if i were to search:
gs goodenough
The following should open
scholar.google.com/scholar?q=goodenough
Similar keywords and links that I already use with Wox and suggest implementing, are:
th https://www.thesaurus.com/browse/{q}  for quickly browsing a thesaurus
stack https://stackoverflow.com/search?q={q} for searching stackoverflow
Scenario when this would be used?
To quickly search for terms on specific website with search engines.
Often when reading or writing it is nice to pull up and search for something only on a specific website, and doing so in powertoys run would be much easier than alt-tabbing, and would let me replace wox with powertoys run.
Supporting information
The Wox websearch plugin wiki entry is found here:
https://github.com/Wox-launcher/Wox/wiki/Default-Plugins.-Web-Search

this would be a community based plugin.  We won't directly deep link into a site as they are an independent entity.  this would require business relationships with that entity.  A PT Run macro feature request would enable this as well but by itself, not a feature we'd directly write.
/dup https://github.com/microsoft/PowerToys/issues/15032


Reporting Download

I have a problem downloading the reports with the Senders accounts, we can only download them from the global administrator account that made the implementation,
To take into account the implementation was made from a<EMAIL_ADDRESS>domain and deployed in the tenant where users use the<EMAIL_ADDRESS>domain, for us the report is indispensable.

Hi @lgarciab0717,
Thanks for raising the query. This is already a known issue. The fix has been identified. Currently it is in the phase of testing and hopefully it will be available by the end of June.
Here is the workaround for the Export issue.

Go to Azure Portal

Click on the resource group that has been used for CC

Go to Storage Account.

Select Storage browser

Go to Blob Containers

Click on export data blobs.

Copy the desired zip folder name from teams and search for required zip folder in export data blobs.

Click on the zip folder that needs to download

Download the zip file.

Once the issue is resolved,  we will update you.

@gsv022 - Could you please provide an update on this since July has ended.
Please provide an ETA for when will it be resolved.

Hi @PrithuMahisha ,
Thanks for the patience. The issue has been fixed by the concerned team. Please check and confirm the export functionality working status from your end.
Keep us posted

The problem has been satisfactorily resolved.
Thank you!

Hi @gsv022 , I am having the same issue but when I follow these steps to the storage account, there is no 'exportdatablobs' container. App Service, and all 3 Functions deployment status is Success (Active) and this is version 5.4.1


Add a more descriptive error message

I also had to google and find https://github.com/keplerproject/luarocks/issues/238 to solve the issue.
This should prevent further confusion in the future :)

This is platform specific, so I think the error message should be constructed based on the unpack utility configured.

On Unix it is possible to figure out based on the error code whether the command failed because the program was not found (error code 127: on Lua 5.1,  32512 (0x7f00); on Lua 5.2+, third result is 127 (0x7f)), not sure if possible on Windows.
In the latest code, configure now checks that unzip is present at build time, so I think these mystery errors won't happen in the future. (On Windows the tool is bundled, to the errors are even more unlikely.) Not sure if we should tweak the error message, but I'm still open for opinions!

mmm, i installed luarocks from the latest distributed package.. if master does have a check for unzip in configure, i'd say this is redundant :)

@yawnt ah, ok :) closing this for now, then!


asset metadata: how to handle families of assets

In #178 we decided how to track the base denomination, implemented in #241.
We should also determine how best to handle families of assets, e.g. all the delegation tokens (one asset type per validator), all the liquidity positions (one asset type per liquidity position).
We could provide a template for families of assets to generate the metadata. Alternatively we could use the templates themselves in the registry (suggested by @hdevalence) where we could have a query interface where we search the asset registry for fixed assets as well as match against the known patterns, where dPenumbra-{validator} could be one such pattern/family.

Tackled in #283


Minor Refactor

Adjusted Comments.

Codecov Report

Merging #22 (94a2396) into master (862342f) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #22   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 862342f...94a2396. Read the comment docs.


Add sidebar navigation

@smallketchup82 What are we wanting this to look like?

@cswimr That's a good question. With the way that we have the site looking right now, it's gonna be hard to make a sidebar looking good.
I suppose we can copy Arc Browser's design. With the page content on the right, search bar at the top of the sidebar, and popular navigation links in the sidebar.
Mostly we can copy MediaWiki's format of this, then modernize it.


geom epa_aqs_sites at POINT(0,0)

I see Point(0,0) for sensor 1-003-0001 in geom_epa_aqs_sites. Is this an error of the dataset or the load script?
#37

There are actually 868 sites with Point(0,0), this is from the original data at https://aqs.epa.gov/aqsweb/airdata/aqs_sites.zip. I am not sure why the EPA publishes sites with no lat/lon information.


Add support for HTTP proxy configuration.

Add net/http and net/url packages to commit.go
Add httpClient and proxy variables to commit.go
Add proxy flag to config.go
Add httpClient argument to New function in openai/openai.go
Add conditional assignment to cfg.HTTPClient in New function of openai/openai.go

fix https://github.com/appleboy/CodeGPT/issues/1

Codecov Report

Merging #3 (9ad3b9c) into main (d49a07e) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@          Coverage Diff          @@
##            main      #3   +/-   ##
=====================================
  Coverage   9.67%   9.67%
=====================================
  Files          2       2
  Lines         31      31
=====================================
  Hits           3       3
  Misses        28      28

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Fix CI build

huh, ok, https://discourse.brew.sh/t/python-and-pep-394/1813
brew install python -> /usr/local/bin/python3
brew install python@2 -> /usr/local/bin/python and /usr/local/bin/python2


PCA9553

Although not related to this repo, I wonder do you intend to make support for PCA9553?

Almost got initial version build stable.

Merged and released the 0.1.0 initial version.
Also published it for the Arduino Library Manager

Ok,
I installed the library from the library manager.
There is an example Test01.
After uploading, I get Lib Version and Done
What else to check?

There should be different signals on the 4 outputs.

FYI, the interface will probably change as the PCA9553 has a 8 and 16 LED variant.
I need to check the datasheets if the output count is the only difference (from outside)
If so I wan to give them all the same interface.

There should be different signals on the 4 outputs.

I am afraid I have none.
The PCA9553 I have is in the TSSOP8 package. The project I would like to use is to drive led strips over the MOSFETs. So the PCA9553 is soldered on a PCB. This is the schematic:

I can unsolder 220R resistors and check the output on pads if it would make any difference.
I believe for the start, the basic set HIGH/LOW logic would be better for testing, and later the PWM. But, I will try everything you suggest.

In the test sketch I connected every possible source to 1 pin, so there should be differences.
Desoldering the device makes sense,
Do not forget to add 4K7 pull up resistors to the SDA and SCL
  //  all channels a different source
  leds.setLEDSource(0, 0);   ==> LOW
  leds.setLEDSource(1, 1);   ==> HIGH
  leds.setLEDSource(2, 2);  ==> PWM duty cycle 50%
  leds.setLEDSource(3, 3);  ==> PWM duty cycle 12%

I created a new develop branch (and PR) as I want to have the new interface in place asap.
main change are a generic setPrescaler() and setPWM().
This allows to have the 8 and 16 outputs versions to have the same interface.
Get and set the pre-scaler of the PWM generator.

void setPrescaler(uint8_t gen, uint8_t psc = 255) set pre-scaler for generator, default 255.
uint8_t getPrescaler(uint8_t gen) get the set value.

Get and set the duty cycle of the PWM generator.

void setPWM(uint8_t gen, uint8_t psc = 128) set PWM for generator, default 128.
uint8_t getPWM(uint8_t gen) get the set value.

Added two functions to the interface of the develop branch.
Now you should be able to set the HIGH LOW as you asked for.

void digitalWrite(led, value)  HIGH, LOW
uint8_t digitalRead(led)

Added example using digitalWrite() and digitalRead()

Just tried basic:
void loop(){
  leds.digitalWrite(0, HIGH);
  delay(1000);
  leds.digitalWrite(0, LOW);
  delay(1000);
}

Nothing

Can you change the private functions in the .cpp file, to see if the low level I2C gives errors.
(adding error handling is on the todo
uint8_t PCA9553::writeReg(uint8_t reg, uint8_t value)
{
  Serial.println(__FUNCTION__);

  _wire->beginTransmission(_address);
  _wire->write(reg);
  _wire->write(value);
  _error = _wire->endTransmission();

  Serial.println(_error, HEX);

  if (_error == 0) _error = PCA9553_OK;
  else _error = PCA9553_ERROR;
  return _error;
}

uint8_t PCA9553::readReg(uint8_t reg)
{
  Serial.println(__FUNCTION__);

  _wire->beginTransmission(_address);
  _wire->write(reg);
  _error = _wire->endTransmission();

  Serial.println(_error, HEX);

  if (_wire->requestFrom(_address, (uint8_t)1) != 1)
  {
    _error = PCA9553_ERROR;
    return 0;
  }
  _error = PCA9553_OK;
  return _wire->read();
}

And if you try
void loop
{
  leds.digitalWrite(0, HIGH);
  leds.digitalWrite(1, LOW);
  leds.digitalWrite(2, HIGH);
  leds.digitalWrite(3, LOW);

  uint8_t val = leds.input();
  Serial.println(val, HEX);
  delay(100);
}

'class PCA9553' has no member named 'input'; did you mean 'getInput'?

yes

Have to attend other work, so will be "offline" for several hours

Can you change the private functions in the .cpp file, to see if the low level I2C gives errors.
(adding error handling is on the todo
uint8_t PCA9553::writeReg(uint8_t reg, uint8_t value)
{
  Serial.println(__FUNCTION__);

  _wire->beginTransmission(_address);
  _wire->write(reg);
  _wire->write(value);
  _error = _wire->endTransmission();

  Serial.println(_error, HEX);

  if (_error == 0) _error = PCA9553_OK;
  else _error = PCA9553_ERROR;
  return _error;
}

uint8_t PCA9553::readReg(uint8_t reg)
{
  Serial.println(__FUNCTION__);

  _wire->beginTransmission(_address);
  _wire->write(reg);
  _error = _wire->endTransmission();

  Serial.println(_error, HEX);

  if (_wire->requestFrom(_address, (uint8_t)1) != 1)
  {
    _error = PCA9553_ERROR;
    return 0;
  }
  _error = PCA9553_OK;
  return _wire->read();
}

writeReg
0
readReg
0
writeReg
0
readReg
0
writeReg
0
readReg
0
writeReg
0
readReg
0
writeReg
0
readReg
0
writeReg
0
readReg
0

yes

With old CPP file:
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
With the new CPP file, just add another 0 after redReg

So I2C looks like working.
Check if the source register is set and can be read back.
void loop()
{
  for (uint8_t ch = 0; ch < 4; ch ++)
  {
    for (uint8_t src = 0; src < 4; src++)
    {
      leds.setLEDSource(ch, src);
      Serial.print(leds.getLEDSource(ch));
    }
    Serial.println();
  }
  Serial.println();
}

0123
0123
012
0123
0123
0123
0123
0123
0123
0123
0123
0123

So it looks like the register is written and read correctly.

I'm going to read the datasheet again, this evening or tonight to see if I missed something.
In the mean time I have created initial experimental versions for the PCA9552 (16 lines) and PCA9551 (8 lines). Have to go through those datasheets as well. Advantage is that these have is 3 address lines so you can have 8 of those on one I2C bus (x 16 == 128!).

new test sketch that reads back all registers,
please run and check if output is as expected.
//
//    FILE: PCA9553_test_registers.ino
//  AUTHOR: Rob Tillaart
// PURPOSE: test PCA9553 device registers readback
//     URL: https://github.com/RobTillaart/PCA9553

#include "Arduino.h"
#include "Wire.h"
#include "PCA9553.h"

PCA9553 leds(0x62);

void test_GPIO()
{
  Serial.println(__FUNCTION__);
  for (int i = 0; i < leds.channelCount(); i++)
  {
    leds.digitalWrite(i, LOW);
    Serial.print(i);
    Serial.print("\t");
    Serial.print(leds.digitalRead(i));
    Serial.print("\t");
    leds.digitalWrite(i, LOW);
    Serial.print(leds.digitalRead(i));
    Serial.print("\n");
  }
  Serial.println();
}

void test_prescaler()
{
  Serial.println(__FUNCTION__);
  for (uint8_t val = 0; val < 255; val += 5)
  {
    leds.setPrescaler(0, val);
    leds.setPrescaler(1, val);
    Serial.print(leds.getPrescaler(0));
    Serial.print("\t");
    Serial.println(leds.getPrescaler(1));
    Serial.print("\n");
  }
  Serial.println();
}

void test_PWM()
{
  Serial.println(__FUNCTION__);
  for (uint8_t val = 0; val < 255; val += 5)
  {
    leds.setPWM(0, val);
    leds.setPWM(1, val);
    Serial.print(leds.getPWM(0));
    Serial.print("\t");
    Serial.println(leds.getPWM(1));
    Serial.print("\n");
  }
  Serial.println();
}

void test_source()
{
  Serial.println(__FUNCTION__);
  for (uint8_t val = 0; val < 4; val++)
  {
    leds.setLEDSource(0, val);
    leds.setLEDSource(1, val);
    leds.setLEDSource(2, val);
    leds.setLEDSource(3, val);

    Serial.print(leds.getLEDSource(0));
    Serial.print("\t");
    Serial.print(leds.getLEDSource(1));
    Serial.print("\t");
    Serial.print(leds.getLEDSource(2));
    Serial.print("\t");
    Serial.print(leds.getLEDSource(3));
    Serial.print("\n");
  }
  Serial.println();
}

void setup()
{
  Serial.begin(115200);
  Serial.print("PCA9553_LIB_VERSION: ");
  Serial.println(PCA9553_LIB_VERSION);
  Serial.println();

  if (leds.begin() == false)
  {
    Serial.println("Could not connect.");
    while(1);
  }

  Serial.println(leds.getAddress(), HEX);
  Serial.println(leds.channelCount());
  Serial.println();

  test_GPIO();
  test_prescaler();
  test_PWM();
  test_source();

  Serial.println("\ndone...");
}

void loop()
{
}

//  -- END OF FILE --

this might be needed to get digitalRead() working correctly
Datasheet: 7.4 Pins used as general purpose I/Os
.cpp file
void PCA9553::pinMode(uint8_t led, uint8_t mode)
{
  if (mode == OUTPUT) setLEDSource(led, 0);
  else                setLEDSource(led, 1);
}

new test sketch that reads back all registers, please run and check if output is as expected.
//
//    FILE: PCA9553_test_registers.ino
//  AUTHOR: Rob Tillaart
// PURPOSE: test PCA9553 device registers readback
//     URL: https://github.com/RobTillaart/PCA9553

#include "Arduino.h"
#include "Wire.h"
#include "PCA9553.h"

PCA9553 leds(0x62);

void test_GPIO()
{
  Serial.println(__FUNCTION__);
  for (int i = 0; i < leds.channelCount(); i++)
  {
    leds.digitalWrite(i, LOW);
    Serial.print(i);
    Serial.print("\t");
    Serial.print(leds.digitalRead(i));
    Serial.print("\t");
    leds.digitalWrite(i, HIGH);
    Serial.print(leds.digitalRead(i));
    Serial.print("\n");
  }
  Serial.println();
}

void test_prescaler()
{
  Serial.println(__FUNCTION__);
  for (uint8_t val = 0; val < 255; val += 5)
  {
    leds.setPrescaler(0, val);
    leds.setPrescaler(1, val);
    Serial.print(leds.getPrescaler(0));
    Serial.print("\t");
    Serial.println(leds.getPrescaler(1));
    Serial.print("\n");
  }
  Serial.println();
}

void test_PWM()
{
  Serial.println(__FUNCTION__);
  for (uint8_t val = 0; val < 255; val += 5)
  {
    leds.setPWM(0, val);
    leds.setPWM(1, val);
    Serial.print(leds.getPWM(0));
    Serial.print("\t");
    Serial.println(leds.getPWM(1));
    Serial.print("\n");
  }
  Serial.println();
}

void test_source()
{
  Serial.println(__FUNCTION__);
  for (uint8_t val = 0; val < 4; val++)
  {
    leds.setLEDSource(0, val);
    leds.setLEDSource(1, val);
    leds.setLEDSource(2, val);
    leds.setLEDSource(3, val);

    Serial.print(leds.getLEDSource(0));
    Serial.print("\t");
    Serial.print(leds.getLEDSource(1));
    Serial.print("\t");
    Serial.print(leds.getLEDSource(2));
    Serial.print("\t");
    Serial.print(leds.getLEDSource(3));
    Serial.print("\n");
  }
  Serial.println();
}

void setup()
{
  Serial.begin(115200);
  Serial.print("PCA9553_LIB_VERSION: ");
  Serial.println(PCA9553_LIB_VERSION);
  Serial.println();

  if (leds.begin() == false)
  {
    Serial.println("Could not connect.");
    while(1);
  }

  Serial.println(leds.getAddress(), HEX);
  Serial.println(leds.channelCount());
  Serial.println();

  test_GPIO();
  test_prescaler();
  test_PWM();
  test_source();

  Serial.println("\ndone...");
}

void loop()
{
}

//  -- END OF FILE --

Downloaded lib again, with this example and get this on Serial monitor:

PCA9553_LIB_VERSION: 0.1.0
62
4
test_GPIO
0	0	0
PCA9553_LIB_VERSION: 0.1.0
62
4
test_GPIO
0	0	0
1	0	0
2	0	0
3	0	0
test_prescaler
0	0
5	5
PCA9553_LIB_VERSION: 0.1.0
62
4
test_GPIO
0	0	0
1	0	0
2	0	0
3	0	0
test_prescaler
0	0
5	5
10	10
15	15
20	20
25	25
30	30
35	35
40	40
45	45
50	50
55	55
60	60
65	65
70	70
75	75
80	80
85	85
90	90
95	95
100	100
105	105
110	110
115	115
120	120
125	125
130	130
135	135
140	140
145	145
150	150
155	155
160	160
165	165
170	170
175	175
180	180
185	185
190	190
195	195
200	200
205	205
210	210
215	215
220	220
225	225
230	230
235	235
240	240
245	245
250	250
test_PWM
0	0
5	5
10	10
15	15
20	20
25	25
30	30
35	35
40	40
45	45
50	50
55	55
60	60
65	65
70	70
75	75
80	80
85	85
90	90
95	95
100	100
105	105
110	110
115	115
120	120
125	125
130	130
135	135
140	140
145	145
150	150
155	155
160	160
165	165
170	170
175	175
180	180
185	185
190	190
195	195
200	200
205	205
210	210
215	215
220	220
225	225
230	230
235	235
240	240
245	245
250	250
test_source
0	0	0	0
1	1	1	1
2	2	2	2
3	3	3	3
done...

But nothing on the pins. I am using a classic multimeter.

this might be needed to get digitalRead() working correctly Datasheet: 7.4 Pins used as general purpose I/Os
LED pins not used to control LEDs can be used as general purpose I/Os.
For use as input: Set LEDn to high-impedance (01) and then read the pin state via the Input register.
For use as output: Connect external pull-up resistor to the pin and size it according to the DC recommended operating characteristics. LED output pin is HIGH when the output is programmed as high-impedance, and LOW when the output is programmed LOW through the ‘LED selector’ register.
.cpp file
void PCA9553::pinMode(uint8_t led, uint8_t mode)
{
  if (mode != OUTPUT) setLEDSource(led, 1);
}

added to develop branch, build runs.

According to this, to use it as HIGH/LOW logic, I need a pull-up resistor on IO pins. PCA9553 can go LOW, but can not go HIGH. The only way is to use a resistor.
I will try this.
But what about PWM? Do I need the same with a PWM? If I set 255 value, it should go "HIGH", it should have a 5V on the pin. Right now, as is, on the pins there is nothing, no matter I measure pins from the GND, or from the 5V.

The output looks good (except for the digitalWrite() and digitalRead()
What I learned from the datasheet is that it is not possible to switch runtime from INPUT to OUTPUT mode.
Exactly because for the INPUT mode an external pull up is needed.

The only way is to use a resistor.
I will try this.

Good action!

But what about PWM? Do I need the same with a PWM? If I set 255 value, it should go "HIGH", it should have a 5V on the pin. Right now, as is, on the pins there is nothing, no matter I measure pins from the GND, or from the 5V.

As far as I understand (cannot test it) is PWM an automatic OUTPUT mode so it needs no external PULLLUP.
Only INPUT mode needs an internal PULLUP.
TODO: document this in the readme.md file.

Found no other things in the datasheet.
To be continued tomorrow (other tasks are asking for attention)

As far as I understand (cannot test it) is PWM an automatic OUTPUT mode so it needs no external PULLLUP.
Only INPUT mode needs an internal PULLUP.

In DS it says it needs resistors for output, not for input.
I soldered a resistor on ch0 and 5V rail. Nothing happened.
Didn't make it write a HIGH logic state...
In DS 9.1 - fig15 it says it can sink LEDs.
Tomorrow I will solder one LED in sink to try it this way.
If any suggestions, I am all ears...

Good morning,
This is how I understand the working after a good night sleep.

What is missing in the picture is an internal pull up resistor between LEDn and 5V (VDD)
GPIO input mode
source mode must be set to 01  ==> the transistor blocks and the PULL UP set LEDn to HIGH

if (external) 5V is connected to LEDn,  INPUT register will read HIGH
if (external) GND is connected to LEDn,  INPUT register will read  LOW (the internal R cannot keep it HIGH)
if nothing is connected to LEDn,  INPUT register will read HIGH as internal R pulls it HIGH.

GPIO output mode
If the source mode == 00  the transistor should connect GND to LEDn resulting in LOW
If the source mode == 01  the transistor blocks and the PULL UP set LEDn to HIGH
Connected a LED to 5V on one side and LEDn on the other, and you should be able to let it blink.
An external PULL UP will minimize the RC time to get nicer "square wave" => faster and thus cleaner switching.
PWM mode
The MUX will select the signal from the PWM and alternatingly open/close the transistor giving a pulse on LEDn
It makes sense to add an external PULL UP for the same reason as above.
Dangerous
Writing down the above made me aware that setting the source mode to 00 and putting 5V directly on LEDn is dangerous as there would flow an "unrestricted" current through the transistor. This can cause permanent damage,
Also in PWM mode a direct connection to 5V would probably damage the transistor (in a pulsating way).
Does this story makes sense?

Can't help you much other than bare tests. If there is anything else you suggest me to try?
In a few minutes I will try an LED in a sink, according to the DS.

Now we can start all over again.
The LED BLINKS!!!!
#include "Arduino.h"
#include "Wire.h"
#include "PCA9553.h"
PCA9553 leds(0x62);
void setup() {
  if (leds.begin() == false)
  {
    Serial.println("Could not connect.");
    while(1);
  }
}

void loop() {
  leds.digitalWrite(1, LOW);
  delay(1000);
  leds.digitalWrite(1,HIGH);
  delay(1000);

}

It is connected as on the DS, in sink on pin1. Shall we try barebone PWM?

#include "Arduino.h"
#include "Wire.h"
#include "PCA9553.h"
PCA9553 leds(0x62);
void setup() {
  if (leds.begin() == false)
  {
    Serial.println("Could not connect.");
    while(1);
  }
}

void loop() {
  for (uint8_t val = 0; val < 255; val += 5){
    leds.setPWM(1, val);
    delay(100);
  }
}

There is nothing on the LED. The LED is connected as on the Blink sketch.

You must connect an output to the PWM.
setLEDSource(0, 3)

//
//    FILE: PCA9553_PWM.ino
//  AUTHOR: Rob Tillaart
//    DATE: 2023-07-18
// PURPOSE: test PCA9553 library
//     URL: https://github.com/RobTillaart/PCA9553
//
//  Connect LEDs from pin 0 and pin 1 with a resistor to 5V
//  See datasheet

#include "Arduino.h"
#include "Wire.h"
#include "PCA9553.h"

PCA9553 leds(0x62);

void setup()
{
  Serial.begin(115200);
  Serial.print("PCA9553_LIB_VERSION: ");
  Serial.println(PCA9553_LIB_VERSION);
  Serial.println();

  if (leds.begin() == false)
  {
    Serial.println("Could not connect.");
    while(1);
  }

  //  not mandatory, just to make it explicit
  leds.pinMode(0, OUTPUT);
  leds.pinMode(1, OUTPUT);

  leds.setPrescaler(0, 44);
  leds.setPWM(0, 128);
  leds.setPrescaler(1, 22);
  leds.setPWM(1, 32);
}

void loop()
{
}

//  -- END OF FILE --

Right now I have only one LED, I will add another one later. The one connected is lit. But...
Can you put little light here?
What setPrescaler() function does here? Does it set the above limit? If so, what are the options?
I noticed the LED is lit with the same brightness no matter what value I set for setPWM(). Do I need to adjust the setPrescaler, too?
This works in sink configuration. Can this work in source, too?

Can you put little light here?

The device has an internal oscillator (bottom left) with a fixed frequency.
The two pre-scalers act as dividers of that "base" frequency. It is the frequency the LED should blink.
The function setPrescaler() gets the divider as parameter.
Then every pre-scaler is followed by a PWM block that defines the duty cycle per period of the frequency.
It is the duration of HIGH versus LOW of a pulse.
It can be seen as the "brightness" if the base frequency is high enough.

Do I need to adjust the setPrescaler, too?

Yes, best set it to 43 for testing, that should give a duration of 1 second.
if PWM is 128 you should get 50% on 50% off.

The other words, I can not look at PWM here as it is on Uno.

I will add another LED tonight, to see what is going on. So many things to do, and the day is only 24h, LOL.
I really appreciate your help. I believe the lib will make a day for someone, sometime. :)

I believe the lib will make a day for someone, sometime. :)

It already made my day several times in a row 😎
I added three more examples to the develop branch. I expect they are close to working level.
This includes a variation on your blink code.

Two LEDs are soldered in Sink.
Sketches tested:

Blink - Works! (on 2 LEDs though, in Sink)
DigitalRead - Works! (gets HIGH over the LEDs on pins 0 and 1, the rest (2, and 3) I can trigger with a wire to HIGH. Those last 2 are otherwise always LOW, like as they are pulled down. but they are not)
PWM - Nothing! (As I mentioned, I have two LEDs on pins 0 and 1 in Sink. No light)

What setLEDSource function do?
What else to test?

indeed setLEDSource() is missing.
please adjust PWM sample as below, I'll update in develop branch asap.
void setup()
{
  Serial.begin(115200);
  Serial.print("PCA9553_LIB_VERSION: ");
  Serial.println(PCA9553_LIB_VERSION);
  Serial.println();

  if (leds.begin() == false)
  {
    Serial.println("Could not connect.");
    while(1);
  }

  //  not mandatory, just to make it explicit
  leds.pinMode(0, OUTPUT);
  leds.pinMode(1, OUTPUT);

  leds.setLEDSource(0, 2);
  leds.setLEDSource(1, 3);

  leds.setPrescaler(0, 43);  //  1 Hz
  leds.setPWM(0, 128);       //  50% duty cycle
  leds.setPrescaler(1, 21);  //  2 Hz
  leds.setPWM(1, 32);        //  12% duty cycle
}

With this, LED 0 blinks approx at 1-sec delay, while LED 1 blinks twice faster. I say approx, as I didn't measure the time. I can take a video and send it to you if you like.
Still, you didn't tell me what this setLEDSource does. What are the parameters of the function?

With this, LED 0 blinks approx at 1-sec delay, while LED 1 blinks twice faster. I say approx, as I didn't measure the time. I can take a video and send it to you if you like.

That is perfect !

Still, you didn't tell me what this setLEDSource does. What are the parameters of the function?

It is described in the readme.md.
The first parameter is the led or output.
The second parameter is the source of that output, it defines the selection of the MUX multiplexer.

Apparently the setLEDSource() should be renamed, or need some wrappers.
SetOutputMode() might be a better name...

LOL, I dived only here and didn't even take a look at the readme file. My bad.
As for the PWM, is it possible to use it just as the PWM on an Uno, in a visual way? As I said, my goal is to drive a LED strip over a MOSFET.
https://github.com/RobTillaart/PCA9553/issues/2#issuecomment-1637510111
I do know all of this is Work in Progress. :)

You should set the preScaler to 0 so the frequency is 44 Hz, then you should be able to get some "brightness control" with the PWM call

Ok.
In setup() I left only:
leds.pinMode(1, OUTPUT);
leds.setLEDSource(1, 3);
leds.setPrescaler(1, 0);

In loop()
void loop(){
  for( int i=0; i<255; i++){
    leds.setPWM(1,i);
    delay(50);
    Serial.println(i);
    }
}

I get the LED 0 blinks as before. As in the original sketch PCA9553_PWM. Which is weird
LED 1 is going from the highest brightness for the lowest i values, and the lowest brightness for the highest i values. Shouldn't it be when it is 0 for an i to be nothing on the output, and when it is 255, to be the highest output? Or vice-versa as it is in sink?
And the LED 1 won max light, it is lit lower than in a blink sketch. This is my visual presentation.

Think as long as you have powered the pca9553, it does not loose settings for led0.

Correct

I'm going to change the following in the API

int setOutputMode(uint8_t pin, uint8_t mode) more descriptive as setLEDSource()

4 defines to make it more clear.

#define PCA9553_MODE_LOW      0
#define PCA9553_MODE_HIGH     1
#define PCA9553_MODE_PWM0   2
#define PCA9553_MODE_PWM1   3

Do you agree it is more descriptive?

Also needed is a reset() function that sets the device in the PowerOn mode.
== all registers 0 or so (check datasheet)

@ITstreet1
I have pushed a refactor to the develop branch

rename setOutputMode()  was setLEDsource
channelcount => outputCount
added defines for the modi
updated all examples

Please test and post your observations.
I did not reverse the PWM as it actually works just like the Arduino PWM, 255 set the pin HIGH,
But because you have a LED from +5V to the pin it looks like it inverts compared to the UNO.

As for the PWM, is it possible to use it just as the PWM on an Uno, in a visual way? As I said, my goal is to drive a LED strip over a MOSFET.

should be possible by now - try it on a breadboard first!
you should test this with the hardware as I do not have a PCA9553 (9552 or 9551)

The PCA9552 / 51 libraries are now in sync with PCA9553,
Think it is time to merge the 0.2.0 into master tomorrow as all seems to work (please confirm)
Minor issues can be taken from there imho.

Had a huge storm here last night, and didn't have electricity.
I will post tests later. I will solder one LED in a source on pin 3

Had a huge storm here last night, and didn't have electricity.

Kroatia, Slovenia?
Good that electricity is restored fast, quite essential infrastructure.. No further damage?

will post tests later.

Ok

Belgrade, Serbia.
Not much damage to me, only one window. But the storm did huge damage elsewhere. This kind of storm I watched in the USA, only. Someone messes up with nature, pretty much seriously.
Back to business.
Downloaded the latest develop branch.
Blink sketch - ok.
digitalRead - ok
PWM - ok, as before.
But, I can't get the same fade effect as I can on Uno with the PWM.
#include "Arduino.h"
#include "Wire.h"
#include "PCA9553.h"
PCA9553 leds(0x62);
int pin = 1;
void setup(){
  Serial.begin(115200);
  Serial.print("PCA9553_LIB_VERSION: ");
  Serial.println(PCA9553_LIB_VERSION);
  Serial.println();
  if (leds.begin() == false){
    Serial.println("Could not connect.");
    while(1);
  }
  leds.setOutputMode(pin, PCA9553_MODE_HIGH);
  /*
   * PCA9553_MODE_LOW
   * PCA9553_MODE_HIGH
   * PCA9553_MODE_PWM0
   * PCA9553_MODE_PWM1
   */
  leds.setPrescaler(pin, 43);  //  1 Hz
}
void loop(){
  for( int i=0; i<255; i++){
    leds.setPWM(pin,i);
    delay(50);
    Serial.println(i);
    }
}

By using all four options setOutputMode on LED0 which is in sink, I get as expected on the last two options. For the first option, I get the LED lit, but no fade. The third option gives nothing.
By using all four setOutputMode options on LED3 which is in source, I get nothing.
Is it possible to drive an LED the same way in a fade effect as on Uno? Do I have to change the LED connections?

But, I can't get the same fade effect as I can on Uno with the PWM.

It can be a limitation of the chip.
Note that the maximum frequency of the 9553-PWM is 44 Hz where the UNO has a base frequency of 10x as high (or more). 44 Hz is visible for most people while 490 Hz is definitely not.
You might add a low pass filter after the chip to get a more gradual dimming effect. (I have no hw to test).
(some numbers)
https://www.arduino.cc/reference/en/language/functions/analog-io/analogwrite/
As the base sketches are more or less OK, I will merge the develop branch into master.
Then more people can download / test the library.
New issues can be handled separately.
(will be done later as I am in the middle of another project)

Nevertheless this one here, any suggestion for an IC to have a 4ch PWM that will work the same way as Uno's PWM?
I have used a PCA9685, but it is 16ch (SX1509, too). Both work fine.
And to have a decent lib. :)

FYI,
Merged develop into master, build successful
I close this issue as 0.2.0 is working,
please open a new issue for new questions or bugs, whatever.
(feel free to add comments here too, but goal of the issue is met).

https://www.adafruit.com/search?q=PWM

there is (too) much choice...

None 4ch.
However...
https://eu.mouser.com/ProductDetail/NXP-Semiconductors/PCA9633DP1118?qs=LOCUfHb8d9tkHzUzpnrD6Q%3D%3D
https://eu.mouser.com/datasheet/2/302/PCA9633-3139106.pdf
and
https://github.com/HendrikVE/Arduino-PCA9633
190Hz PWM
I missed this one. I believe this will do the job. Except, this one I don't have. :)

Not familiar with the PCA9633, but a first look it seems pretty close to the PCA9634 (#outputs differ).
Good to see you already found a library for it

Thank you for your time. I believe we built something useful.


fix: adjust define typehinting

What type of pull request is this?

[x] Non-breaking code change
[ ] Breaking code change
[ ] Documentation change/addition
[ ] Tests change

Description
As you can clearly see, define continues to be a pain in the butt.
Previously, it was thought that all problems related to define were solved once and for all, with the function being typehinted as Optional, all typos being fixed... but there was just one problem:
Whenever a class that used this decorator and a Visual Studio Code user attempted to use it for their own bot, VSC/pyright would mistaking think the class had 0 expected arguments for its __init__. Obviously, this wasn't true, especially with classes like Embed.
After an hour of painfully messing around with typehintings, I eventually found out that we were using __dataclass_transform__ incorrectly, and forgot to typehint the return arguments for define, causing issues.
This PR fixes that, of course.
oml i hate this decorator
Changes
(All of this happened in the .pyi file, not the .py file.)

define now returns Callable[[_T], _T], solving the argument issue.
The f variable in define wasn't needed, so it was removed. The Optional import was also removed as f was the only thing that used it.
Move define's definition in the stub after field to allow it to be used as a field descriptor.
Adjust the arguments used for __dataclass_transform__ so that:

It reflected class_defaults.
The field_descriptors are now field and attrs.field. Why was attrs.define here?

Checklist

[x] I've formatted my code with Black
[x] I've ensured my code works on Python 3.10.x
[x] I've tested my code

Worth noting that this fixes pyright, but not mypy.

Worth noting that this fixes pyright, but not mypy.

Yeah, mypy does not like this behavior at all. This section of attrs's "Extending" section in their docs details how it can be done, but it is somewhat of a hack.

At some point we'll I'll have to write a mypy plugin.  I dread the day I sit down to actually do it.


Platform libraries are abandoned

I was posing a question about this flutter plugin and its longevity. As a developer I would like to use code that is actively maintained, because of bugs.
That is a primary concern in the android ecosystem, where every 12 months a new major version of the os with breaking changes rolls out (the last two, android 12 and 11, introduces different breaking changes).
I noticed that both the android and the ios libraries used by this plugin are abandoned.
What are your plans about this? Do you think to migrate to another library with the same functionalities?
This library is good, and thanks god someone continue to develop the original abandoned library and gave it nullsafety!
But I have this question and it's important for me to know the answer.

Not planned, but I'm welcome the pull request as described here: https://github.com/mono0926/barcode_scan2/discussions/3
And, there are other choices such as this: flutter_barcode_scanner | Flutter Package


1.14.4 double slab issue upon removing 1.4.0

had a issue lastnight with update DoubleSlabs-1.14-1.4.0, went to remove the slab and it would crash me every time i go to remove it, not sure if it was due to me being in creative mode or not
pastebin link:
https://pastebin.com/sJBQifbK

Duplicate of #47


Support for .atom-build.js

Support for defining .atom-build.js.
This format support functions so that preBuild and postBuild can be defined.
The configuration must be module.exports'd.
Fixes #362

Need
[ ] specs
[ ] documentation

Need

[ ] specs
[ ] documentation