TypeError: object is not a function Tapable Compiler error

Ran into this today using 1.5.1, just wondering where to start figuring out whats going on:
Webpack config:
{ entry: { main: './app/app.js' },
  output:
   { path: '/Users/nw/projects/reapp/reapp-kitchen/build/public',
     filename: '[name].js',
     chunkFilename: '[id].js',
     publicPath: '/',
     sourceMapFilename: 'debugging/[file].map',
     libraryTarget: undefined,
     pathinfo: true },
  target: 'web',
  module:
   { loaders:
      [ { test: /\.json$/, loader: 'json-loader' },
        { test: /\.png|jgp|jpeg|gif|svg$/,
          loader: 'url-loader?limit=10000' },
        { test: /\.html$/, loader: 'html-loader' },
        { test: /\.jsx?$/,
          loader: '6to5-loader?experimental=true&runtime=true',
          exclude: /socket\.io/ },
        { test: /\.css$/,
          loader: 'style-loader!css-loader!autoprefixer-loader?browsers=last 2 version' },
        { test: /\.styl$/,
          loader: 'style-loader!css-loader!autoprefixer-loader?browsers=last 2 version!stylus-loader' } ] },
  devtool: 'eval',
  debug: true,
  resolveLoader:
   { root:
      [ '/Users/nw/projects/reapp/reapp-kitchen/node_modules',
        '/Users/nw/projects/reapp/reapp-kitchen/server_modules' ],
     alias: {} },
  externals: [],
  resolve:
   { root: [ '/Users/nw/projects/reapp/reapp-kitchen/app/app' ],
     modulesDirectories: [ 'web_modules', 'node_modules', 'server_modules', 'app' ],
     extensions: [ '', '.web.js', '.js', '.jsx' ],
     alias: {} },
  plugins:
   [ { definitions: { to5Runtime: 'imports?global=>{}!exports-loader?global.to5Runtime!6to5/runtime' } },
     { request: 'react' },
     { request: 'react/lib/ReactComponentBrowserEnvironment' },
     { definitions: { 'process.env': { NODE_ENV: '"development"' } } } ] }

Output:
/Users/nw/projects/reapp/reapp-pack/node_modules/webpack/lib/Compiler.js:190
						return callback(null, stats);
						       ^
TypeError: object is not a function
    at Tapable.<anonymous> (/Users/nw/projects/reapp/reapp-pack/node_modules/webpack/lib/Compiler.js:190:14)
    at Tapable.emitRecords (/Users/nw/projects/reapp/reapp-pack/node_modules/webpack/lib/Compiler.js:277:37)
    at Tapable.<anonymous> (/Users/nw/projects/reapp/reapp-pack/node_modules/webpack/lib/Compiler.js:183:11)
    at /Users/nw/projects/reapp/reapp-pack/node_modules/webpack/lib/Compiler.js:270:11
    at Tapable.applyPluginsAsync (/Users/nw/projects/reapp/reapp-pack/node_modules/webpack/node_modules/tapable/lib/Tapable.js:60:69)
    at Tapable.afterEmit (/Users/nw/projects/reapp/reapp-pack/node_modules/webpack/lib/Compiler.js:267:8)
    at Tapable.<anonymous> (/Users/nw/projects/reapp/reapp-pack/node_modules/webpack/lib/Compiler.js:262:14)
    at done (/Users/nw/projects/reapp/reapp-pack/node_modules/webpack/node_modules/async/lib/async.js:135:19)
    at /Users/nw/projects/reapp/reapp-pack/node_modules/webpack/node_modules/async/lib/async.js:32:16
    at Object.oncomplete (fs.js:107:15)

How are you actually calling webpack/passing that config in? That error sounds like you're passing an object to as the second argument, where it is expecting a callback function.

If I use that config directly with the CLI I get this one:
/usr/local/lib/node_modules/webpack/node_modules/tapable/lib/Tapable.js:166
		arguments[i].apply(this);
		             ^
TypeError: Object #<Object> has no method 'apply'
    at Tapable.apply (/usr/local/lib/node_modules/webpack/node_modules/tapable/lib/Tapable.js:166:16)
    at OptionsApply.WebpackOptionsApply.process (/usr/local/lib/node_modules/webpack/lib/WebpackOptionsApply.js:61:18)
    at webpack (/usr/local/lib/node_modules/webpack/lib/webpack.js:15:47)
    at Object.<anonymous> (/usr/local/lib/node_modules/webpack/bin/webpack.js:121:16)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)

@loganfsmyth where am I passing an object though? I have no idea what that object it, is there a way to get a better stack trace here?

If I log out in Tapable.js:166 right before it prints out arguments[i], here's the last few lines before the error:
{ moduleType: 'loader-module',
  directories: [ 'node_loaders', 'node_modules' ] }
{ moduleType: 'loader-module',
  targetModuleType: 'node',
  templates: [ '*-loader', '*' ] }
{ moduleType: 'node' }
{ moduleType: 'node' }
{ filename: 'package.json', fields: [ 'loader', 'main' ] }
{ files: [ 'index' ] }
{ appendings: [ '.loader.js', '', '.js' ] }
{}
{ definitions: { to5Runtime: 'imports?global=>{}!exports-loader?global.to5Runtime!6to5/runtime' } }

Looks like maybe something to do with the 6to5 setup.

Ok I see that error, I was passing an object as the callback to webpack().

That new error is more like what I expected. Your plugin array looks weird to me. Normally you'd explicitly  instantiate some instance of a plugin. You are passing a simple array of objects as plugins, which would cause the Object #<Object> has no method 'apply' error.
For example: http://webpack.github.io/docs/using-plugins.html

Yea, I had some old code but after the refactor was just calling webpack directly, but instead passing an old argument to it like so: webpack(myConfig, someOptionObject).
Probably could have a helpful error message here like "You've passed an object as the second argument to webpack, when it should be a callback function". Because unfortunately the stack trace I got there didn't really tell me where that was coming from.

If an object in the plugins array provided to webpack is wrong, the same error
/usr/local/lib/node_modules/webpack/node_modules/tapable/lib/Tapable.js:166
    arguments[i].apply(this);
                 ^
TypeError: Object #<Object> has no method 'apply'

is thrown.
It is incredibly hard to debug, and only this issue helped me find out that it was my plugins array that had a wrongly constructed object.
I don’t think the issue has been completely resolved by 4099f66, or perhaps this is another issue?

Getting the same error due to my own plugin.
It's working if I use it as CLI (module.exports = config;) but crashes when using the node API (webpack(config)).

So just tested 2 cases.
Using a plugin with apply written on the prototype fails:
function FileListPlugin(options) {}

FileListPlugin.prototype.apply = function(compiler) {
    console.log('Yeah');
};

While writing the function in the constructor works:
function FileListPlugin(options) {
    this.apply = function(compiler) {
        console.log('Yeah');
    };
}

No need to say that the former shouldn't break

I just ran into a similar issue. A better error message would be welcome!
I wanted to conditionally enable a plugin like this
enableHmr ? new webpack.HotModuleReplacementPlugin() : null,

Which resulted in this error:
/Users/me/project/node_modules/webpack/node_modules/tapable/lib/Tapable.js:164
    arguments[i].apply(this);
                ^

TypeError: Cannot read property 'apply' of null
    at Compiler.apply (/Users/me/project/node_modules/webpack/node_modules/tapable/lib/Tapable.js:164:15)

I solved it by creating a dummy plugin and passing that instead of null:  var NO_PLUGIN = { apply: function() {} }
It's a bit of a hack but I didn't feel like creating a new plugin array with just this one plugin difference. It would be nice if the plugins array allows for nulls to be passed for conditional plugins.

@0x80 Just as a workaround: use .filter(Boolean) at the end of your plug-in definition in order to filter null values from your array. Having this makes the dummy plugin be redundant.

@jaulz yes that would be more elegant, thanks 👍

Run into this issue also by mistakenly having in my array of plugin another array of plugin instead of a plugin. A better message like "invalid plugin" would be great!


Fixed several typos on Basic JavaScript Waypoints

There were some misspellings of the word "referred".
closes #6118

:+1:


Add proxy support for RDAP and bootstrap HTTP client

For issue #18 use a proxy for the RDAP and bootstrap HTTP clients if http_proxy is set in the environment
I'm not a terrific golang dev, so let me know if this should be done differently
Thanks!

A (perhaps obvious) caveat- this will use the http_proxy value for both HTTP and HTTPS requests. This is probably fine in practice as I've never heard of using a different proxy for HTTP vs HTTPS

@skip2 @adamdecaf any interest in merging this? It's a necessity for those in restricted/secure environments that choke all egress traffic

Hi @mzpqnxow,
We can use a built-in Go function to use the HTTP_PROXY, HTTPS_PROXY, and NO_PROXY environment variables: https://pkg.go.dev/net/http#ProxyFromEnvironment .
Would you be happy with this? You'd need to set both the HTTP_PROXY and HTTPS_PROXY environment variables. (I'd guess if you've got one set, you've got the other set too).
I have 8261950e657dbdff759365709e0a6793e4719770 ready to merge if that's okay.

Hi @mzpqnxow,
I've merged https://github.com/openrdap/rdap/commit/8261950e657dbdff759365709e0a6793e4719770, so you can use the HTTP_PROXY, HTTPS_PROXY, and NO_PROXY environment variables.
thanks very much,
skip2

Hi @mzpqnxow,
We can use a built-in Go function to use the HTTP_PROXY, HTTPS_PROXY, and NO_PROXY environment variables: https://pkg.go.dev/net/http#ProxyFromEnvironment .
Would you be happy with this? You'd need to set both the HTTP_PROXY and HTTPS_PROXY environment variables. (I'd guess if you've got one set, you've got the other set too).
I have 8261950e657dbdff759365709e0a6793e4719770 ready to merge if that's okay.

Sorry, never got back to you about this, but I see you implemented it. Thanks!
I haven't tested it yet but will let you know if I encounter any issues


Fix casing issue in arm-synapse files

Fix build break in management pr pipeline

/azp run js - mgmt - pr

/azp run js - mgmt - pr

@colawwj : Can you please have a look at this PR? This is to fix build break in mgmt - pr pipeline. Logs here:
https://dev.azure.com/azure-sdk/public/_build/results?buildId=710915&view=logs&j=ca395085-040a-526b-2ce8-bdc85f692774&t=2997d1dd-cd01-525b-c0a8-6ec662309496

@colawwj : Can you please have a look at this PR? This is to fix build break in mgmt - pr pipeline. Logs here:
https://dev.azure.com/azure-sdk/public/_build/results?buildId=710915&view=logs&j=ca395085-040a-526b-2ce8-bdc85f692774&t=2997d1dd-cd01-525b-c0a8-6ec662309496

Should we bump the package version ?

Should we bump the package version ?

@qiaozha  @colawwj I believe current version is not yet released. Do we still need to bump package version?
@ramya-rao-a : just fyi about this PR.

@qiaozha  @colawwj I believe current version is not yet released. Do we still need to bump package version?
@ramya-rao-a : just fyi about this PR.

@praveenkuttappan,
The last change to this package was in #13434 which should have auto published the package. Are we saying that the auto publish failed due to the build break which in turn was due to the casing issue here?
@qiaozha,
Am not sure if the version bump check is made with what is already checked into the master branch or what has been released to npm. Since the last PR did not result in publishing we should be good with the current changes
Also, this is a purely auto generated package and should not ideally have manual changes. Do we know how the casing issue got introduced?
cc @colawwj who create the last PR for this package

@praveenkuttappan,
The last change to this package was in #13434 which should have auto published the package. Are we saying that the auto publish failed due to the build break which in turn was due to the casing issue here?
@qiaozha,
Am not sure if the version bump check is made with what is already checked into the master branch or what has been released to npm. Since the last PR did not result in publishing we should be good with the current changes
Also, this is a purely auto generated package and should not ideally have manual changes. Do we know how the casing issue got introduced?
cc @colawwj who create the last PR for this package

This issue is caused by git insensitive of file name case change. The actually change should be made to fix this issue is:
sdk/synapse/arm-synapse/src/operations/workspaceManagedSqlServerRecoverableSqlpools.ts => sdk/synapse/arm-synapse/src/operations/workspaceManagedSqlServerRecoverableSqlPools.ts
and
sdk/synapse/arm-synapse/src/models/workspaceManagedSqlServerRecoverableSqlpoolsMappers.ts => sdk/synapse/arm-synapse/src/models/workspaceManagedSqlServerRecoverableSqlPoolsMappers.ts

@colawwj Can you submit another PR to fix this issue? Thanks

@colawwj @qiaozha : Can you please prioritize this fix? This is causing build break and impacting other PRs.

fixed by #13535 and the release pipeline is working again. a newer version of @azure/arm-synapse sdk is out here<EMAIL_ADDRESS>


Remove unwrap in doc path resolution

I keep hitting this constantly in my project, and I haven't dug very deep into the root cause. But seeing as the project otherwise compiles it appears to be something unsupported is being incorrectly parsed in rust-analyzer which for other cases is handled by returning None.

fixes #10790

Thanks, this should be the proper fix.
bors r+


Fix for ROCm version check for 5.2 (RCCL)

Continuation of https://github.com/ROCmSoftwarePlatform/tensorflow-upstream/pull/1654
That PR fixed the location of RCCL for 5.2 and 5.1, but had the ROCm version check wrong.

jenkins: retest Ubuntu-sanity please

jenkins: retest Ubuntu-GPU-single please

jenkins: retest Ubuntu-CPU please

jenkins: retest Ubuntu-GPU-multi please

jenkins: retest Ubuntu-GPU-multi please


RC test: Graphing Slope-Intercept 1.1.0-rc.4

@KatieWoe , @ariel-phet , @amanda-phet graphing-slope-intercept/1.1.0-rc.4 is ready for RC testing. This is a brand=phet release only (no PhET-iO, no a11y).
Document issues in https://github.com/phetsims/graphing-slope-intercept/issues and link to this issue.
NOTE: This should be tested at the same time as Graphing Lines 1.3.0-rc4 (#290).
Assigning to @ariel-phet for prioritization.

General RC Test

What to Test

Click every single button.
Test all possible forms of input.

Test all mouse/trackpad inputs.
Test all touchscreen inputs.

If there is sound, make sure it works.
Make sure you can't lose anything.
Play with the sim normally.
Try to break the sim.
Test all query parameters on all platforms. (See QA Book for a list of query parameters.)
Download HTML on Chrome and iOS.
Make sure the iFrame version of the simulation is working as intended on all platforms.
Make sure the XHTML version of the simulation is working as intended on all platforms.
Complete the test matrix.
Don't forget to make sure the sim works with Legends of Learning.
Check this LoL spreadsheet and notify AR if it not there.
If this is rc.1 please do a memory test.

Issues to Verify
Check these issues off and close them if they are fixed. Otherwise, post a comment in the issue saying that it wasn't fixed. These issues must be tested for both Graphing Lines (#290) and Graphing Slope-Intercept. They are all platform independent; if they work on one platform, they will work on all platforms.  So a full test matrix is unnecessary for this RC.  Spot checking on a couple of platforms is sufficient.

[ ] Slope writing is inconsistent size
[ ] Short max widths for game answers
[ ] Very slight pointer area overlap with number pickers

Link(s)

Simulation
iFrame
XHTML
Test Matrix
Legends of Learning Harness

FAQs for QA Members

There are multiple tests in this issue... Which test should I do first?
Test in order! Test the first thing first, the second thing second, and so on.

How should I format my issue?

We typically assign the developer who opened the issue in the QA repository.

My question isn't in here... What should I do?
You should:

Consult the QA Book.
Google it.
Ask Katie.
Ask a developer.
Google it again.
Cry.

@KatieWoe also marking as top priority since this is a spot check and hopefully should polish this sim off

Since this is a spot check, these are the platforms I would propose checking.  @pixelzoom let me know if you want any changes.

[ ] Win 10 chrome
[ ] Win 10 firefox
[ ] Win 10 edge

[ ] Mac 10.14 firefox
[ ] Mac 10.14 safari
[ ] Mac 10.14 chrome

[ ] iOS 12
[ ] iOS 10
[ ] chrome OS

[ ] Win 7 IE
[ ] Mac 10.12 safari

QA is done

Thus concludes RC testing for the 1.1.0 release, we're ready to publish. Thanks @KatieWoe and QA team!


[FEATURE] Nightly Builds

The Terraform provider should provide a nightly build for the Terraform provider to provide preview versions.

Are you sure this is a good idea? We'd basically overflood the repo with tags nobody needs.

I would have hoped for pre-releases with identical tag as goreleaser enables (https://goreleaser.com/customization/nightlies/). Unfortunately only in the commercial version. If we do not find a similar solution we can also leave it out

No feasible option to realize this kind of build. Even if provided in the packages of GitHub, The setup at customer sites are quite unhandy - closing the issue.


replace pkg/symlink with moby/sys/symlink

follow-up to https://github.com/containerd/containerd/pull/4631

@dims @dmcgowan ptal

wondering what the difference of opinion is between moby and golang https://golang.org/src/path/filepath/symlink_windows.go implementations

If I recall correctly, this package was created to mitigated a "break out", where symlinks could be abused to traverse directories outside of the expected scope (https://github.com/moby/moby/pull/3184). As to the platform-specific handling; I was actually eyeing that (didn't dig deep yet); and we should look at those, and see if they make sense to upstream (either golang stlib, or something like golang.org/x/sys/windows.

@dmcgowan this LGTY?


Why are we using both _id and id in MongoDB???

Describe the bug
Rather the question should be: why the hell are we using BOTH an _id and id????? This just makes indexing slower and takes up more space. I don't even think _id is being used, even though MongoDB auto-generates it!
Suggested Fix
I think we should just stop making our OWN ids and use _id... no I know we should do this.

https://mongoosejs.com/docs/api.html#model_Model.findById

Update: this is much easier said than done due to many foreign key references and the history collection

UPDATE: Because it is hard to convert _id's object type of ObjectID to a String, I have decided to NOT do this and instead create additional indices for the database. We are ignoring the _id field!!!


Pin on dependencies

Update pins for packages.
ref

Closed via https://github.com/pysal/pysal/pull/1302


Change env for build_test from test to dev

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/membraneframework/elixir?version=dev:79269f32384219def0fa6ef45d2001a31720e419

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/membraneframework/elixir?version=dev:5673114ed0e3a4166faf642d9dbd55e0f9dd55d9

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/membraneframework/elixir?version=dev:78622215361f0c9a74d237e9c0d15c8ed7f517c0

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/membraneframework/elixir?version=dev:eae7d91ff91b5530b93017c241d381dedb0684b3

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/membraneframework/elixir?version=dev:3de36a7a5a5d55ba6671a4bcc1c012aa0e320165

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/membraneframework/elixir?version=dev:3de36a7a5a5d55ba6671a4bcc1c012aa0e320165

Your orb has been published to the CircleCI Orb Registry.
You can view your published orb on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/membraneframework/elixir?version=1.5.3


would be great to add markdownlint Github Action

See how it works here: https://github.com/yegor256/latexmk-action/blob/master/.github/workflows/markdown-lint.yml

added


Authorization approve

#243
This is to ensure that the users can't approve their own credit transfers. So I'm adding a check that the user who's approving is associated with the government.

 Security | Measures to stop externals from sending requests in prod [v0.2.0]


Comparison in Date

Hi,
I want to give alert to select date if user select previous date from todays date .Any method.

Use NSCalendar, or just compare the absolute time interval of each date.


Question: considered applying for Clojurists Together?

Hello, @weavejester!
I think Duct is one of the most high-quality, under-appreciated pieces of the Clojure web development ecosystem, but from my point of view, it could use work on a cohesive guide, and how to handle common web development use-cases with Duct. The documentation for Luminus is a good example, in my opinion.
Have you considered applying for funding from Clojurists Together?
Teodor

I floated the idea. The feedback I received was that working on a more widely used project like Ring would be more useful. However, currently I haven't much time to spend on either project, but I'm hoping that will change soon.

I see. Thanks for your reply.
I see the argument for investing in Ring, given its use. It might just be me, but I have this feeling that I can't shake that Duct might be what we need to "pull together" the ecosystem. Take how we reload our code. We keep reloading in new ways, but we could have formulated those was within Duct's frame, and at the same time had more control, since Duct lets us provide the input for the reload. For instance, I really liked being able to refresh my migrations when working on database design; feels like Figwheel for a PostgreSQL data model.
I don't know how much Duct is used by others, though. I've been playing with the idea of a cohesive set of Duct docs on cljdoc, focused on common use-cases rather than what building blocks are provided, Luminus style. Which I think could lead to traction. cljdoc seems to be able to pull in namespace docs from different projects, so that it's simple to provide a top-level story for how you create value with this, and then link out to all the optional building blocks that Duct provides.
Glad to hear you've considered it, and I guess you can take this as a vote of Duct on Clojurists Together being a good idea. And if it isn't Duct, I hope you get a funding opportunity to work on some of the other pieces of Clojure's web development ecosystem that you've created!
I've got my question answered, so I'm closing this. Ping me any time if you wish to discuss further.
Teodor

Clojurists Together survey results show that the community has interest in Duct.
https://mailchi.mp/d2c85f828d27/q4-survey-results-529187?e=51c6277d61
We leverage it in our projects and have created several duct modules as well:
https://github.com/magnetcoop
We would be happy to contribute.

@asiergaldos Thanks for the link to the newsletter. Glad to see that it's up there, and that you and others are interested in using Duct, and seeing it funded.
In what way would you be happy to contribute?

@teodorlu - we have contributed to a new feature (external profiles), but we could help with documentation as well.
Our current duct-based commercial projects are on development at the moment, once we deploy to prod we could write blog posts.
In the meantime we continue to release and maintain duct modules in our github account.
What else could we contribute...?
IMHO, Duct deserves a logo and site. We can help with both.

IMHO, Duct deserves a logo and site. We can help with both.

I believe that would be very helpful. @weavejester should probably have a say in the matter too.

Our current duct-based commercial projects are on development at the moment, once we deploy to prod we could write blog posts.

I'll definitely be interested in reading those. Good luck on finalization!


Cargo.lock is not in sync with Cargo.toml in the 1.1.0 release

Hi,
I package at51 for Arch Linux (https://archlinux.org/packages/extra/x86_64/at51/) and when trying to update to 1.1.0 I noticed the Cargo.lock file shipped included in the release is not in sync with Cargo.toml. This is because commit 152da5331c97e19a29cfa8771c93bfeba6bf91a0 wasn't included in the release.
This is problematic because we use the lockfile for the build, keeping our binaries as close as possible to upstream's, and this also allows us to make the builds reproducible without having to maintain our own Cargo.lock file separately. You can read more about this in https://wiki.archlinux.org/title/Rust_package_guidelines.
Would it be possible to push a 1.1.1 release (since rust doesn't have "-post" releases) fixing this?
Cheers,
Filipe

Ah sorry for that, I pushed a new 1.1.1 release


[#10] ci - update ci to get test coverage on sonar cloud

Closes #10

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 89.655%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
26

Relevant Lines:
29

💛  - Coveralls


Add docstrings and type hints to Evaluate class.

Add docstrings and type hints for the Evaluate class.
Needs review!

Still some typing errors:
dspy/evaluate/evaluate.py:17: error: Cannot find implementation or library stub for module named "IPython.display"  [import-not-found]
dspy/evaluate/evaluate.py:147: error: Overloaded function signatures 1 and 2 overlap with incompatible return types  [overload-overlap]
dspy/evaluate/evaluate.py:147: error: Overloaded function signatures 1 and 3 overlap with incompatible return types  [overload-overlap]
dspy/evaluate/evaluate.py:161: error: Overloaded function signatures 2 and 3 overlap with incompatible return types  [overload-overlap]
dspy/evaluate/evaluate.py:264: error: "type[tqdm[Any]]" has no attribute "_instances"  [attr-defined]
dspy/evaluate/evaluate.py:303: error: "Series[Any]" not callable  [operator]

Will check these as type permits.

With help from the mypy folks, the type errors are now fixed, and mypy likes the file.

@arnavsinghvi11 @rpgoldman what is left for this to be merged?

@cdowellmdb I think it's good to go. @arnavsinghvi11 didn't like the comments I put in to muffle linters; I prefer to keep them. Is that a show-stopper?
If not, do you need me to merge in the changes since this was pushed?

Thanks for circling back to this @rpgoldman @cdowellmdb ! Left a few comments back on the review and it should be good to merge once the last parts are resolved! (There's also a merge conflict but I believe rebasing to main should fix this).
The in-line comments are definitely not a show-stopper, but I'd prefer to leave them out from committed code to ensure they catch any changes needed.

The in-line comments are definitely not a show-stopper, but I'd prefer to leave them out from committed code to ensure they catch any changes needed.

Not sure I understand this last.  What's "they" here?  I assume you are saying that we should continue to see these linter warnings.  Here's an example of why I disagree:
E.g., I put in # noinspection PyProtectedMember because that piece of code uses a private member:
program._assert_failures += dspy.settings.get("assert_failures")

One of 2 things should happen, IMO:

We add a method like increment_assert_failures to the sort of thing that counts assertion and suggestion failures and use that instead.
We decide we want to continue to use the protected member, and as I do, quash the warning.

I'm ok with either solution, but a third solution, where we just have linters continue shout at us, seems generally bad.  Bad because if we end up with lots of these linter shoutings then it's just human nature to start ignoring the linter warnings altogether. And we certainly cannot put "must build cleanly" into our testing process, if we do this.
I have been bitten many times by code repositories that emit lots of warnings, training their developers to ignore linter warnings.  Because sooner or later there's a warning that's really important, but that signal is lost in the noise.  I'm a strong believer in building clean. If there's a warning, either it's real and you fix it, or it's not real and you quash it.


Enable tests for Windows with GitHub Actions

Finally! In the old https://github.com/embulk/embulk repository, Windows was tested by Appveyor, but we're going to discard Appveyor.
There were some blockers to run tests on GitHub Actions / Windows. This PR is to unblock it, and test them on Windows.

Thanks!


Holes while camera is moving

Fabric prims don't finish loading until the camera stops moving, which results in holes.
https://user-images.githubusercontent.com/915398/230969896-43627ef8-a840-4905-a5ac-0638ad0bde61.mp4

I've tried a few different options to force synchronous loading, but no luck so far:
app.asyncRendering = false
app.usdrt.scene_delegate.geometryStreaming.enabled = false
rtx.hydra.geometrySyncLoads = true

This was autoclosed in https://github.com/CesiumGS/cesium-omniverse/pull/265 (my mistake for writing fix #255 in that PR summary)

This should be fixed in the next official Kit release. We'll keep this issue open until then.


[feature] dynamic management of executors

Use the mpi4py interface to dynamically assign and remove executors in a larger network with multiple executors. Currently, the user would have to manage the network of executors on their own, but having the management part inside the MPI parallel process could be beneficial.

This is now implemented at least for the case that all executors use the same amount of resources.


Allow overwriting part names

Summary
This PR adds functionality to overwrite part names associated to supplier/manufacturer parts.
Problem
In some cases, parts can have multiple different manufacturers and MPNs, but are essentially the same. For example, there is a multitude of 10-pin 2.54mm 2x5 shrouded headers, which for almost all intents and purposes are identical.
For items like these, it does not make sense to keep seperate stock or even treat them differently in any way. However, currently inventree-part-import does not support such a scenario.
Description
This PR adds functionality to overwrite part names associated to supplier/manufacturer parts. With this, it's possible to store multiple similar supplier/manufacturer into the same part.
For example,
inventree-part-import --overwrite-part-name Header-254-16P-S 302-S161 BHR-16-VUA SBH11-PBPC-D08-ST-BK

will store multiple of the aforementioned headers into the same part, Header-254-16P-S. This keeps the parts minimal, allows keeping one stock item for all different supply/manufacturer parts and in general simplifies handling.

For items like these, it does not make sense to keep seperate stock or even treat them differently in any way.

In general it does. If you ever run into issues with one of these part variations, it's very helpful if you are able to trace back where you got them from.
There's 2 proper solutions here:

Use inventree_part_import as is and use the "Variant Of" setting to link multiple parts to a meta part.

Create multiple manufacturer parts for the same part. (inventree_part_import was designed in a way where one part always corresponds to exactly one manufacturer part, so changing this would require reworking it quite a lot).

Also thanks for the PR and trying to resolve this, but there are a few issues with this approach.

As you already noticed "If multiple search terms are given, all resulting manufacturer/supplier parts will point to the same part.". This is pretty poor behaviour, as the default behavior is to treat each part separately from each other.
From what I can tell the new ApiPart.name attribute doesn't serve any purpose, as it's always equal to the MPN. If anything, the whole option should probably just be renamed to override_mpn as that's essentially what it does, from what I can tell.

Use inventree_part_import as is and use the "Variant Of" setting to link multiple parts to a meta part.

Part variations require to keep the separate stock, which is good idea in many cases, but not desired in every case

Create multiple manufacturer parts for the same part. (inventree_part_import was designed in a way where one part always corresponds to exactly one manufacturer part, so changing this would require reworking it quite a lot).

I'm not sure if I understand you correctly here, but in my understanding this is exactly what the PR does. It creates one part, with a user-assigned name, and creates supplier- and manifacturer-parts (with different search-terms) for that part

As you already noticed "If multiple search terms are given, all resulting manufacturer/supplier parts will point to the same part.". This is pretty poor behaviour, as the default behavior is to treat each part separately from each other

Yes, but the goal of this PR is to allow overriding this behaviour, to provide the aforementioned as part of the script

From what I can tell the new ApiPart.name attribute doesn't serve any purpose, as it's always equal to the MPN. If anything, the whole option should probably just be renamed to override_mpn as that's essentially what it does, from what I can tell.

No, it serves a different purpose. Currently, mpn is used synonymously for both supplier/manufacturer part identifer AND regular part identifier. The function get_part_data returned a name field, but it was always just mpn. With the new data structure, it allows api_parts to have different name (part identifier) and mpn (manufacturer part/supplier part identifier)

I agree though that the naming scheme might not be ideal here. Maybe --use-common-part or similar would be more clear

I'm not sure if I understand you correctly here, but in my understanding this is exactly what the PR does. It creates one part, with a user-assigned name, and creates supplier- and manufacturer-parts (with different search-terms) for that part.

Maybe. This might work for newly created parts. But it won't for already existing ones, because I search for existing Supplier/Manufacturer parts first and if they exists, just use them (and the part linked to them). So this could easily result in name clashes (because we'd be trying to rename another part to an existing name then).

No, it serves a different purpose. Currently, mpn is used synonymously for both supplier/manufacturer part identifer AND regular part identifier. The function get_part_data returned a name field, but it was always just mpn. With the new data structure, it allows api_parts to have different name (part identifier) and mpn (manufacturer part/supplier part identifier)

Still, the whole override could (and should) be done only in the PartImporter class. The suppliers module doesn't have to be touched.

I think I had a similar situation in the past actually, where two different suppliers used slightly different MPNs for the same part. So I ended up with two parts, manufacturer parts and supplier parts each. The way I resolved this was by manually linking all the supplier parts to the same manufacturer part. And then deleting the duplicate manufacturer part and part. (I did this manually via the InvenTree UI).
Maybe an approach like this would be better here.
Basically a separate mode to --merge-manufacturer-parts (or for your case --merge-parts).
So you could import all your 2.54mm headers normally and then use a single inventree-part-import --merge-parts <MPN> <MPN> <MPN> ... call to combine them. The only problem with this approach is that one of my rules with this has been: no deleting.

Still, the whole override could (and should) be done only in the PartImporter class. The suppliers module doesn't have to be touched.

Ah, true. Agreed. I think I didn't do it that way because of the nested structure of the calls that create the necessary parts, as api_part is already passed through to all functions.

Basically a separate mode to --merge-manufacturer-parts (or for your case --merge-parts).

I like that approach a lot. That would also allow doing this in hindsight, which is better from a usability perspective.

The only problem with this approach is that one of my rules with this has been: No deleting.

A sensible approach here could be to always confirm deletions, e.g. by asking "this would delete parts xyz ... are you sure?"

I like that approach a lot. That would also allow doing this in hindsight, which is better from a usability perspective.

Cool, then let's go with that! I'll try to find some time to throw together an implementation the next few days.

A sensible approach here could be to always confirm deletions, e.g. by asking "this would delete parts xyz ... are you sure?"

Yeah, I think I'll go for only marking the parts as "inactive" + a config option to enable automatic deleting + an "are you sure?" prompt, listing everything that's going to be deleted. Better be safe than sorry.


[Event Request] Codeunit 90 Purch.-Post - procedure PostItemChargePerTransferOnAfterInitPurchLine2 - OnAfterPostItemChargePerTransfer

Please add the following existing Event OnAfterPostItemChargePerTransfer to procedure PostItemChargePerTransferOnAfterInitPurchLine2 in Codeunit 90 Purch.-Post
[Event Request] Codeunit 90 Purch.-Post - procedure PostItemChargePerTransferOnAfterInitPurchLine2
var
    TransRcptLine: Record "Transfer Receipt Line";
    ItemApplnEntry: Record "Item Application Entry";
    DummyTrackingSpecification: Record "Tracking Specification";
    PurchLine2: Record "Purchase Line";
    TotalAmountToPostFCY: Decimal;
    TotalAmountToPostLCY: Decimal;
    TotalDiscAmountToPost: Decimal;
    AmountToPostFCY: Decimal;
    AmountToPostLCY: Decimal;
    DiscAmountToPost: Decimal;
    RemAmountToPostFCY: Decimal;
    RemAmountToPostLCY: Decimal;
    RemDiscAmountToPost: Decimal;
    CalcAmountToPostFCY: Decimal;
    CalcAmountToPostLCY: Decimal;
    CalcDiscAmountToPost: Decimal;
begin
    with TempItemChargeAssgntPurch do begin
        TransRcptLine.Get("Applies-to Doc. No.", "Applies-to Doc. Line No.");
        PurchLine2 := PurchLine;
        ...
                    PostItemJnlLine(
                      PurchHeader, PurchLine2,
                      0, 0,
                      ItemApplnEntry.Quantity, ItemApplnEntry.Quantity,
                      PurchLine2."Appl.-to Item Entry", "Item Charge No.", DummyTrackingSpecification);
                until ItemApplnEntry.Next() = 0;
        end;
    end;

    OnAfterPostItemChargePerTransfer(PurchLine); // <-- NEW EVENT

end;

[IntegrationEvent(false, false)]
local procedure OnAfterPostItemChargePerTransfer(var PurchaseLine: Record "Purchase Line")
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 51150.


support Required attribute?

this package support Required attribute?
http://stackoverflow.com/questions/16207202/required-attribute-not-working-with-file-input-in-angular-js

Could you tell me how to pass the required attribute to generated file input when you're using it on "div" element like that:

(...)

It looks like the required attr is not passed to generated input.

ng-required read the docs.

I did and didn't saw anything helpful. Do you have any example of using that with div ng-file-input?

Demo page has the example.

I? cant find the example either

The first form in the demo page has required. https://angular-file-upload.appspot.com/

and could it have that same required attribute in the drop zone?

yes

I tried and it is not working Drop your image

            Drop files

	*required

if you still cannot figure it out create a jsfiddle.

@danialfarid, Hi!
wath this example http://jsfiddle.net/bmsdave/3v8e4h7u/2/
if I select some files, and clear all -> picFile = [] , and require dont work.
sorry, for my english =\

@danialfarid,
this error exist if set: multiple="true" of ngf-multiple="true"

set picFile = null

@danialfarid, where I must set picFile = null?
If i set in controller MyCtrl ( see example in jsfiddle ), picFile rewrite on [] again if i dont choised any files.

If you set picFile = null it would clear the errors.

@danialfarid, i set $scope.picFile = null  in controller.
It is dont work: http://jsfiddle.net/3v8e4h7u/3/

What doesn't work? Provide steps to reproduce and expected/actual result.

@danialfarid, http://jsfiddle.net/3v8e4h7u/3/
steps:

choise some files
clear input (click on input and click cancel button)
see the screenshot in comment on 19 Jan. picFile will be equal array, and require won't work.

pull request #1833 fix it


Revamp HISTORY.rc template and process_hist.csh

@smahanam @weiyuan-jiang
I'm writing up this issue for later, after we have dealt with the SLES12 etc merger and released a new beta tag.
GEOSldas_HIST.rc (after process_hist.csh) leaves the user without a reasonably complete HISTORY.rc file that contains definitions for all available standard output collections.
The current work flow is oriented toward (i) setting up the nightly test cases and (ii) helping the user with defining output collections that change depending on whether Catchment or CatchmentCN is used.
An alternative approach for (i) would be to provide separate HISTORY.rc files for the nightly test cases (similar to the HISTORY.rc files that are specific to MERRA-2, FP, etc in the AGCM), and to have one "primary" HISTORY.rc.tmpl (template) file that contains definitions for all standard collections, with users just uncommenting the ones that they want to write.  Or, alternatively, process_hist.csh could keep everything, with or without comments as desired for the test case.
Re. (ii), we could either define entirely new collections that are specific to CatchmentCN, or we could keep the existing model of having a script (process_hist.csh) that generates a HISTORY.rc.tmpl file specific to either Catchment or CatchmentCN, depending on the model choice in LDAS.rc.   The latter approach would be better if the plan is to add all the carbon-related variables into the "lnd" collection in future FP or reanalysis products that use CatchmentCN.  But it's not clear that this would indeed be the best approach.  A separate "land carbon" collection may be preferable.  In any case, this can also be decided later.
Unfortunately, GEOSldas presents additional complications:

If running on EASE tiles, only tile-space output is available.  (Is this still true with MAPL-2?)  This could be addressed with comments in HISTORY.rc or through process_hist.csh

The "GridComp" name isn't always obvious.  E.g., TSOIL output needs to come from the ENSAVG  GridComp so that it is in the desired Kelvin units, even if we're running a single-member, model-only simulation without perturbation (see also #114).

For now, I think we should change GEOSldas_HIST.rc and process_hist.csh such that the resulting HISTORY.rc file contains the full set of collection definition, along with a set of often-used GEOS DC/PC lat/long grids (at least 576-by-361 and 1152-by-721), without having process_hist.csh remove any collections or gridlabels.  This will make it easier for the user to edit HISTORY.rc.

@gmao-rreichle, you have the long term plan for GEOSldas and the only only one who knows every aspect. I am just giving you another line to think:
We have the below entry in GEOSldas_CAP.rc - we can play with HIST_CF:  to set the right collections for special cases like nightly tests.  (I think nightly test uses a different script that Matt has, if so, we can modify Matt's script, I don't know).
MAPLROOT_COMPNAME: GEOSldas
ROOT_NAME: GEOSldas
ROOT_CF: LDAS.rc
HIST_CF: HISTORY.rc

the "lnd" collection has different  names for TSOIL:  TP1 from CATCH or TSOIL1TILE from ENSAVG.  Current develop branch generates history.rc   lnd collection with  'TP1'  , 'ENSAVG' ,...   . that requires user to correct those names before running ensemble or assimilation.  appropriate  name choice  should be built in the procedure of generating history.rc

@smahanam @saraqzhang : Thanks for your input, which is much appreciated.
The units of TPx and TSOILx are a concern, see issue #114 .  I'm not sure yet about the best way to address this.  One obstacle is that the "ENSAVG" GridComp is not fully functional for CatchCN, and using "TSOILTILEx" from "ENSAVG" (and renaming it to "TSOILx") probably only works for Catch.  Probably the best solution is to change the GCM Grid Comp and have all TPx and TSOILx variables outside of subroutine catchment() in units of Kelvin, as suggested in #114 .   The downside is that we do not control the GCM Grid Comp and it will take time to get changes into their develop branch.
Other desirable edits related to this issue:

do not write TSURF into offline catch restarts ( see also issue #114 )
in nightly tests, only write "lnd" output (ie, drop "lfs" output)

Additional task:  Create Wiki page about HISTORY options.  Pull relevant information from GEOSldas tutorial

On 4 May 2020, @gmao-rreichle received email from @smahanam below.
@gmao-rreichle copied files mentioned in email to /discover/home/rreichle/Sarith_HISTORYrcFiles/

From: Sarith Mahanama<EMAIL_ADDRESS>Mon 04-May-20 7:31 AM
[...]
I modified process_rst.csh [process_hist.csh??] and GEOSldas_HIST.rc a while ago and used ldas_setup create a series of HISTORY.rc files for different combinations.
From my own experience as an user, more often when I run CF experiments, I would like to write few variables in tile-space, so I add a collection my own since GEOSldas by default produce CF output in 2D space. For this, all I need is a tile-space example in HISTORY.rc which I usually take from an EASE experiment. I thought adding a sample tile-space collection to CF and leave it commented, but I saw this  catch_progn_incr is available for all combinations, that example helps.
Please take a look at below HISTORY files and see the new format is cleaner than the current version. The modified process_rst.csh and GEOSldas_HIST.rc are also at the same place, you will see they can be cleaned up a bit.
(1)
LSM_CHOICE:                         1
GRIDNAME:                  SMAP-EASEv2-M36
AEROSOL_DEPOSITION:                 0
RUN_IRRIG:                          0
LAND_ASSIM:                         NO
PERTURBATIONS:                      0
/discover/nobackup/smahanam/HISTORY.1.rc
(2)
LSM_CHOICE:                        1
GRIDNAME:                  SMAP-EASEv2-M36
AEROSOL_DEPOSITION:                1
RUN_IRRIG:                          1
LAND_ASSIM:                        NO
PERTURBATIONS:                      0
/discover/nobackup/smahanam/HISTORY.2.rc
(3)
LSM_CHOICE:                        2
GRIDNAME:                  SMAP-EASEv2-M36
AEROSOL_DEPOSITION:                1
RUN_IRRIG:                          1
LAND_ASSIM:                        NO
PERTURBATIONS:                      0
/discover/nobackup/smahanam/HISTORY.3.rc
(4)
LSM_CHOICE:                        2
GRIDNAME:                  PE12x72-CF
AEROSOL_DEPOSITION:                1
RUN_IRRIG:                          1
LAND_ASSIM:                        NO
PERTURBATIONS:                      0
/discover/nobackup/smahanam/HISTORY.4.rc
(5)
LSM_CHOICE:                        1
GRIDNAME:                  SMAP-EASEv2-M09
AEROSOL_DEPOSITION:                0
RUN_IRRIG:                          0
LAND_ASSIM:                        YES
PERTURBATIONS:                      0
/discover/nobackup/smahanam/HISTORY.5.rc
(6)
LSM_CHOICE:                        1
GRIDNAME:                  SMAP-EASEv2-M09
AEROSOL_DEPOSITION:                0
RUN_IRRIG:                          0
LAND_ASSIM:                        YES
PERTURBATIONS:                      1
/discover/nobackup/smahanam/HISTORY.6.rc


Add unwrap and unpack (fixed versions, with tests)

Originally proposed by @toastal in #26

Similar to Maybe.Extra.unwrap, Result.Extra.unwrap, Either.unwrap.

Original code didn't compile.
Fixed code, added a bit more documentation and added tests.

Aw, thanks man. I was just sketching it in the GitHub editor and forgot to fix it. @ThomasWeiser

Thanks folks. Merged and published as 5.0.0.


Fix missing musl config in package.json

I'm fixing https://github.com/napi-rs/napi-rs/issues/174, we can testing a alpha version after it's fixed

@Brooooooklyn Is it done? I mean, is it ok to merge this?

@kdy1 let's create a new alpha tag in this branch and see if the new napi-rs cli worked.

I tried it, but seems like I can't tag on your fork.

I tried it, but seems like I can't tag on your fork.

So could you add me as collaborate in this project? So I can push branch to swc-project/swc

Did it

https://github.com/swc-project/swc/pull/1074


Upgrade CodeQL v3.22.12 -> v3.23.2

This PR contains the following updates:

Package
Type
Update
Change

github/codeql-action
action
minor
v3.22.12 -> v3.23.2

Release Notes

github/codeql-action (github/codeql-action)
v3.23.2
Compare Source
v3.23.1
Compare Source
v3.23.0
Compare Source

[ ] If you want to rebase/retry this PR, check this box

Suggested commit message:
Upgrade CodeQL v3.22.12 -> v3.23.2

See:
- https://github.com/github/codeql-action/blob/main/CHANGELOG.md
- https://github.com/github/codeql-action/compare/v3.22.12...v3.23.2


"Video" preview shows actual data but when opening the video, a different view appears

Describe The Bug:
I was using this Plugin previously on my Mac installation of Homebridge, however due to ongoing issues, I now installed home bridge on a separate raspberry.
I setup homebridge and installed the AlphaESS Plugin as well as Homebridge Camera FFMPeg, there are no other plugins installed.
When I now preview the camera feed, it shows todays graphs.
When I then open the feed to have a bigger view, I get an outdated view.
Additionally I set up a notification for the Trigger to have the Home-App send me a notification once the trigger fires.. This notification only gets send when I login to home bridge or open the home app.
To Reproduce:
Open Home App and click on the Video Preview.
Expected behavior:
Actual Live view to show same info as preview screen did.
Logs:
[23/03/2024, 15:53:51] [Camera FFmpeg] [AlphaESS] Starting video stream: 1280 x 720, 30 fps, 299 kbps
[23/03/2024, 15:53:54] [Camera FFmpeg] [AlphaESS] Stopped video stream.
[23/03/2024, 15:54:31] [Camera FFmpeg] [AlphaESS] Starting video stream: 1280 x 720, 30 fps, 299 kbps
[23/03/2024, 15:54:46] [Camera FFmpeg] [AlphaESS] Stopped video stream.
[23/03/2024, 16:07:48] [Camera FFmpeg] [AlphaESS] Starting video stream: 1280 x 720, 30 fps, 299 kbps
[23/03/2024, 16:07:51] [Camera FFmpeg] [AlphaESS] Stopped video stream.

Plugin Config:
{
            "alphaUrl": "https://openapi.alphaess.com/api",
            "appid": "xxx",
            "appsecret": "xxx",
            "serialnumber": "xxx",
            "powerLoadingThreshold": 1500,
            "socLoadingThreshold": 100,
            "refreshTimerInterval": 60000,
            "power_image_filename": "/home/homebridge/alpha_power_image.png",
            "logrequestdata": false,
            "tibberEnabled": false,
            "tibberLoadBatteryEnabled": false,
            "tibberLoadingMinutes": 60,
            "tibberThresholdSOC": 60,
            "tibberThresholdEur": 0.01,
            "triggerImageFilename": "/home/homebridge/tibber_image.png",
            "platform": "AlphaEssPlatform"
        },
        {
            "name": "Camera FFmpeg",
            "videoProcessor": "/usr/bin/ffmpeg",
            "cameras": [
                {
                    "name": "AlphaESS",
                    "unbridge": false,
                    "videoConfig": {
                        "source": "-f image2 -loop 1 -s 640x360 -pix_fmt yuvj422p -i /tmp/alpha_power_image.png",
                        "stillImageSource": "-i file:///home/homebridge/alpha_power_image.png",
                        "audio": false
                    }
                },
                {
                    "name": "Trigger",
                    "unbridge": false,
                    "videoConfig": {
                        "source": "-f image2 -loop 1 -s 640x360 -pix_fmt yuvj422p -i /tmp/tibber_image.png",
                        "stillImageSource": "-i file:///home/homebridge/tibber_image.png",
                        "audio": false
                    }
                }
            ],
            "platform": "Camera-ffmpeg"
        }

Screenshots:
Preview:

Live-Feed:

Notification setting

Environment:

Plugin Version: v2.83.0
Homebridge Version: v1.7.0
Node.js Version: v20.11.1
NPM Version: ?
Operating System: Raspbian Bookworm (12)

hi, as the homebridges plugin only creates a fixed .png file, the rendering / video preview task on your ios device is handled by the homebridge-camera-ffmpeg plugin.
Please check if there is already an issue there or create a new https://github.com/Sunoo/homebridge-camera-ffmpeg


Servers Tab Not Showing Saved Connections After Update

Issue Type: Bug
The servers according inside of connections are not showing my saved connections.  I checked my settings.json and I can see that the saved connections are still there, but are somehow not being loaded.
Azure Data Studio version: azuredatastudio 1.22.0 (77b9a708df3679c26a89ba24a070b3f7a078a510, 2020-09-21T20:23:13.120Z)
OS version: Windows_NT x64 10.0.18363

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz (4 x 2808)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.88GB (5.79GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions: none

Can you please include a screenshot of what you're seeing? If you add a new connection does it not show up? Also please include the logs using the instructions from the bot.

Can you please include a screenshot of what you're seeing? If you add a new connection does it not show up? Also please include the logs using the instructions from the bot.

Here's a screenshot of what I see, that connection group "Test" was a connection group I tried to add and also does not show up.  The collapsed group has sensitive info, so I prefer not to show it

We need more info to debug your particular issue. If you could attach your logs to the issue (ensure no private data is in them), it would help us fix the issue much faster.
To find your logs:

Open command palette (Click View -> Command Palette)
Run the command: Developer: Open Logs Folder

This will open the log file locally. Please include renderer.log

I've attached the logs here: I just grabbed the whole folder.
20200923T131205.zip
Please let me know if there is anything else needed.
Thanks

Hmm, there's nothing here indicating what the problem could be.
Could you try uninstalling and then reinstalling?
If that doesn't help then could you close ADS, open it and once it's done loading go to Help -> Toggle Developer Tools and then click the console tab and see if there's any errors displayed there?

Hmm, there's nothing here indicating what the problem could be.
Could you try uninstalling and then reinstalling?
If that doesn't help then could you close ADS, open it and once it's done loading go to Help -> Toggle Developer Tools and then click the console tab and see if there's any errors displayed there?

Just tried reinstalling it, and same thing happens.  I do see 1 error in the console but it doesn't look related

And just to be sure - changing color themes doesn't change anything?

And just to be sure - changing color themes doesn't change anything?
Just tried that. Nothing happens aside from the color theme changing as I swap themes. No additional console errors/info.

Couple more things to try :

Browse to the folder where settings.json is located
Close ADS
Rename the file to settings.json.bak
Restart ADS
Try to add a connection

If that doesn't work:

Uninstall ADS
Download the installer from https://github.com/microsoft/azuredatastudio/releases/tag/1.21.0
Install it and then try adding a connection as normal

Couple more things to try :

Browse to the folder where settings.json is located
Close ADS
Rename the file to settings.json.bak
Restart ADS
Try to add a connection

If that doesn't work:

Uninstall ADS
Download the installer from https://github.com/microsoft/azuredatastudio/releases/tag/1.21.0
Install it and then try adding a connection as normal

Hi, sorry for the late reply.  The first part didn't work so I ended up installing 1.21.0 and everything is back to normal, showing my old connections.
Thanks for all you help.

And if you update back to 1.22 then you still don't see the connections?
Would you be willing to e-mail me your settings.json file so I can see if there's something specific to your environment? (Passwords are not stored there - but it would contain server names and usernames)

And if you update back to 1.22 then you still don't see the connections?
Would you be willing to e-mail me your settings.json file so I can see if there's something specific to your environment? (Passwords are not stored there - but it would contain server names and usernames)

Just updated it back to 1.22 and connections disappeared again.  I really would rather not send the settings.json file.  Unless you don't mind me renaming the server names and changing anything that I deem sensitive information.
In the mean time, I will downgrade it back to 1.21
Thanks

It's worth looking at to see if there's something odd with the format - so yeah if you don't mind stripping out whatever sensitive information you have in there and mailing that to<EMAIL_ADDRESS>that'd be great.
When you've tried adding a single server what type of server is it and how are you authenticating (SQL login/AAD)?

Alright I'll strip sensitive data and send it over.  I didn't actually try adding a server, because I tried adding a server group, something super basic, and that didn't show up. But my connections are all Windows Authentication if that helps.

I was able to repro the issue - it looks like you've modified the settings.json file manually so the values aren't what we expect.
The first entry in the connection groups section needs to have capitalized ROOT as the name - using lowercase will break it as you're seeing.
    {
      "name": "ROOT",
      "id": "c777f06b-202e-4480-b475-fa416154d458"
    },

Fixing that made it work for me.

Do you know how you got in this state? If you deleting the settings.json file as I suggested and then added the connections using the ADS connection dialog it should be setting the values as expected so if that's not happening let me know.
I'll look into making it not so strict in the casing requirements - but in general custom modifications to the settings.json should be done with care and only in special circumstances.

I have a PR out with a fix so that should be out in the next stable release. In the meantime you can either roll back to 1.21 or use 1.22 and change the root group name to ROOT as suggested as a workaround.

I was able to repro the issue - it looks like your settings.json has a lowercase root group name which is throwing off our logic (this was refactored in the last release which is why you're seeing it break now).
The first entry in the connection groups section needs to have capitalized ROOT as the name with the new logic - using lowercase will break it as you're seeing.
    {
      "name": "ROOT",
      "id": "c777f06b-202e-4480-b475-fa416154d458"
    },

Fixing that made it work for me.

Do you know how you got in this state? If you deleting the settings.json file as I suggested and then added the connections using the ADS connection dialog it should be setting the values as expected so if that's not happening let me know.
I'll look into making it not so strict in the casing requirements - but in general custom modifications to the settings.json should be done with care and only in special circumstances.

I definitely did not change "root" name, but I do modify my settings manually.  However, I have been using ADS since it was called SQL Operations Studio.  I bet you it was when I copied the settings.json from there to ADS.
You think that might be it?
Thanks again for you help.

That could very well be it - thanks for all your help investigating it!


Error: already replaced this function

Hi,
after upgrading to 0.7.1 when using this code
Il2Cpp.Domain.assembly("Assembly").image.class("TestClass").method<void>("Method").implementation = function(p1: Il2Cpp.Object) : void{
    this.method<void>("Method").invoke(p1)
    this.method<void>("Method").invoke(p1)
}

I sometimes get this error
Error: already replaced this function     at Object.value [as replace] (frida/runtime/core.js:373:1)     at set implementation [as implementation] (node_modules/frida-il2cpp-bridge/dist/il2cpp/structs/method.js:87:1)
previous versions didn't have this. At the same time, the method does not work as I wrote

I'm sorry I didn't figure out the error, now I have new information
I have two classes A and B
class A: System.Object {
    System.Void M(C c);
}

class B: A {
    System.Void M(C c);
}

if you write this code
Il2Cpp.Domain.assembly("Assembly").image.class("A").method<void>("M").implementation = function(c: Il2Cpp.Object) : void{
    this.method<void>("M").invoke(c)
}

Il2Cpp.Domain.assembly("Assembly").image.class("B").method<void>("M").implementation = function(c: Il2Cpp.Object) : void{
    this.method<void>("M").invoke(c)
}

Only after this will an error appear
Error: already replaced this function     at Object.value [as replace] (frida/runtime/core.js:373:1)     at set implementation [as implementation] (node_modules/frida-il2cpp-bridge/dist/il2cpp/structs/method.js:87:1)

Hmm this is strange; would you post the dump of these two classes (just console.log them)

Ok lol, there is a problem on my side... this one works fine:
console.log(new Il2Cpp.Method(Il2Cpp.Api._classGetMethodFromName(SystemString, Memory.allocUtf8String("GetHashCode"), -1)));

Look at this:
console.log("System.String ->", SystemString.method("ToCharArray"));
console.log("System.Object ->", SystemObject.method("ToCharArray"));

This logs:
System.Char[] ToCharArray(); // 0x00d0aec0 <--- correct
System.Char[] ToCharArray(); // 0x00d0aec0 <--- wtf? there's no such method in System.Object

The problem is definitely here: https://github.com/vfsfitvnm/frida-il2cpp-bridge/blob/master/src/utils/utils.ts#L35

I'm sorry I didn't answer, as I understood the problem is that I'm trying to change a method that doesn't belong to a child class. Do you need a dump of these classes ?

The problem is in the "cache system" I use to avoid calling the same native function with the same arguments over and over. I just call it once and then save the result in a map. This is called memoization.
https://www.better.dev/understanding-memoization-in-javascript

Fixed in 0.7.2


Implement Display and parse for Transaction

Bitcoin transactions are always printed in hex, we can implement Display and FromStr for it.
High perf is out of scope, this PR simply improves the current functionality.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

-17 of 32 (46.88%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.05%) to 84.095%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

bitcoin/src/blockdata/transaction.rs
15
32
46.88%

Totals

Change from base Build<PHONE_NUMBER>:
-0.05%

Covered Lines:
19341

Relevant Lines:
22999

💛  - Coveralls

Moved to #2318


Removal of reference to the VSCode workspace file

It was removed in https://github.com/nephio-project/porch/pull/107

/approve
/lgtm


From maxmsp to browser

Hello,
the Example: OSC between MaxMSP/PD/SC etc. and your browser, works.
It let us send from browser to maxmsp (UDP)
but I can't figure out how to send from Maxmsp to browser.
Does anyone know how to?

Hi @robotpapier! I assume you're using the BridgePlugin? In MaxMSP I think one needs to use the udpsend object which should use the BridgePlugin UDP server as an endpoint.
The communication looks like that:
Browser WebSocket Client --WebSocket--> Bridge WebSocket Server
Bridge UDP Server --UDP--> MaxMSP / UDP Client `udpreceive`
MaxMSP `udpsend` UDP Client --UDP--> Bridge UDP Server

The default ports are:

UDP Client: 41235
Bridge UDP Server: 41234
Bridge WebSocket Server: 8080

Can you share the ports you're using? Did you try different ones as well?


recovery poll is more aggressive, and non-reentrant for safety

In further reducing response time to failures, in this PR:

RecoveryPollSeconds config variable is removed (and at this time silently ignored)
It is implicitly set to 1sec
the recovery logic is thus invoked every 1sec
the recovery logic is non-reentrant, so that if it takes more than 1sec to execute, the next iteration will be skipped.
The non-reentrance logic only applies to automated checks/failovers; a manual command will not block

Hi Shlomi,
It is a known problem on the cloud services like AWS that you might experience intermittent network issues. So, we'd like to wait for 15-20 seconds before failing over the slave database to make sure it is not something intermittent. How can we control that behavior now?

@serdarsahin if your method was to use sparser checks then that wasn't reliable, either. You would statistically get 50% of what you want 50% of the time...
So I'd like to both clarify and ask: orchestrator will not claim a master dead until both orchestrator cannot see it, as well as all of the replicas can't see it. This probing in itself has nothing to do with the recovery poll.
What's more interesting is how soon do replicas say "oh hey the master is dead". Can you please let me know:

What, in your opinion, is a failover scenario?
Are you comfortable with master being unreachable:

by orchestrator
and by all of its replicas
and still prefer failover didn't take place?

 This is somewhat controllable with replication heartbeat.

Hi Shlomi,
We were running a number of tests so I didn't want to get back to you without finalising them.

What, in your opinion, is a failover scenario?
I think Orchestrator has the best failure detection systems developed for MySQL environments so far. We really appreciate that. We also want to make sure that the failover won't be trigger by some intermittent issue on the AWS side. We know from the experience that it is possible to experience short network connection issues on the AWS side, so we would like to wait for 5/10 seconds before failing over to the slave.
Are you comfortable with master being unreachable:
by orchestrator
and by all of its replicas
and still prefer failover didn't take place?

If this happens only for 5 seconds for example, we would rather not to failover to the slave.

 This is somewhat controllable with replication heartbeat.

How can we control this with that parameter? Could you shortly guide us on that?

If this happens only for 5 seconds for example, we would rather not to failover to the slave.

I'll give this a thought but I can expect some problems with a "wait 20 seconds before taking action" design. I do not expect to implement this in the near future.

How can we control this with that parameter? Could you shortly guide us on that?

set global slave_net_timeout = 4;

potentially followed by
stop slave;change master to master_heartbeat_period=2;start slave;

on replicas.
https://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html#sysvar_slave_net_timeout

Thanks Shlomi. We'll try this one out!


POC-MultiRole: the processor settings for the virtual machine are incompatible with the host

I am running unattended-lab and red lines appear: the processor settings for the virtual machine are incompatible with the host
I am using a HPE microserver Gen 10 (AMD processor). My lab is running on Windows Server 2016  DataCenter installed on VMWare ESXI 6.5. Clean install Windows Server 2016.
How can I solve this? Or whitch information do You need futher?

Problem solved. A little bit simple: ESXI start with 1 processor on Windows Server 2016. I needed 2. (Sight)


Code workflow

Code Workflow

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: madanshah sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

This pipeline configuration builds the application and produces a build for the Release configuration.


Enable Users to Group Tabs using Layers

If this idea is stupid, just close it and explain the reason. Thank you
I would like to group tabs using Layers. A layer defines a set of tabs that must be visible at a given time. Layers can be switched with keyboard shortcuts (configurable). It must work with Webviews as well, and not just editor panels.

The name of the visible layer must be visible somewhere near the tabs. My suggestion is to place this information above the tabs, and to the left, because there is a bunch of empty space in that region.

When clicking on the name of the layer, a picklist input appears so that users can switch between layers.
Some benefits

users could group tabs per workspace when using the multi-root workspaces feature.
users could place files that aren't in the current working directory in a separate layer.
users would no longer need to "Lock" a webview panel because webviews can just be placed into a separate layer.
it could also remove the need for scrolling horizontally while fetching a tab.
webviews would have more space to display its content. Users would no longer need to keep resizing or closing/opening webviews. Each layer would store the state of the panels, like the order each panel appears and their sizes
It allows placing webview_a and webview_b same layer because they provide features that are often used together.

I like the idea of grouping tabs. To avoid the Chrome-like implementation, the groups could go inside the "Open Editors" section of the Explorer.

@bpasero

@gjsjohnmurray

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

Shouldn't we be posting this mockup in #100335 and have the community give their feedback there?

@M00TSDNS thank you

How are these different to any other notion of “tabs”, and most importantly, why avoid Chrome's implementation, @abnerfcastro? https://github.com/microsoft/vscode/issues/100335 certainly demonstrates that such a thing is desirable.

How are these different to any other notion of “tabs”, and most importantly, why avoid Chrome's implementation, @abnerfcastro? #100335 certainly demonstrates that such a thing is desirable.

@rokejulianlockhart tabs and layers can be combined. Layers would help to save the state (size, position, width) of a particular group of tabs. This is good when working with multiple webviews. Users won't need to close, lock or resize Webviews just to see the files they are editing.

The UI/UX world "loves to hate" tabber style groups because they "hide" content, but there is a nuance:

Tabs aren’t bad UX. Tabs are a design pattern that can result in bad UX when used to separate and/or conceal content a user’s narrative might need.

You can set up different groups for different development activities - it comes across as a better fit to VS Code's use case.

It is probably going to be dropped just because it did not get enough votes :/

Chrome's group tabs don't solve the dearth of horizontal real estate. They also don't improve tab navigation without a mouse. This design does it all!
It just needs a group label next to the arrows, or at the left/start of the tab list..

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

@VSCodeTriageBot, reopen.


Evaluate if the resulting signature can be derived from 4 byte data

As with the HOTP standard, we use decimalized signatures constructed from 4 bytes, as seen here:
https://dl.dropboxusercontent.com/u/6405782/powerauth/index.html#computing-the-signature
While the declared signature length is 10 digits, 4 bytes have a very low entropy on the first digit. Namely, 2^32 = 4 294 967 296, plus we strip the negative numbers thus gaining only half of this number. Therefore, the first character of the signature can be only 0, 1 or 2...
We need to evaluate if this is a big issue, since signatures are always connected with given transaction and random nonces.
Possible solutions:

allow use of non-decimalized long signature in HTTP request
allow extending the signature length by not stripping 4 bytes only

When working on issues 10 and 11, the issue seems to be resolved in following way:

Each factor used for the signature is now represented by 8 digit long signature component
Typical signature will use 2 components (2FA), gaining 16 digits length
Therefore, rounding error goes away while signature is actually longer with higher entropy


xsa difference problem

Pre-build xsa works fine. We can run linux based on it.
But I tried to make a new project based on vivado 2021.2.1..
After Syn&PR, generated xsa has a different size with the pre-build one.
And we met problem when we tried to build linux on this generated xsa.
We got hint in log as:
Configuring network interfaces... [   8.149554] xilinx_axienet a4010000.mrmac eth0: MRMAC block lock not complete! Cross-check the MAC ref clock configuration
[   8.160604] xilinx_axienet a4010000.mrmac: request_irq() failedConfiguring network interfaces... [   8.149554] xilinx_axienet a4010000.mrmac eth0: MRMAC block lock not complete! Cross-check the MAC ref clock configuration

Hi @JialinZhong
Can you please provide the following details?

This usually happens when the clocks are not programmed properly.
Did you program the clocks using the board UI?
What are the changes that you have done to the new project?
Does the linux boot completely (even with the error log that you are seeing) or does it hang when booting?

Board UI was working correctly.
As I have said that pre-build xsa works fine.
So the flow is the same on the generated xsa.

I think there's totally no change for the new project.
Every step followed the main.tcl and config.tcl was executed without any error.

It booted completely without hanging.

@ksstms
Many Thanks
We are using VCK190 board with this issue, not the ES board.
The syscon image and Board UI are both the latest.
Because they do work with pre-built xsa, but not work with generated xsa.
So this is not the cause.

@nithinkumark94
Yes, I have created one on both official website and the forum.
No solution given till now, they gave a reference as you gave above and it does not work.

Hi @JialinZhong
Please provide the support case number here and close the issue on github.
The issue can now be tracked in the support case.

Hi @nithinkumark94
https://support.xilinx.com/s/question/0D72E000007B3FiSAK/detail?s1oid=00D2E000000nHq7&s1nid=0DB2E000000XdtH&emkind=chatterCommentNotification&s1uid=0052E00000NCvEv&emtm=1647863412163&fromEmail=1&s1ext=0
case link is here, sorry cannot find the number.

Thanks @JialinZhong
I will close the issue here.
The issue can be being tracked in the support case.

xilinx_axienet 44a00000.ethernet: IRQ index 0 not found
xilinx_axienet 44a00000.ethernet: Ethernet core IRQ not defined
xilinx_axienet 44a00000.ethernet: couldn't find phy i/f
NET: Registered protocol family 17
Key type encrypted registered
Warning: unable to open an initial console.
Freeing unused kernel memory: 168K
This architecture does not have kernel memory protection.
Run /init as init process
/dev/root: Can't open blockdev
/dev/root: Can't open blockdev
random: dd: uninitialized urandom read (512 bytes read)
xilinx_axienet 44a00000.ethernet eth0: XXV MAC block lock not complete! Cross-check the MAC ref clock configuration
facing this error while testing 10g in virtex ultrascale+


write_dimensions - date_format, CRLF and null strings

Fix piping of date_format in write_dimensions
Allow control over CRLF character in write_dimensions (CR=Windows, LF=Linux)
Replace empty strings with Null in write_dimensions

Resolved #973.


Consider renameing max.iter parameter to iter.max in ml_kmeans

You are using the name max.iter for Spark's setMaxIterations in ml_kmeans https://github.com/rstudio/sparklyr/blob/master/R/ml_kmeans.R#L19, what is confusing for regular R user who's used to work with iter.max from stats::kmeans

I'd be happy with this change as well.

So, to be consistent and to use one roxygen-template in as many functions as possible
@template roxlate-ml-max-iter, thus max.iter parameter, is used in

ml_survival_regression
ml_multilayer_perceptron
ml_logistic_regression
ml_linear_regression
ml_generalized_linear_regression
ml_kmeans
ml_als_factorization

funcitons. If we are about to rename max.iter to iter.max in ml_kmeans than I think we should also rename them in the rest of above functions. What do you think about that?

This should be resolved now -- iter.max is preferred (and is the documented argument), but max.iter is accepted for backwards compatibility.


s; Semicolon  not found.

If I search for a ';' then its not found, is this a known issue?

I cannot reproduce this, but I suspect you tried to target a ; at the end of a line (since that is where semicolons usually are, at least if you're not using Lisp). Was this the problem? If not, no worries, we'll look into this tomorrow.
(Related: https://github.com/ggandor/lightspeed.nvim#startend-of-line-as-a-special-target.)

Ah yes that's right. I was just playing around, and didn't understand this.
Thanks for the pointer.. I think I'll explore some more and read your guide a bit more closely.. you seem to have put a lot of thought into this.. many thanks 😊


Upload Storage Provider and Probe

Add A UploadProbe and UploadTarget interface
superseeds #2

bors r+

Merged with 1497a893172adbc88ff349e6a673a4e38cbb491c but GitHub does not detect it.


Need to validate the moves file

Create a command line tool that can be run whenever the moves file is edited to validate that all assumptions are met before the map fixer uses it.

Completed with 14a99d0ec166e7ca14da93ac7cbc2b7929b32c59


Improve log messages format - space after colon

Consistent message format makes the log more readable.

Merged as https://github.com/droolsjbpm/jbpm-designer/commit/b68cf494754a4142d7d922fca25e14e419fdcc1c. Thanks!


[API] CLI Wallet needs a method to get account history since head

Using the cli wallet get_account_history is limited to the last 100 transactions this is not that many which can lead to missed transactions, wasted bandwidth and time searching through unneeded records.
A method like get_account_history_since_head(headnumber) would fix this problem and save resources.

Duplicate of #326


BoundingBox implementation is broken

Description
I tried to use the bbox and I run into the following exception:
2018-09-10 14:11:06,149] [INFO] line=306 module=Service Request: execute
2018-09-10 14:11:06,160] [ERROR] line=45 module=exceptions Exception: code: 500, locator: No applicable error code, please check error log., description:
Traceback (most recent call last):
  File "/usr/local/anaconda3/envs/emu/lib/python3.6/site-packages/pywps/app/Service.py", line 332, in call
    raise e
  File "/usr/local/anaconda3/envs/emu/lib/python3.6/site-packages/pywps/app/Service.py", line 325, in call
    request_uuid
  File "/usr/local/anaconda3/envs/emu/lib/python3.6/site-packages/pywps/app/Service.py", line 81, in execute
    return self._parse_and_execute(process, wps_request, uuid)
  File "/usr/local/anaconda3/envs/emu/lib/python3.6/site-packages/pywps/app/Service.py", line 130, in _parse_and_execute
    inpt, request_inputs)
  File "/usr/local/anaconda3/envs/emu/lib/python3.6/site-packages/pywps/app/Service.py", line 273, in create_bbox_inputs
    newinpt.data = [datainput.minx, datainput.miny,
AttributeError: 'dict' object has no attribute 'minx'

Environment

operating system:
Python version:
PyWPS version: pre 4.2 on master
source/distribution
[ ] git clone
[ ] Debian
[ ] PyPI
[ ] zip/tar.gz
[ ] other (please specify):
web server
[ ] Apache/mod_wsgi
[ ] CGI
[ ] other (please specify):

Steps to Reproduce
I'm using the bbox process in Emu.
See bbox test:
https://github.com/bird-house/emu/blob/master/tests/test_wps_bbox.py
Additional Information

Fixed by PR #551


Make MESH_BINDGROUP_1 shader def apply to bevy_sprite as well

Objective
Fixes MESH_BINDGROUP_1 not working when importing bevy_sprite::mesh2d_bindings
Solution
Implement the shader def the same way it's implemented in bevy_pbr::mesh_bindings

Oh, this is no longer needed as it’s already done on main. Closing.


Update prep_interviews for species generality

A completed version of prepare_interviews() (and prepare_interviews_one()):

[x] #196
[x] Should accept a new arguments with defaults: include_salmon = "all"; include_nonsalmon = "none" -- build rules for how to handle these
[x] Should create new columns for species if they are not already found in the data set, and make them empty (NA)
[x] Comb through package source code for all instances where the call to prepare_interviews() needs to change

Closed in #197


Training a Filter

Hi,
I'm trying to implement a version of RND for implicit rewards. I'd like it to be both environment agnostic and agent agnostic. The idea was to implement it as either an output filter for the environment, or as an input filter for the agent. Thing is, it needs to be trained, and have it's own (albeit simple) memory. I would like to know what it would be best to implement this as. I already have the filter, do I need:
1.) To enable training the filter by creating a new type of Graph
2.) Wrap the agent such that the filter trains at the same time as the Agent and observes everything the agent observes. (My personal preference)
3.) Make the filter a subclass of both Filter and Agent and have it run as a multi-agent which somehow doesn't act in the world and receives all the observations of the other agent.
Or, better yet, is there a feature or paradigm I'm missing.
Thanks!

Further, Filter doesn't seem to have a FilterParameter Class. Will that be a problem?
Let me share some of my pseudocode (which I'm sure is awful):
import os
from collections import deque
from copy import deepcopy
from copy import copy
from typing import Dict, Union, List

from rl_coach.filters.filter import Filter
from rl_coach.core_types import EnvResponse, Transition
from rl_coach.architectures.tensorflow_components.layers import Dense

class RNG_Reward_Filter(Filter):

    # -------- My Methods --------

    def _predict_reward(self, next_state):
        f0 = self.networks['target'].predict(next_state)
        f1 = self.networks['main'].predict(next_state)
        return self.loss_function(f0, f1)

    def learn_from_batch(self, batch: List[Transition]) -> float:
        data = [x['_next_state']['observation'] for x in batch] + [x['_state']['observation'] for x in batch]
        f0 = self.networks['target'].predict(data)
        f1 = self.networks['main'].predict(data)
        return self.optimizer(self.loss_function(f0, f1))

    def _should_train(self):
        """
        Determine if we should start a training phase according to the number of steps passed since the last training
        :return:  boolean: True if we should start a training phase
        """
        return len(self.queue) >= self.batch_size

    def train(self):
        while self._should_train():
            self.learn_from_batch([self.queue.pop() for i in range(self.batch_size) if len(self.queue)])

    def observe(self, transition: Transition):
        self.queue.append(transition)

    # -------- Inherited methods --------

    def __init__(self, name=None):
        # Copied from generic Filter class
        self.name = name

        # initialize all internal variables
        self.networks = {'target': Dense(512)}
        self.loss_function = mse
        self.optimizer = adam
        self.batch_size = 32
        self.queue = deque()
        self.supress_rewards = False  # Set if you don't want environment rewards
        self.lock_target_network = True  # TODO: if true, makes the target network locked in it's values

    def reset(self) -> None:
        """
        Called from reset() and implements the reset logic for the filter.
        :param name: the filter's name
        :return: None
        """
        # TODO: Probably just leave empty
        pass

    def filter(self, env_response: Union[EnvResponse, Transition], update_internal_state: bool=True) \
            -> Union[EnvResponse, Transition]:
        """
        Filter some values in the env and return the filtered env_response
        This is the function that each filter should update
        :param update_internal_state: should the filter's internal state change due to this call
        :param env_response: the input env_response
        :return: the filtered env_response
        """
        # Relevant input
        filtered_data = deepcopy(env_response)
        next_state = filtered_data['_next_state']['observation']
        reward = filtered_data['_reward']

        # Get the new reward
        new_reward = self._predict_reward(next_state)

        # Set our output
        if self.supress_rewards:
            filtered_data['_reward'] = new_reward
        else:
            filtered_data['_reward'] += new_reward

        return filtered_data

    def set_device(self, device, memory_backend_params=None, mode='numpy') -> None:
        """
        An optional function that allows the filter to get the device if it is required to use tensorflow ops
        :param device: the device to use
        :param memory_backend_params: parameters associated with the memory backend
        :param mode: arithmetic backend to be used {numpy | tf}
        :return: None
        """
        self.device = device
        self.memory_backend_params = memory_backend_params
        self.mode = mode

    def set_session(self, sess) -> None:
        """
        An optional function that allows the filter to get the session if it is required to use tensorflow ops
        :param sess: the session
        :return: None
        """
        self.session = sess

    def save_state_to_checkpoint(self, checkpoint_dir, checkpoint_prefix)->None:
        """
        Save the filter's internal state to a checkpoint to file, so that it can be later restored.
        :param checkpoint_dir: the directory in which to save the filter's state
        :param checkpoint_prefix: the prefix of the checkpoint file to save
        :return: None
        """
        # TODO: Need to implement
        raise NotImplementedError("Need to implement save state.")

    def restore_state_from_checkpoint(self, checkpoint_dir, checkpoint_prefix)->None:
        """
        Save the filter's internal state to a checkpoint to file, so that it can be later restored.
        :param checkpoint_dir: the directory from which to restore
        :param checkpoint_prefix: the checkpoint prefix to look for
        :return: None
        """
        # TODO: Need to implement
        raise NotImplementedError("Need to implement restore state.")

    def set_name(self, name: str) -> None:
        """
        Set the filter's name
        :param name: the filter's name
        :return: None
        """
        self.name = name

class RNG_Agent_Wrapper(object):
    def __init__(self, agent, filter):
        self.agent = agent
        self.filter = filter

    def train(self):
        self.filter.train()
        return self.agent.train()

    def observe(self, transition: Transition):
        self.filter.observe(transition)
        return self.agent.observe(transition)

    def __getattr__(self, attr):
        if attr in self.__dict__:
            return self.__dict__[attr]
        else:
            return getattr(self.agent, attr, False)

Reading some more (note to self) what I probably need is a CompositeAgent with one observer (my class) subclassing Agent and Filter. Not sure how to get it to filter the input of the other agent though.

As you can tell I'm working on this now. I just got it to run up to the network itself, which imo is a big acheivement. I have a new type of agent I'm calling a filter agent, implemented with design choice #2 above. Let me know if you want my implementation when I am done. It required a lot of new classes that might have some general purposes.

Hi @ryanpeach ,
Would be happy to get this as a PR once you're done!
Please bear in mind though, that in order to integrate a new agent into Coach, we usually require the implementation to reproduce the paper results.

Sorry, I'm not entirely sure but I dont think I'm continuing this project at the time being. I would still love to see what you all do with recent intrinsic motivation papers and how you choose to implement them in the code.
Get Outlook for Androidhttps://aka.ms/ghei36

From: Gal Novik<EMAIL_ADDRESS>Sent: Wednesday, January 16, 2019 1:40:08 PM
To: NervanaSystems/coach
Cc: Ryan Peach; Assign
Subject: Re: [NervanaSystems/coach] Training a Filter (#132)
Assigned #132https://github.com/NervanaSystems/coach/issues/132 to @ryanpeachhttps://github.com/ryanpeach.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://github.com/NervanaSystems/coach/issues/132#event-2078227193, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AOJryYd1IUJKdJC9ToESGE8DxCMarpUGks5vD3IIgaJpZM4Y6vwF.


Bug fix in grid

In case of 6 images 3rd image was also copied to 4th box missing the last image in the grid.

The grid works fine for 1,2,3,4,6 but it breaks on 5, 7, 10 ..and probably more after. Needs a fix.
grid_img.paste(image_list[i], (c * width, r * height))

List index is out of range at this line.


Support loading data variables from DWARF that use DW_OP_addrx

We don't support loading data variables that require address lookups in the IAT and we should

Added in 4.3.6530-dev


Add Automation Mode for Micro Integrator

Problem
There are integration scenarios that need to be performed only once and it needs to be triggered from an external process/job whenever required.
As per the current design, the runtime remains alive even after the completion of such one-time tasks.
Also since the runtime works like a server, there is no clear way for an external process to trigger and stop an integration job on demand.
Solution
Create a CAR file including all required integration artifacts. While exporting the CAR file, the user is given the option to define the Main-Sequence.
The sequence that is defined as the Main-Sequence of the <car_name>.car gets executed and the runtime automatically gets terminated after the sequence execution.
Affected Component
MI
Version
No response
Implementation
No response
Related Issues
No response
Suggested Labels
No response

PRs: https://github.com/wso2/micro-integrator/pull/2920
https://github.com/wso2/wso2-synapse/pull/2086

closing the issue as all the public pull requests have been merged.


Added new backend classes + unit tests

The first pr in the GSoC project #4301
Changes in this pull request:

Added UserDefinedKeyer class + unit tests for it
Added UserDefinedDistance class + unit tests for it

@tfmorris no, it wasn't intentional. Sorry for that mistake. I will work on my private fork in the future PRs.

Thank you so much. You've saved me time.

I thought about the idea of passing the clustering expression to the keyer like how it's currently done for the n-gram clusterer but this will need adapting to:

BinningClusterer and kNNClusterer (add the expression to the parameter field of the classes and when initializing the visitor use it)
UserDefinedKeyer and UserDefinedDistance (not passing expression through constructor but the keying/distance function)

So I have decided to only check if there is an expression in the request. If yes, then pass it to the constructors of the Keyer or Distance. The changes are only made in ComputeClustersCommand
I also tested passing expressions in the request manually and it works fine. Should we have a unit test for it ?

I think the approach you used to configure the keyer / distance is fine. Our existing architecture does not make it possible to register configurable keyers or distances, so some workaround like you used is necessary.
It would be good to clean this up in the future, but I would say this can be part of a separate refactoring, especially since it will impact other clustering methods (such as ngrams).

I'm changing the title of this pull request to make its topic clearer (there is nothing in it that indicates that it's about clustering so far).


Consider merging with @types/chrome

Have you considered merging this project with @types/chrome and using the @types/chrome NPM name going forward? Two benefits:

No confusion around "what's the right package to use"
TypeScript has some special handling for the @types node_modules folder which it will import automatically. This is perfect for a package like this (similar to @types/node) which also contains global type definitions. This means a user can just yarn add -D @types/chrome and doesn't have to change their tsconfig.json.

We're considering this but haven't looked at how we'd kick it off. We could also create @types/chrome-extensions or something but that would probably just add to developer confusion.

Hey there!
I was looking for chrome typings and wasn't sure which package to use:

@types/chrome seems very active and widely used (from npm downloads)
this one seems to be created by Google (or Googlers) and seems to generate typings automatically from stable chromium (an advantage, imho)

What's your take on this? Could you kindly add a note to the readme with a suggestion?
(ps: I can imagine that merging the packages would be a lot harder than adding a note. :)

Any updates on this?


How to make two grid - the master and detail

Sorry, my english isn't good. But! Thanks for this nice grid plugin.
Tell me please - how to make two grid the master and detail, in one page. I didn't find this in the documentation and in the demos.

I think, i can create a second div, with a new name. And in function "onclick" on the first table - send process for the filling of the secondary table. Right?

Thank you for the feedback!
Yes, it's good approach, pretty straightforward. Should work well.


Include information on how to diagnose when things didn't work

Currently, step 4 of the Windows section, and step 6 of the macOS steps indicate:

In Microsoft Edge, go to edge://extensions, and then verify that your extension is listed.

This is great. But if the extension is not listed after following these steps, there are no troubleshooting steps, e.g. system logs that we could read to see why the lookup failed - incorrect file placement, incorrect location, invalid update url etc.
Currently when the extension doesn't install, it's a guessing game to figure out what went wrong.

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

ID: 1f290aba-5618-9b79-e3ac-243ec8cc4dd6
Version Independent ID: 0cda1705-27db-4282-40e1-a2fbbd16ed2e
Content: Alternative ways to distribute extensions - Microsoft Edge Development
Content Source: microsoft-edge/extensions-chromium/developer-guide/alternate-distribution-options.md
Product: microsoft-edge
Technology: extensions
GitHub Login: @MSEdgeTeam
Microsoft Alias: msedgedevrel

Great suggestion. I'll make sure this is tracked and on our radar for prioritization.
Quick question though: in your experience, what is the most probable cause for an extension not to get listed? There may be many different reasons why this may not work, and we should make sure to documentate the most common.

Closing as I don't think this is actionable as is. Please comment here if you have specific things that would be worth adding. We can always re-open the issue.


Add my first file

Add my first file

I could have added a comment yete

I could have added another comment here


Add ping and tests

Towards https://github.com/giantswarm/giantswarm/issues/23238
Splitting of https://github.com/giantswarm/heartbeatctl/pull/3 part 3

@giantswarm/team-atlas can I get a pair of eyes?

@TheoBrigitte can you take another look?


optmize docker image (issue #113)

#113
now 170mb

for whatever reason certifi module is not available, so at run time it fails

re-rested locally. seems to work flawlessly. closes #113