scss and ie. bootstrap fails to build with svelte-ts

npm create vite@latest sv2
# choose svelte-ts
cd sv2
npx svelte-add@latest scss
npm install
npm run dev
...
Failed to parse source for import analysis because the content contains invalid JS syntax. If you are using JSX, make sure to name the file with the .jsx or .tsx extension.
12:30:52 [vite] Internal server error: Failed to parse source for import analysis because the content contains invalid JS syntax. If you are using JSX, make sure to name the file with the .jsx or .tsx extension.
  Plugin: vite:import-analysis
  File: /tmp/sv2/src/App.svelte
  2  |    import svelteLogo from './assets/svelte.svg'
  3  |    import Counter from './lib/Counter.svelte'
  4  |  </script>
     |           ^
  5  |
  6  |  <main>
      at formatError (file:///tmp/sv2/node_modules/vite/dist/node/chunks/dep-0fc8e132.js:35330:46)
      at TransformContext.error (file:///tmp/sv2/node_modules/vite/dist/node/chunks/dep-0fc8e132.js:35326:19)
      at TransformContext.transform (file:///tmp/sv2/node_modules/vite/dist/node/chunks/dep-0fc8e132.js:40190:22)
      at async Object.transform (file:///tmp/sv2/node_modules/vite/dist/node/chunks/dep-0fc8e132.js:35579:30)
      at async loadAndTransform (file:///tmp/sv2/node_modules/vite/dist/node/chunks/dep-0fc8e132.js:39888:29)

Diff between svelte-ts and svelte projects
Common subdirectories: sv1/.vscode and sv2/.vscode
diff '--color=auto' sv1/README.md sv2/README.md
1c1
< # Svelte + Vite
---
> # Svelte + TS + Vite
3c3
< This template should help get you started developing with Svelte in Vite.
---
> This template should help get you started developing with Svelte and TypeScript in Vite.
21c21
< This template contains as little as possible to get started with Vite + Svelte, while taking into account the developer experience with regards to HMR and intellisense. It demonstrates capabilities on par with the other `create-vite` templates and is a good starting point for beginners dipping their toes into a Vite + Svelte project.
---
> This template contains as little as possible to get started with Vite + TypeScript + Svelte, while taking into account the developer experience with regards to HMR and intellisense. It demonstrates capabilities on par with the other `create-vite` templates and is a good starting point for beginners dipping their toes into a Vite + Svelte project.
33c33
< **Why enable `checkJs` in the JS template?**
---
> **Why enable `allowJs` in the TS template?**
35c35
< It is likely that most cases of changing variable types in runtime are likely to be accidental, rather than deliberate. This provides advanced typechecking out of the box. Should you like to take advantage of the dynamically-typed nature of JavaScript, it is trivial to change the configuration.
---
> While `allowJs: false` would indeed prevent the use of `.js` files in the project, it does not prevent the use of JavaScript syntax in `.svelte` files. In addition, it would force `checkJs: false`, bringing the worst of both worlds: not being able to guarantee the entire codebase is TypeScript, and also having worse typechecking for the existing JavaScript. In addition, there are valid use cases in which a mixed codebase may be relevant.
43,44c43,44
< ```js
< // store.js
---
> ```ts
> // store.ts
diff '--color=auto' sv1/index.html sv2/index.html
7c7
<     <title>Vite + Svelte</title>
---
>     <title>Vite + Svelte + TS</title>
11c11
<     <script type="module" src="/src/main.js"></script>
---
>     <script type="module" src="/src/main.ts"></script>
Only in sv1: jsconfig.json
Only in sv2: node_modules
Only in sv2: package-lock.json
diff '--color=auto' sv1/package.json sv2/package.json
2c2
<   "name": "sv1",
---
>   "name": "sv2",
9c9,10
<     "preview": "vite preview"
---
>     "preview": "vite preview",
>     "check": "svelte-check --tsconfig ./tsconfig.json"
12a14
>     "@tsconfig/svelte": "^3.0.0",
13a16,19
>     "svelte-check": "^2.8.0",
>     "svelte-preprocess": "^4.10.7",
>     "tslib": "^2.4.0",
>     "typescript": "^4.6.4",
15,16c21
<     "sass": "^1.53.0",
<     "svelte-preprocess": "^4.10.7"
---
>     "sass": "^1.53.0"
Common subdirectories: sv1/public and sv2/public
Common subdirectories: sv1/src and sv2/src
diff '--color=auto' sv1/svelte.config.js sv2/svelte.config.js
1c1
< import preprocess from "svelte-preprocess";
---
> import sveltePreprocess from "svelte-preprocess";
3c3,5
< const config = {
---
> export default {
>   // Consult https://github.com/sveltejs/svelte-preprocess
>   // for more information about preprocessors
5c7
<     preprocess({
---
>     sveltePreprocess({
12,13d13
<
< export default config;
Only in sv2: tsconfig.json
Only in sv2: tsconfig.node.json
diff '--color=auto' sv1/vite.config.js sv2/vite.config.js
1,7c1
< import { defineConfig } from "vite";
< import { svelte } from "@sveltejs/vite-plugin-svelte";
<
< // https://vitejs.dev/config/
< export default defineConfig({
<   plugins: [svelte()],
<
---
> const config = {
15c9,11
< });
---
> };
>
> export default config;
Only in sv2: vite.config.ts

Works fine with vite.config.js copied from plain svelte project.

Thanks for the information, and I'm sorry about this bug. I will close this in favor of #234 to keep discussion there


Frontend: CSS Box Model

CSS Box Model
The CSS box model
Description

What is Box model
What are its various parts
How does box model works

@praveenscience Hey, I am quite proficient with CSS and its box model. I would like to contribute to this issue. May you please assign it to me?

I am interested in working on this issue. Frontend Batch 6

@praveenscience Hi sir! I would love to contribute on this topic, can you please assign it to me? Debarati Ghatak, Frontend Batch 5

Hi @praveenscience  Sir, this is Titas Nath. can I be assigned this topic?

Hi sir, please assign me this task, I would like to do it.

Hello sir @praveenscience , I filled this dimension but have not been assigned to it and I am quite proficient and interested in CSS box model. Kindly assign me!

i have made my previous project using this model to so i would love to contribute to this issue
cab you assign me with this?
Anita Joshi
Batch-17

CSS BOX MODEL

Description
Components
Appropriate Syntax

I am proficient with the use of the box model. I will use the above-mentioned layout to explain it. Please assign it to me.

I am interested in contributing to this topic too.

@ghulamyazdani Hey, I opened this issue yesterday and would love to work on this according to the description I mentioned in the issue itself. May you please assign it to me?
I am in Batch 1-Frontend w html css

@AnirudhBot Done 👍🏻 , you can work on it now!

@AnirudhBot , I am very sorry , I just created Box Model as a new issue, but I will be contributing that via video. Is that ok or do I need to delete that issue ?

@AnirudhBot , I am very sorry , I just created Box Model as a new issue, but I will be contributing that via video. Is that ok or do I need to delete that issue ?

As I am contributing in documentation form, you can go ahead with the video one. Afaik, most probably this issue can get the documentation tag and yours can have video tag. @ghulamyazdani Hey can you please look into this matter :)


Local providers

This feature is to allow providing proofs with different parents, so instead of getting an ambiguous proof error, we get the closest one.
It is totally oriented to testing, but it can/could be used outside of tests if needed.
Android common architecture example.
It is usual to have this layers:

UI
ViewModel/Presenter
Use cases
Repositories
Datasources

Generally, one or more datasources are passed via repositories constructor implementation. At same time, one or repositories are passed via constructor to the use cases. Finally the ViewModel receives via constructor one or more use cases and the ViewModel is injected into the UI.
As you can see, technically you can create an integration test (understanding integration tests as a test that tests multiple components) for ViewModels manually by passing all instances via the constructor.
That process can be tedious and in those kinds of tests is in which a DI framework can shine.
If I want to test my ViewModel, in a lot of applications I only want to change the remote by using a mock web server or a mock engine if you are using Ktor, or in other words, providing multiple local JSON to be able to tests multiple paths, not only multiple happy paths, errors, and so on.
At the same time, those tests are written like unit tests, there is no emulator, so they run quickly, and testing the ViewModel implies you are testing the rest of the layers. In my opinion unit testing shines on libraries or edge cases, but in applications, the integration tests are the best way to get a robust product.
So I want to build tests that can have a complex graph of dependencies without maintaining manually that graph, so a simple test can be:
class MyTest {

    @Test
    `some viewmodel test`() {
         // I need a way to replace the ktor engine (`OkHhttp`) with the `MockEngine`
		 // in order to do a test
         // ...
    }
}

Our plugin should allow doing easily:
class MyTest {

    @Provider
    val engine = MockEngine()

    @Test
    `some viewmodel test`() {
         // ...
    }
}

Or even, if possible
class MyTest {

    @Test
    `some viewmodel test 1`() {
         @Provider
         val engine = MockEngine()
         // ...
    }

    @Test
    `some viewmodel test 2`() {
         @Provider
         val engine = MockEngine()
         // ...
    }
}

Probably there are use cases outside tests, I am not totally sure, but I would add a flag to block this usage to only tests, and enable it globally with that flag.

I am also in favor of this feature, but with a few more restrictions regarding the quantity, precedence and relationship between internal orphans and provider instances, which allows us to use @Provider in main and test. Also as a first draft for coherence among provider instances, public proofs and internal orphans.
Impact of provider instances on the overall Proof resolution
I hope we agree that the overall assumption of provider instances is that they obey a subset of rules that internal orphans have, but never impact the proof resolution in a public matter like public proofs do - ergo change the proof resolution of 3rd parties.
Compatibility and compiler integration
We could add a compiler flag, which overrules an internal orphan when an @Provider is in the same package - and essentially populates the proof resolution with provider instances. Projects without that compiler flag compile fine and obey the base proof resolution rules with public instances and internal orphans.
I am specifically cancelling out cases like below:
class MyTest {

    @Test
    `some viewmodel test 1`() {
         @Provider
         val engine = MockEngine()
         // ...
    }

    @Test
    `some viewmodel test 2`() {
         @Provider
         val engine = MockEngine()
         // ...
    }
}

where we would have to analyze both the package and the scope for coherence since we expect this to fail:
class MyTest {

    @Test
    `some viewmodel test 1`() {
         @Provider
         val engine = MockEngine()
         @Provider
         val otherEngine = MockEngine()
         // ...
    }
}

Proof resolution - Achiving coherence
I imagine this behavior for proof resolution with provider instances - I am leaving out use cases of public instances since internal orphans and providers overrule them.
The first proposal is package scoped resolution of provider instances:
The resolution here works both in test or main directory and discovery of an instance is based on either the same package directory or it uses the internal orphan (or public in cases there is no internal orphan) - I will refer to it as package-level coherence.
package com.mypackage

// Environment: an internal orphan exists in this project (whether in main or test) - in this case there is no behavior change
// wether an internal orphan exists in main or test since there can only exist one internal orphan per project, and in the case that // it lives in test it changes the resolution in the test directory but not in main (main does not have the scope of descriptors in test)

class MyTest {

    @Provider
     val engine = MockEngine()

    @Test
    `some viewmodel test`() {
         // ... the proof resolution picks `engine`
    }
}

It fails in cases where in the same package multiple @Provider exist, but other provider instances can exist in another package directories like com.mypackage.model.
If no provider instances is found in the same package directory, the existing proof resolution resolves the instance.
In cases where in main a provider instance exists and another one in test, we expect an Error, or we can loosen this restriction by adding a @ProviderTest in cases where we need both. Both still need to obey package-level coherence.
Please add any feedback!
It would be awesome if we can loosen these proposed rules to introspect provider instances based on the nearest scope of any given call-site that would be awesome, but I don't know yet if we have those informations in the compiler phase.

If I understood you correctly, we must not allow having multiple providers with the same parent. internal overrides the public one if both have the same parent, but if the local is deeper, the local is used, right? For example:
// This is used in all places except `SomeClass` and `SomeInnerClass`
@Provider internal fun foo(): Bar

class SomeClass {
	// This is used inside `SomeClass` except `SomeInnerClass`
    @Provider internal fun foo(): Bar

	inner class SomeInnerClass {
		// This is used inside `SomeInnerClass`
        @Provider internal fun foo2(): Bar
    }
}

That example is one that I am excluding out. This will fail since there are multiple Providers in the same package. I can also jump on a call if you have questions.
The idea is to separate different Providers into their respective packages.
so for a given Type class Bar
// new file
package com.mypackage

@Provider
fun foo(): Bar

// new file
package com.mypackage.model

@Provider
fun foo(): Bar

Both of these can coexist and only influence the provider coherence and discovery of the instance based on their package.
So Code depending on a Bar instance in package com.mypackage.model will pick com.mypackage.model.foo and code depending on an instance of Bar in com.mypackage will choose com.mypackage.foo.
That is the base idea.


Error in the deploy-service-start-on-boot-policies ansible playbook

How the issue occured
While deploying tdp-getting-started using the ansible-playbook deploy-all.yml command, an error occurs in a task within deploy-service-start-on-boot-policies.yml:
TASK [Apply livy-server service start on boot policy] ************************
failed: [localhost -> edge-01(<IP_ADDRESS>)] (item=edge-01) => changed=false
  ansible_loop_var: item
  item: edge-01
  msg: 'Could not find the requested service livy-server-spark2: host'

Other tasks performing similar actions seem to work fine. Not being used to Hadoop, I do not know how to get further logs if this error is not reproducible.
Configuration
I am on NixOS, have all dependencies installed, and followed steps in the Quick Start section of the README.
setup.sh was given the stable option. Currently testing if using latest produces the same result.
Thank you in advance for looking into this!
EDIT: I can confirm that using ./scripts/setup.sh -r latest does not fix the problem.

@Erzangel thank you for your contribution to TDP!
In a fully open-source approach, all Issues/Pull Requests are fairly examined for integration.
Discussions are in progress in order to review this issue. We will reach out to you as soon as possible.
Please note that Livy is part of tdp-extras : we don't ganratee a full integration in TDP.
Thank you again for your contribution to TDP.


fix(tests): remove sdd template tests

Note: If there are pending changes to the PR, prefix the PR title with "WIP" and add the label "DO NOT MERGE"
Mandatory

[ ] What does this PR do?
Remove SDD tests.

[ ] What issue/task does this PR references?
https://openshift.io/openshiftio/Openshift_io/plan/detail/1117

[ ] Are the tests Included?

Optional

[ ] Is the documentation Included?

[ ] Are the Release Notes included?

[ ] @mention(s) to expected reviewer(s) included

[test]

What is the issue / work-item for this? We still have spaces that have the SDD template as their choice.
It may not be an available choice right now, but it is in production.

@joshuawilson We're not removing the SDD template, but only the tests for that. This was communicated to PM in advance and got a go-ahead in this regard.

[test]

[test]

[test]

@divyanshiGupta Your image is available in the registry. Run docker pull quay.io/openshiftio/fabric8-ui-fabric8-planner:SNAPSHOT-PR-2810 && docker run -it -p 5000:8080 quay.io/openshiftio/fabric8-ui-fabric8-planner:SNAPSHOT-PR-2810 and visit http://localhost:5000 to access it.


Histogram initial range determined by filters

Context
Related to https://github.com/CartoDB/cartodb/issues/12618
See also https://github.com/CartoDB/cartodb/issues/12620
When a histogram is added, its range is initially restricted by applied filters. If the page is reload the range changes.
Steps to Reproduce

Create map with some non-empty table
Add histogram widget by cartodb_id
Apply a filter in the histogram
Add another histogram by cartodb_id (the new histogram range is restricted by the filter as in the first image)
Reload the page (the range is not longer restricted by the filter)

When the widget is first added:

After reloading the page:

Current Result
New histograms have the range determined by filtered data. But changes by reloading the page.
Expected result
I think new histogram should have the unfiltered range. This is not consistent with adding the new widget without active filters, then filtering (the range remains unfiltered).
In any case the range should not change by just reloading the page.
Browser and version
Chrome Version 60.0.3112.113 (Official Build) (64-bit)
Additional info
I have mixed feelings about this ticket, perhaps I'm only adding noise to this overly complicated issue of histogram ranges/filter interactions... but I hope this is at least useful to document this odd detail of the current behaviour 😛 .

Stale issue. Closing 👋


Adding .inverse_transform method

Hi!
I must say this module has come as a great relieve, since implementing fractional differenced time series was not very easy.
But is it possible to have the inverse transformed method like in scikit learn? I have read that might have some numerical complications, but I am not entirely sure.
Regards,
Francisco

Hi, thank you for suggestion. Kindly refer to https://github.com/fracdiff/fracdiff/issues/41 please.


privates->postOrderCreate() signature issue

I am working with your API and things generally seem to work well. GET requests I had no problem with (getPositionList, getTradingRecords, getWalletBalance, etc.). However, postOrderCreate always returns this:
"ret_code" => 10004    "ret_msg" => "error sign! origin_string[api_key=xxxxxxxxxxxxxx&order_type=Market&qty=1&reduce_only=true&side=Sell&symbol=BTCUSD&time_in_force=GoodTillCancel&timestamp=1609525189785]"   "ext_code" => ""   "ext_info" => ""   "result" => null   "time_now" => "1609525190.137879"
At first I thought that it might be a problem with POST requests, but postOrderCancel() passes the sign check (it returns an error because I'm supplying an invalid order-id but the signature check passes OK) ...
For the postOrderCreate request which fails, the params passed to your API are:
  "side" => "Sell"   "symbol" => "BTCUSD"   "order_type" => "Market"   "qty" => 1   "reduce_only" => true   "time_in_force" => "GoodTillCancel"
and the full request which is sent to bybit is this:
"body" => "{"api_key":"xxxxxxxxxxxxxx","order_type":"Market","qty":1,"reduce_only":true,"side":"Sell","symbol":"BTCUSD","time_in_force":"GoodTillCancel","timestamp":1609525189785,"sign":"7c12c29a413c401e8c8bdf9a740c40d3974e699c07c22bd05b8eee1d2d7d5878"}
As the signature is constructed in Request.php in a generic manner, I'm not sure what could be causing this. Can you offer any suggestions?

More info: if I remove the "reduce_only" parameter, the postOrderCreate() call works. So it is somehow related to how a boolean is treated/encoded.
I tried passing a string "true"/"false" as the reduce_only param, but this caused another error (but it made the underlying sign-issue) go away.
Maybe this helps in diagnosing what's wrong. Appreciate any hints you can offer ...

More info: if I remove the "reduce_only" parameter, the postOrderCreate() call works. So it is somehow related to how a boolean is treated/encoded.
I tried passing a string "true"/"false" as the reduce_only param, but this caused another error (but it made the underlying sign-issue) go away.
Maybe this helps in diagnosing what's wrong. Appreciate any hints you can offer ...

Sorry to reply to you now. I just tested and have a problem like yours, I am now looking for the cause

Sorry to reply to you now. I just tested and have a problem like yours, I am now looking for the cause

Hello, I have kept you waiting. I have found the problem and fixed it, you can use it. The parameters you pass in are as follows
$bybit->privates()->postOrderCreate([
	//'order_link_id'=>'xxxxxxxxxxxxxx',
	'side'=>'Sell',
	'symbol'=>'BTCUSDT',
	'order_type'=>'Limit',
	'qty'=>'0.25',
	'price'=>'40000',
	'time_in_force'=>'GoodTillCancel',

	//Both string type and boolean type are compatible
	'reduce_only'=>'false',
	'close_on_trigger'=>'false',
	//or set
	'reduce_only'=>false,
	'close_on_trigger'=>false
]);

Hello, I have kept you waiting. I have found the problem and fixed it, you can use it. The parameters you pass in are as follows
$bybit->privates()->postOrderCreate([
	//'order_link_id'=>'xxxxxxxxxxxxxx',
	'side'=>'Sell',
	'symbol'=>'BTCUSDT',
	'order_type'=>'Limit',
	'qty'=>'0.25',
	'price'=>'40000',
	'time_in_force'=>'GoodTillCancel',

	//Both string type and boolean type are compatible
	'reduce_only'=>'false',
	'close_on_trigger'=>'false',
	//or set
	'reduce_only'=>false,
	'close_on_trigger'=>false
]);

Confirmed as fixed, thank you very much!

Confirmed as fixed, thank you very much!


Don't attach the middleware in stormpath.init()

WIP - Don't merge, see Discussion!
Fixes #285.
Before this fix, stormpath.init() would both attach the middleware and then return it:
   app.use(stormpathMiddleware);

   return stormpathMiddleware;
 };

With this fix, stormpath.init() returns a nopMiddleware which is used for backwards compatibility when stormpath.init() is wrapped with an app.use(). Then the stormpathMiddleware is only attached for the Stormpath specific routes:
function addGetRoute(path, controller) {
  router.get(path, bodyParser.forceDefaultBody(), stormpathMiddleware, controller);
}

function addPostRoute(path, controller, options) {
  router.post(path, bodyParser.formOrJson(options), stormpathMiddleware, controller);
}

Discussion
Problem with this is that the menu/navbar stopped working in the example app. The reason is that it need to know whether the user is logged in or not to show the login or the logout button.
ul.nav.navbar-nav.navbar-right
  if user
    li(class='#{nav.Logout}')
      a(href="/logout") Logout
  else
    li(class='#{nav.Login}')
      a(href='/login') Login

One solution would be to manually attaching a new stormpath middleware that would get the user. An easier solution would be to still return the stormpathMiddleware and use app.use() on stormpath.init() (that's what the example app does).

FYI: I think I will revert some of this and just do as the issue title suggests; "Don't apply getUser middleware to passed app". That means I would still have to return the stormpathMiddleware and I could remove the nopMiddleware.
@typerandom @robertjd Let me know what you think.

@timothyej I want to think about this more and look at this again in the morning.

@robertjd Sure, take your time :)

Closing in favor of #358, thanks for getting this one started.


adding configuration page and a few options

Decided to refresh myself on how to use variables in themes :-)
This does the following:

Adds a theme option to show/hide the "previous/next" buttons
Adds a theme option to include social media icons that point to configurable URLs
Adds FontAwesome CSS (which fixes the broken social media icon links)
Adds a theme option to add external links
Adds content to the configuration page for each of these things

I updated the fontawesome bits to use <i> instead of the unicode CSS hack, since that's what they recommend. Also upgraded to FA5 per @stijnvanhoey's suggestion.


Push object strings into hooks

Suppose example from tutorial:
SET people bob POINT 33.01 -115.01
SET people alice POINT 33.02 -115.02
SET people alice:lastname STRING "Denton"
SETHOOK myhook http://<IP_ADDRESS>/hook NEARBY people FENCE ROAM people * 5000
Currently hook's POST data does not contain alice:lastname. Is it possible to have?

Hi @amorskoy,
This is not currently possible. A roaming geofence only passes the id, key, and distance of the nearby matches. This is by design to keep the notification as lightweight as possible.
Then you would need to issue a SCAN command for alice:*. Let's say you get the  notification:
{"command":"set","detect":"roam","hook":"",
"time":"2016-12-08T09:27:54.306035387-07:00",
"key":"people","id":"bob",
"object":{"type":"Point","coordinates":[-115.01,33.01]},
"nearby":{"key":"people","id":"alice","meters":1451.138152186708}}

and then you can send:
SCAN people MATCH alice:*

to retrieve the all child strings of alice.
Would this work for your use-case? If not, perhaps a new keyword specifically for roaming result such as:
SETHOOK myhook http://<IP_ADDRESS>/hook NEARBY people FENCE ROAM people * 5000 DETAILS :*

This then this would do a SCAN under the hood and return with the notification.

Thanks @tidwall .
I believe, that SCAN at the end of SETHOOK (when it is implemented) would be great thing.
I agree with you about traffic overhead - but in fact, without such feature I should keep shadow copy of objects in <key, value_object> store (like memcached or more comple noSQL solution) - wich complicates architectural things.
So voting for SETHOOK ..... FENCE ROAM .... SCAN :)

Sounds good. I think this is doable. I'm moving this to #96 now.


CMake enhancements

Hello @arximboldi
I would like to embellish the CMake support provided by the library. Namely,

support Catch-style subproject composition
provide an installation target and CMake configuration exports, to simplify downstream consumption
provide integration with CTest, to provide enhanced testing facilities and result collection
provide integration with CPack, to support the generation of installation packages, e.g.

deb and rpm archives for Linux
dmg images for macOS
NSIS installation wizards for Windows

I've contributed this sort of support to several other projects. See frozen and stlab for examples of what this ends up looking like.

That sounds good. I am happy to take in contributions in that direction.
I have some concerns though:

There is already an installation target. In which way is it not suitable?
There is already ctest enabled tests. In which way are they not suitable?
What is exactly does "support Catch-style subproject composition" mean?
Awesome to have cpack support!

There is already an installation target. In which way is it not suitable?

'Not suitable' is too strong, but I think there is room for improvement.
The configuration file generated by CMake does not express external library dependencies, e.g. boost and boehm-gc. The former only seems necessary for the experimental dvektor and testing, but the latter might be relevant to consuming projects.
Daniel Pfiefer's touched on this shortcoming and suggests a workaround in his 2017 C++Now CMake talk. In short, the CMake generated configuration file can be included in a small library provided config file that establishes those dependencies via
find_dependency.
Moreover, the configuration file generated by CMake does not express library version information or version compatibility. A second file, <project name>Config-Version.cmake is required to establish that sort of information. There is an intrinsic cmake module that provides functions to generate such a file, which can be installed with the cmake-generated config file.

There is already ctest enabled tests. In which way are they not suitable?

Immer provides tests using add_test which can be consumed by CTest. You even respect composing projects by opting into testing via the make check target. This is not an uncommon convention in general and I've encountered it in a number of autotools projects.
What's lost is a bit of idiomatic usage and CDash integration.
To the former point, traditionally in CMake projects, testing executables are built by default and may be disabled explicitly by using a BUILD_TESTING option. In that sense, the make check convention could be argued to violate the principle of least astonishment. Whether that convention was a good default is questionable imo, so I won't lose much sleep over the make check target if you feel strongly.
What I do miss, at least in the environment I work in, is the consumption of a CTestConfig to configure testing on CI servers and result submission to CDash.
Both of these issues maybe addressed by using the CTest module distributed with CMake.

What is exactly does "support Catch-style subproject composition" mean?

<aside>
Catch is a C++ unit testing library that's gained some attention in the past few years. If you haven't encountered it in the past, it's really worth a [look https://www.youtube.com/watch?v=3tIE6X5FjDE], imo.
</aside>
One of the nice things about Catch is that it's CMake doesn't presume to be the highest level project. Options for ccmake and cmake-gui can be published conditionally based on whether a project is built in isolation or as a component of a dependent project. This allows downstream projects to include Catch as a git-subtree or git-submodule to simplify distribution somewhat. See frozen's CMakeLists.txt to see how CMakeDependentOption module can be used to keep to user-facing configuration clean.

Awesome to have cpack support!
I agree!

The configuration file generated by CMake does not express external library dependencies, e.g. boost and boehm-gc. The former only seems necessary for the experimental dvektor and testing, but the latter might be relevant to consuming projects.

I did extra effort to not depend on Boost to consume the library (only to develop it). The devektor and testing modules are not part of the interface.
boehm-gc is not required. Support is optional for projects that already use it. In this case, the project should bring the dependency themselves. I would not like to force everyone that depends on immer to use GC, since that is actually a niche use-case.
W.r.t. everything else, I am happy for you to make changes. If you are not in a rush, maybe it makes sense to make separate the improvements into multiple PR's so we can discuss each independently. Feel free to prioritize at your own convenience (e.g. CDash support which it seems you need for work.)
And thanks again for these improvements!

Btw, i've taken a look at the CMake files from stlab and frozen and they are beautiful! Nice to see CMake being used in an elegant and simple way. I think I am going to learn a lot from this, thanks a lot! :pray:


buildNpmPackage: support makeWrapperArgs

Description of changes

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Friendly ping @lilyinstarlight  (I want to add a package that will use this feature).

Pushed a rebase.

@lilyinstarlight I tested it now after your approval on the package I wanted to use this feature for, and I noticed that the quotes around ${makeWrapperArgs[@]} in the shell script were not good. So that is the purpose of the last force push. Will merge afterwards when CI is green.

@lilyinstarlight I tested it now after your approval on the package I wanted to use this feature for, and I noticed that the quotes around ${makeWrapperArgs[@]} in the shell script were not good. So that is the purpose of the last force push. Will merge afterwards when CI is green.

Oh then you probably need to magic the code to support both when it's a IFS-separated string and when it's a proper bash array. Maybe check how the other npm arg arrays work or check how the python wrapper handles that

Oh good idea, python's wrap.sh was useful. Pushed something now.

Haha it's OK. Thanks again for the approval. Pushed that suggestion. Will merge when CI is green.


import tf.compat.v2.summary broken since 88ca0db75e

The following import should work:
import tensorflow.compat.v2.summary as b
b.scalar

This worked fine in d4342f77b6, but broke in 88ca0db75e (first bad):
$ cat ./repro.py
import tensorflow as tf
print(tf.__git_version__)
import tensorflow.compat.v2.summary as b
print(b)
print(b.scalar)

$ virtualenv -q -p python2.7 ./ve-old/
$ . ./ve-old/bin/activate
(ve-old) $ pip install ~/tmp/tf-builds/tf-d4342f77b6/* >/dev/null 2>/dev/null
(ve-old) $ python ./repro.py
v1.12.1-143-gd4342f77b6
<module 'tensorflow.compat.v2.summary' from '/tmp/tmp.kn2U5CUdHI/ve-old/local/lib/python2.7/site-packages/tensorboard/summary/_tf/summary/__init__.pyc'>
<function scalar at 0x7f682249aa28>
(ve-old) $ deactivate

$ virtualenv -q -p python2.7 ./ve-new/
$ . ./ve-new/bin/activate
(ve-new) $ pip install ~/tmp/tf-builds/tf-88ca0db75e/* >/dev/null 2>/dev/null
(ve-new) $ python ./repro.py
v1.12.1-144-g88ca0db75e
<module 'tensorflow.compat.v2.summary' from '/tmp/tmp.kn2U5CUdHI/ve-new/local/lib/python2.7/site-packages/tensorflow/_api/v1/compat/v2/summary/__init__.pyc'>
Traceback (most recent call last):
  File "./repro.py", line 5, in <module>
    print(b.scalar)
AttributeError: 'module' object has no attribute 'scalar'
(ve-new) $ deactivate

Note that the imported module path has changed from TensorBoard’s
component package entry point to the stub provided by TensorFlow:
# This file is MACHINE GENERATED! Do not edit.
# Generated by: tensorflow/python/tools/api/generator/create_python_api.py script.
"""Operations for writing summary data, for use in analysis and visualization.

See the [Summaries and
TensorBoard](https://www.tensorflow.org/guide/summaries_and_tensorboard) guide.

"""

from __future__ import print_function as _print_function

from tensorflow._api.v1.compat.v2.summary import experimental
from tensorflow.python.ops.summary_ops_v2 import SummaryWriter
from tensorflow.python.ops.summary_ops_v2 import _flush_fn as flush
from tensorflow.python.ops.summary_ops_v2 import create_file_writer_v2 as create_file_writer
from tensorflow.python.ops.summary_ops_v2 import create_noop_writer
from tensorflow.python.ops.summary_ops_v2 import record_if
from tensorflow.python.ops.summary_ops_v2 import trace_export
from tensorflow.python.ops.summary_ops_v2 import trace_off
from tensorflow.python.ops.summary_ops_v2 import trace_on
from tensorflow.python.ops.summary_ops_v2 import write

del _print_function

(Note the absence of any imports of scalar, etc.)
This is blocking TensorBoard’s CI.

cc @annarev @nfelt

Reopening due to rollback in f1f5865307d1b162b937dc2e788eaef21713e22b.

Can you try again? The rollback has been rolled forward

Yep, fixed on latest nightly. Thanks!


aubs-typeahead: selecting items with mouse click

One additional observation, possibly a bug, so far seen with chrome and safari (that is all I have tested for this today).
When selecting an item with a mouse click (i.e. not selecting with keyboard arrow keys + ENTER), the value passed to the change delegate is actually null the first time, and not until the second (or sometimes even third attempt) the value is set to the correct selected value. It seems almost as if there is a disconnect between the change event and the value model, and it takes a couple of attempts to get the component 'primed'.
Thanks much for looking into this! I hope to dig into the source more as well, will post here or make a pull request if I come up with any improvements.

Also here is how I am instantiating the element:
<aubs-typeahead
          id="samples-typeahead"
          value.bind="sampleTypeahead"
          data.bind="samples"
          input-class="typeahead-input-lg"
          change.delegate="onSampleTypeahead(sampleTypeahead)"
          placeholder="enter a sample name">
</aubs-typeahead>

So... I didn't implement the change event at all... I assume what you are getting is the bubbled event from the input itself...
I should probably trigger a custom event for changes.
On the main while you can observe the value property for changes.

I have made some tweaks to the plugin, and I have also written the documentation. Please check it out.
I will close this issue for now. If after the update and following the documentation you still see this issue please reopen.

thanks! confirmed selecting items with mouse click is working perfect in<EMAIL_ADDRESS>


When Camera2D zoom isn't at default value, PopupMenus in MenuBars within CanvasLayers appear offset incorrectly

Tested versions

Reproducible in: v4.2.1-stable, v4.2.2-stable

System information
Godot v4.2.2.stable - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1660 SUPER (NVIDIA; <IP_ADDRESS>17) - AMD Ryzen 3 2200G with Radeon Vega Graphics (4 Threads)
Issue description
When you change the zoom of a Camera2D from (1, 1), PopupMenus in MenuBars contained in a CanvasLayer will appear offset incorrectly; moving down as you zoom in, and up as you zoom out. They also appear to get wider as you zoom in.
Here's a video of what it looks like:
https://github.com/godotengine/godot/assets/61643906/8304a1d1-501f-48fe-809f-6b927501e967
Steps to reproduce

Create a CanvasLayer
Add a MenuBar as a child, and a PopupMenu as a child of that MenuBar
Create a Camera2D, and change zoom from 1 (it does not matter if it is changed through code or through the inspector)
Click on the PopupMenu

Minimal reproduction project (MRP)
PopupMenu bug.zip

Thanks @kleonc! Didn't consider the x value or canvas transformer 😳 glad you found the root of the problem 👍


Determinism problems

We encountered a problem while experimenting with Crafter and implementing a save system. The most straightforward approach was to save the seed and the sequence of player actions. However, this method revealed certain issues:
In the Env._balance_object() method, the creatures variable exhibits a different order of elements during execution. This disrupts the deterministic.
The LocalView._noise() method uses the world's random instance, which modifies its state. This also contributes to the lack of determinism.

I wrote small fix for that.
https://github.com/danijar/crafter/pull/32


Node version not consistent between github and codelab

On this particular page:
https://firebase.google.com/codelabs/firebase-cloud-functions?authuser=0#5
This is mentioned:

By default Cloud Functions runs your code in a Node 6 runtime. We've changed this to the Node 8 runtime which is in Beta by specifying it in the package.json file by adding: "engines": { "node": "8" }

In the current "package.json" file the engine is defined like this:
  "engines": {     "node": "12"   },

@pm-mic thanks for reporting this! I'll get it fixed.


get_client_from_auth_file returns Unauthorized with KeyVaultClient

What would be great to be able to do is:
kv_client= get_client_from_auth_file(KeyVaultClient)
This returns the error TypeError: __init__() got an unexpected keyword argument 'base_url' which makes sense.
So, here is a helper class and essentially what I'd like to do:
class KeyVaultClientHelper:
    def __init__(self, credentials, **kwargs):
        self._credentials = credentials

helper = get_client_from_auth_file(KeyVaultClientHelper)
client = KeyVaultClient(helper._credentials)
print(client.get_secret("http://my-vault-url...", "MY-KEY", '').value))

This is successful until it tries to get a secret and it returns Unauthorized.
However, I am successful in getting secrets using a ServicePrincipalCredential with the same auth file if I manually open the file and pull the data.
It looks like some work has been done for get_client_from_cli_profile to support a KeyVaultClient already, so I'm hoping this could be fixed/added for get_client_from_auth_file.

Looking at it, thanks for the report!

Fixed
https://pypi.org/project/azure-common/1.1.22/


DS creation - behaviour should be consistent when an associated field is deleted before DSR fulfillment

Scenario1:

Create a new Type for Delivery Service
Create a new DS choosing the type created in step1, submit it for DSR
delete the type created in step1 while the request is pending in DSR
go to DSR and click on fulfill (assign it to yourself first)
Expected: some kind of error that type doesn't exist
Actual: Nothing happened!!!

On discussion with team it seem to be a static type that user is not supposed to create. In such case, the appropriate thing would be to restrict creation of types only to allowed ones.
Scenario2:

create a DS_Profile
Create a DS , choose DS_Profile created in step 1, submit for DSR
click on fullfil page that DS_Profile is reflected, It is. Do not change anything. Go to step4
delete the DS_Profile created in step1 , while the DSR is still pending
click on fullfil page that DS_Profile is reflected
Expected: Some kind of error that associated DS_Profile doesn't exist should be displayed
Actual: DS_Profile is unassociated from the DS and no notification/message is displayed. Able to fullfil the DSR

For scenario 1 these are the delivery service types:

and although TP and the TO api allows you to create new delivery service types, you really shouldn't because without other code changes, your new "type" will have no effect. These types are static in nature. Can you check in dev console to ensure that an error isn't being returned and maybe the UI is simply failing to display it?

@lbathina - i tried scenario 1 -

created a DNS_FOO type
created a new DS of type=DNS_FOO (which created a ds request)
deleted DNS_FOO

and when i try to fulfill the request, i'm getting this error in the browser's dev console:
TypeError: Cannot read property 'name' of undefined     at TableDeliveryServiceRequestsController.js:254
https://github.com/apache/trafficcontrol/blob/master/traffic_portal/app/src/common/modules/table/deliveryServiceRequests/TableDeliveryServiceRequestsController.js#L254
that is why "nothing" is happening. the error is preventing the UI from navigating to the fulfill page but the error is silent. I'll get a PR in for this.

re: scenario 2.

created an AAA DS_profile
created a DS with profile=AAA (which created a ds request)
deleted AAA profile
checked ds request and profile is now blank

the real problem here is that the system should have never allowed you to delete a profile (AAA) that is associated with something. in this case the AAA is associated with an active ds request. i know i asked you to put both scenarios in one issue but i think this scenario justifies it's own issue. the issue is really that you should not be able to delete any of these things if they are attached to an active ds request (type, profile, cdn, tenant). @lbathina - can you create that issue?

Sure. Will spin a new ticket for #2

Scenario 1 ->  tracked in https://github.com/apache/trafficcontrol/issues/3728
this ticket for scenario 2


Receiving error upon pip install cumulusci

going through the Installation Instructions, I hit an error when PyCrypto tried to be installed. I tried updating Crytpography but it failed to resolve the issue. I am running virtualenv and am on OS Sierra 10.12.2. Full stack below.
Building wheels for collected packages: PyCrypto
  Running setup.py bdist_wheel for PyCrypto ... error
  Complete output from command /Users/markvogelgesang/cumulusci_venv/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/8x/fynn007s1b3bzwtm9ybn9zh80000gp/T/pip-build-sisaEw/PyCrypto/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /var/folders/8x/fynn007s1b3bzwtm9ybn9zh80000gp/T/tmpcJ5Gnkpip-wheel- --python-tag cp27:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.11-x86_64-2.7
  creating build/lib.macosx-10.11-x86_64-2.7/Crypto
  copying lib/Crypto/__init__.py -> build/lib.macosx-10.11-x86_64-2.7/Crypto
  copying lib/Crypto/pct_warnings.py -> build/lib.macosx-10.11-x86_64-2.7/Crypto
  creating build/lib.macosx-10.11-x86_64-2.7/Crypto/Hash
  copying lib/Crypto/Hash/__init__.py -> build/lib.macosx-10.11-x86_64-2.7/Crypto/Hash
  copying lib/Crypto/Hash/hashalgo.py -> build/lib.macosx-10.11-x86_64-2.7/Crypto/Hash
  copying lib/Crypto/Hash/HMAC.py -> build/lib.macosx-10.11-x86_64-2.7/Crypto/Hash
  copying lib/Crypto/Hash/MD2.py -> build/lib.macosx-10.11-x86_64-2.7/Crypto/Hash
  copying lib/Crypto/Hash/MD4.py -> build/lib.macosx-10.11-x86_64-2.7/Crypto/Hash
  copying lib/Crypto/Hash/MD5.py -> build/lib.macosx-10.11-x86_64-2.7/Crypto/Hash
  copying lib/Crypto/Hash/RIPEMD.py -> build/lib.macosx-10.11-x86_64-2.7/Crypto/Hash
  copying lib/Crypto/Hash/SHA.py -> build/lib.macosx-10.11-x86_64-2.7/Crypto/Hash
  copying lib/Crypto/Hash/SHA224.py -> build/lib.macosx-10.11-x86_64-2.7/Crypto/Hash
  copying lib/Crypto/Hash/SHA256.py -> build/lib.macosx-10.11-x86_64-2.7/Crypto/Hash
  copying lib/Crypto/Hash/SHA384.py -> build/lib.macosx-10.11-x86_64-2.7/Crypto/Hash
  copying lib/Crypto/Hash/SHA512.py -> build/lib.macosx-10.11-x86_64-2.7/Crypto/Hash
  creating build/lib.macosx-10.11-x86_64-2.7/Crypto/Cipher
  ....
  running build_ext
  running build_configure
  checking for gcc... gcc
  checking whether the C compiler works... no
  configure: error: in `/private/var/folders/8x/fynn007s1b3bzwtm9ybn9zh80000gp/T/pip-build-sisaEw/PyCrypto':
  configure: error: C compiler cannot create executables
  See `config.log' for more details
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/private/var/folders/8x/fynn007s1b3bzwtm9ybn9zh80000gp/T/pip-build-sisaEw/PyCrypto/setup.py", line 456, in <module>
      core.setup(**kw)
    File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 151, in setup
      dist.run_commands()
    File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands
      self.run_command(cmd)
    File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
      cmd_obj.run()
    File "/Users/markvogelgesang/cumulusci_venv/lib/python2.7/site-packages/wheel/bdist_wheel.py", line 179, in run
      self.run_command('build')
    File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 326, in run_command
      self.distribution.run_command(command)
    File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
      cmd_obj.run()
    File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/build.py", line 127, in run
      self.run_command(cmd_name)
    File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 326, in run_command
      self.distribution.run_command(command)
    File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
      cmd_obj.run()
    File "/private/var/folders/8x/fynn007s1b3bzwtm9ybn9zh80000gp/T/pip-build-sisaEw/PyCrypto/setup.py", line 251, in run
      self.run_command(cmd_name)
    File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 326, in run_command
      self.distribution.run_command(command)
    File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
      cmd_obj.run()
    File "/private/var/folders/8x/fynn007s1b3bzwtm9ybn9zh80000gp/T/pip-build-sisaEw/PyCrypto/setup.py", line 278, in run
      raise RuntimeError("autoconf error")
  RuntimeError: autoconf error

  ----------------------------------------
  Failed building wheel for PyCrypto
  Running setup.py clean for PyCrypto
Failed to build PyCrypto

Have you run:
xcode-select --install?
before your pip install?

@cdcarter face palm thanks! It's up and running!

Glad to hear that helped! Let me know if you run into any questions or issues with the tool.


Reproduce problems that do not reproduce the accuracy of the paper

I reproduced CWVAE on v100 GPU according to the parameters of the github code, but when evaluating, the result obtained under the condition of 100 samples is quite different from the paper. What is the number of samples corresponding to the results in the paper, or are there any other parameter setting details?（i used tensorflow and the batch_size is 50）Hope for your answer, thank you.

The default configuration uses original parameters from the paper, listed in config.py. There are no other settings. num_examples=100 and num_samples=1, perhaps you are confusing the two?

The default configuration uses original parameters from the paper, listed in . There are no other settings. and , perhaps you are confusing the two?config.py``num_examples=100``num_samples=1

The default configuration uses original parameters from the paper, listed in config.py. There are no other settings. num_examples=100 and num_samples=1, perhaps you are confusing the two?

The default configuration uses original parameters from the paper, listed in config.py. There are no other settings. num_examples=100 and num_samples=1, perhaps you are confusing the two?

How are the numerical results in the paper calculated? Is it obtained from the PSNR value of all frames after averaging 36 frames (i.e. the average of the ssim_all array)? I got a result of 0.556 on the Minerl dataset (a big difference from the paper's 0.65), but I came all by setpoint. I would also like to ask, what is your version of Jax and Jaxlib of this code?

The default configuration uses original parameters from the paper, listed in config.py. There are no other settings. num_examples=100 and num_samples=1, perhaps you are confusing the two?

How are the numerical results in the paper calculated? Is it obtained from the PSNR value of all frames after averaging 36 frames (i.e. the average of the ssim_all array)? I got a result of 0.556 on the Minerl dataset (a big difference from the paper's 0.65), but I came all by setpoint. I would also like to ask, what is your version of Jax and Jaxlib of this code?

eval.py and https://github.com/juliuskunze/cwvae-jax/blob/main/tools.py#L50 should have the details you are looking for.
On the day of release it was up to date, so it must have been (roughly) jax 0.2.20 and jaxlib 0.1.71.

OK,I also want to ask, I encountered the following prompt when running tensorflow 2.4.1 with cuda 11.0 and cudnn 8.0, does it have an impact on accuracy?

And do you have a weights file for CWVAE's tensorflow code that is thesis-accurate? I still want to reproduce the code for TensorFlow to thesis precision.

To me that looks like it has no impact on accuracy.

To me that looks like it has no impact on accuracy.
Ok, thank you very much for your patience answer.

To me that looks like it has no impact on accuracy.

Ok, thank you very much for your patience answer.

You're welcome, I hope it helped!

I reproduced the jax version of the CWVAE code, but the accuracy I got was close to what I got when I reproduced tensorflow. Specifically, when testing the minerl_nvigate dataset (where num_examples=225, num_samples=1), the PSNR and SSIM are 0.55 and 17.3, respectively (which I averaged all the frames predicted in the minerl_nvigate test set), but this is much different from the results of the paper of 0.65 and 23.23. Where is the problem?How can I get thesis accuracy？

Since the JAX version seems to be consistent with the original code, it's probably best if you directly ask the paper authors, i. e. @vaibhavsaxena11.
(As you have done already in https://github.com/vaibhavsaxena11/cwvae/issues/5.) I hope they can help!

由于JAX版本似乎与原始代码一致，因此最好直接询问论文作者，即。
（正如您在vaibhavsaxena11 / cwvae#5中所做的那样。我希望他们能提供帮助！

OK，thank you


SPLAT-892 - fix/docs-process: update submission results on User Docs

Clarifying the process to submit the results according to the VCSP Program requirements.

I think we are awaiting some more feedback from Ju so I'll just give the lgtm for now:
/lgtm

/hold

Removing any reference to the program.

ptal @rvanderp3
/assign @rvanderp3

/unhold

/lgtm
/approve


Absolute path support

Hi, thanks for your excellent extension.
I'm trying to use absolute path in Local: Path, but it seems relative path only.
Personally, I usually store my images in Onedrive as C:/Users/username/Onedrive/ or ~/Onedrive. I've tried both, but the extension keeps copying the image to ${path}.
Is there any way to use absolute paths, or isn't it supported yet? Thank you.

That was a bug. I will fixed tomorrow. Thanks your feedback.

You can update to 1.1.18 to support it.

It works fine now, thank you very much!


Prevent command spoofing

Summary of the new feature / enhancement
Don't blindly overwrite commands that are part of a signed script or module.
Reading this Colibri Loader combines Task Scheduler and PowerShell in clever persistence technique, I am quiet surprised to see how easily it appears to overwrite a native (presumably signed) command.
Somehow, I think it should be possible to get the user's attention when this happens by asking whether to overwrite a function that is part of a signed script or module (when the Set-ExecutionPolicy is set to RemoteSigned or higher?):
Proposed technical implementation details (optional)
Wishful thinking:
PS C:\> Get-Content .\MyScript.ps1
function MySigned {
    Write-Host 'Hello World'
}
PS C:\> $Certificate = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=SelfSigned'}
PS C:\> Set-AuthenticodeSignature -FilePath MyScript.ps1 -Certificate $Certificate

PS C:\> . .\MyScript.ps1
PS C:\> MySigned
Hello World
PS C:\> function MySigned { Write-Host 'Hello Colibri' }

At this point I would like see a message in the direction of:

Do you want to overwrite the command MySigned which is a part
of the signed script MyScript from the publisher "SelfSigned"?
[N] No  [Y] Yes [?] Help (default is "N"):

This would probably require that all functions (commands) that are part of a signed script or module should be securely marked as "signed" to be able to check for any possible unwanted overwrites.
Notes

The question should also appear when the (signed) command is overwritten in a higher scope.
The question should not appear when the command comes from the same source (script/module, aka publisher) as the existing command, e.g. in case of a recurse function.

It's a nice idea but

Why would it apply only to functions - surely you would want it to apply to compiled cmdlets as well ?
If it applied to built in cmdlets that would break existing Proxy functions.  For example Octopus deploy redefines Write-Verbose to capture verbose output to its own log.  Write-verbose is one of PowerShell's modules which is signed, so if this was a blanket block, octopus would fail
You would also need to prevent an alias being defined with the name of the function you want to protect.
With a compiled cmdlet or executable file (including a .ps1) you can ensure the command that you run has not been subverted  by specifying its full path.  e.g. Microsoft.PowerShell.Utility\Write-Verbose "boo" -Verbose  this defeats aliases or proxy functions or a file higher up the search path running instead of the one you intended, but not redefining a function over the top of an existing one or creating an alias for a trusted function.
To be used in an attack the function re-definition needs run between loading the legitimate function and running it. If you could do that, would you not just run the code which does the malicious thing, not set it as a function to be run if the  user runs some command later. ?
When you're loading something where nothing else can be  allowed to sneak in (JEA scenarios being one) a combination of command visibility and using `$ExecutionContext.SessionState to change the language mode and the apps and scripts that can run generally does the job
In this case I would make

$ExecutionContext.SessionState.LanguageMode = [System.Management.Automation.PSLanguageMode]::RestrictedLanguage

The last line of the file.

The explanation at link has one oddity in it. Get-Variable.Exe gets run. Normally if there is a cmdlet and an .exe the cmdlet wins. So how is the exe getting run ?

Yeah that's the most interesting part to me, that feels like it might be a bug. It's not clear from the article how / why exactly PowerShell is apparently running this executable when it starts, since from the article it doesn't appear any commands are actually passed to the PowerShell instance itself.

It's not pretty but if you want to always run a cmdlet from a specific module without being overwritten you can do
&(Get-Command -Name Write-Verbose -Module Microsoft.PowerShell.Utility) -Message abc

Using the FQDN cmdlet name Microsoft.PowerShell.Utility\Write-Verbose is also an option but keep in mind someone may define a new alias or function with that name overloading it. This is why Get-Command is better as it ensures it finds the comand in the module specified.
I believe Pester does something like this to store the set of "safe" commands in a hashtable rather than relying on the environment. It's not pretty but it works today.

Using the FQDN cmdlet name Microsoft.PowerShell.Utility\Write-Verbose is also an option but keep in mind someone may define a new alias or function with that name overloading it.

That's not quite right.  The fully specified name will override the function/alias.

Microsoft.PowerShell.Utility\Write-Output "bar"

Function Microsoft.PowerShell.Utility\Write-Output {
    "foo"
}

Microsoft.PowerShell.Utility\Write-Output "bar"

Outputs bar then foo as there's now a function with the name of the FQ cmdlet name.

Microsoft.PowerShell.Utility\Write-Output "bar"

Function Microsoft.PowerShell.Utility\Write-Output {
    "foo"
}

Microsoft.PowerShell.Utility\Write-Output "bar"

Outputs bar then foo as there's now a function with the name of the FQ cmdlet name.

OK I was assuming the function name was simply "Write-Output".  I should have read what you said more closely , you did say that a function could be created using the fully qualified name, and that is correct.

@jhoneill,

(5) ... If you can run arbitrary code in the session where the script is going to run, why not just run your malicious code ...

I find founding security precautions always difficult: at one hand, you might be wrong and take away all the arguments for the actual proposal. At the other hand, you might be right and open de box of Pandora...
I am drifting away from the "Colibri loader" suggestion, but I think that command spoofing could potentially be used to get secure information and to get higher privileges where the user account is already compromised (and the execution policy is not restricted) by piggybacking on procedures that normally require user intervention for security reasons, e.g.:

by spoofing the Read-Host -AsSecureString cmdlet and capture secrets
by spoofing any cmdlet (e.g. Write-Host) and act when [Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator') equals $True

@iRon7  all valid points :-)
In my profile I redefine CD (it's push-location with improved completers, validators and transformers), h (better selection from history) and have a proxy function which adds -Recurse to Select-String.
For JEA I wrote proxy functions which restricted what cmdlets would do, even though they were running under a privileged account
But any of these could be done maliciously - how many admins run PowerShell elevated with their default profile? If I can access your home directory and add something to your profile then... game over.
I do have an idea how anti-spoofing might done from a script, but it would need some tools to make it workable.
Get-AuthenticodeSignature (get-command Write-Verbose).module.path | % signerCertificate
Will show you who signed the code for the present version of Write-Verbose.
If you had a #requires directive which had a command name, and certificate parameters you could say
"Abort the script if Read-Host doesn't come from the module with the right signature".
But people would need to do work to use it . Something which blocked anything which puts in a substitute  for a command would break too many things.

one small thing @jhoneill - in the old days, you had to alias cd to push-location to be able to go "back". Now, with PowerShell 7, this is built in so no need to re-alias.

@jhoneill,

"With all respect"

Sorry, that's because I am not native English, I think the correct approach would have been:

Your written English is better than some native speakers! :-)

:ok
Windows の メ`ルhttps://go.microsoft.com/fwlink/?LinkId=550986 から送信
差出人: @.>
送信日r: 2022年4月14日 19:19
宛先: @.>
CC: @.***>
件名: Re: [PowerShell/PowerShell] Prevent command spoofing (Issue #17135)
@jhoneillhttps://github.com/jhoneill,
"With all respect"
Sorry, that's because I am not native English, I think the correct approach would have been:
Your written English is better than some native speakers! :-)
―
Reply to this email directly, view it on GitHubhttps://github.com/PowerShell/PowerShell/issues/17135#issuecomment-1099010467, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AXPZ5XG2PH3XIESJAYEM36DVE7WM3ANCNFSM5TCR33NA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Windows の メ`ルhttps://go.microsoft.com/fwlink/?LinkId=550986 から送信
差出人: @.>
送信日r: 2022年4月14日 20:28
宛先: @.>
CC: @.>; @.>
件名: Re: [PowerShell/PowerShell] Prevent command spoofing (Issue #17135)
one small thing @jhoneillhttps://github.com/jhoneill - in the old days, you had to alias cd to push-location to be able to go "back". Now, with PowerShell 7, this is built in so no need to re-alias.
@doctordnshttps://github.com/doctordns I found out when I used cd - on something which didn't have my profile - Changing the alias means one profile works on all versions of PowerShell
And too many cd - do this
#650 PS7 ~\Documents\WindowsPowerShell> pwsh -noprofile
PowerShell 7.2.2
Copyright (c) Microsoft Corporation.
https://aka.ms/powershell
Type 'help' to get help.
PS C:\Users\mcp\Documents\WindowsPowerShell> cd ..
PS C:\Users\mcp\Documents> cd -
PS C:\Users\mcp\Documents\WindowsPowerShell> cd -    # Stack should be empty
PS C:> cd -
Set-Location: There is no location history left to navigate backwards.
PS C:>
PS C:> exit
#651 PS7 ~\Documents\WindowsPowerShell> cd -
#652 PS7 ~\Documents\PowerShell> cd -   #empty stack does nothing
#653 PS7 ~\Documents\PowerShell> cd -
The stack isn't available with the newer implementation my customize version of cd lets me do cd = [tab] to peek down the stack without popping items off it, so I still need push instead of set.
(remember Novell supported cd ... and cd .... I've got that too :-) )
―
Reply to this email directly, view it on GitHubhttps://github.com/PowerShell/PowerShell/issues/17135#issuecomment-1099089897, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AXPZ5XHKSMJ3GBL2UTYJS6DVE76LZANCNFSM5TCR33NA.
You are receiving this because you commented.Message ID: @.***>

Can anyone actually repro the same result of the article? As I would have expected I can't get it to work at all. Maybe it's missing a step?

WTF?

Can anyone actually repro the same result of the article? As I would have expected I can't get it to work at all. Maybe it's missing a step?

I think I am able to confirm the PowerShell part where indeed an executable file replaces the PowerShell command.
The point is that there is an error in the description where %APPDATA%\Local\Microsoft\WindowsApps  should be %LOCALAPPDATA%\Microsoft\WindowsApps :
PS C:\> Copy-Item (Get-Command WhoAmi).Source "$Env:LOCALAPPDATA\Microsoft\WindowsApps\Get-Variable.exe"
PS C:\> Get-Variable
Computer\Username

Yeah the Engine WG discussed this last night and @IISResetMe was able to repro.
We'd like the security WG to review this before we discuss it further. /cc @TravisEz13

@WG-Security
It looks like this feature request is to prevent a function being created having the same name as a function exposed through a loaded signed module file.
PowerShell command precedence allows (proxy) functions and aliases to override module commands.  We recommend not changing this as it would be a significant breaking change.  In addition, users can already use module fully qualified command names to ensure they are running the command they expect, and this is encouraged as a best practice.

@PaulHigin,
(I presume that with your comment, the issue is reviewed with security WG and I am discuss this further)

It looks like this feature request is to prevent a function being created having the same name as a function exposed through a loaded signed module file.

I like to refine this to:

Prevent a function being unnoticeably and undeniably created with the same name as a function exposed through a loaded signed module file.

Besides, I think that any corrective action towards a better security might simply be optional to avoid any significant break change to developers that care less.

@PaulHigin If the recommendation is to use fully-qualified commands to prevent spoofing. Would it be considered a bug that fully-qualified command can be overwritten with a function or alias?
PS C:\> Microsoft.PowerShell.Utility\Write-Output 'output'
output
PS C:\> function Microsoft.PowerShell.Utility\Write-Output { 'spoofed via function' }
PS C:\> Microsoft.PowerShell.Utility\Write-Output 'output'
spoofed via function
PS C:\> function spoofed { 'spoofed via alias' }
PS C:\> New-Alias -Name Microsoft.PowerShell.Utility\Write-Output -Value spoofed
PS C:\> Microsoft.PowerShell.Utility\Write-Output 'output'
spoofed via alias

Good question.  Yes, it seems to me that fully qualified names should resolve to modules.  Tagging for committee review.

Just a small reminder, you can use Get-Command to ensure you get a command in a specific module as per https://github.com/PowerShell/PowerShell/issues/17135#issuecomment-1095461560.

Just a small reminder, you can use Microsoft.PowerShell.Core\Get-Command to ensure you get a command in a specific module as per #17135 (comment).

🤔
If I understand this correctly, this means that if you sign a PowerShell script, you better use fully qualified names for every command you invoke in the concerned script?
If that is true, I think that it would be appropriate to warn the signer if friendly command names are used in the concerned script to be signed or even possibly (optionally) replace any friendly command name with a fully qualified name (returned by Microsoft.PowerShell.Core\Get-Command) automatically prior the actual signing is done.
The cmdlet Microsoft.PowerShell.Security\Set-AuthenticodeSignature would probably be the best cmdlet to accomplish this.

@iRon7 a key issue for me here is that you cannot just use what you feel to be a fully qualified function name to avoid this.
If you use:
Function Microsoft.PowerShell.Utility\Write-Output {"foo"}

Then the name of this function is the same as a fully qualified name.
Should PowerShell allow a function to have a name that is the same as a fully qualified function name?

If I understand this correctly, this means that if you sign a PowerShell script, you better use fully qualified names for every command you invoke in the concerned script?

@iRon7 The purpose of script signing is to authenticate the exact contents of a file on disk, nothing more. It has nothing to do with command discovery at runtime. The fact that the source script is signed was never meant to provide the kinds of guarantees your appear to be expecting

@iRon7 a key issue for me here is that you cannot just use what you feel to be a fully qualified function name to avoid this.
If you use:
Function Microsoft.PowerShell.Utility\Write-Output {"foo"}

Then the name of this function is the same as a fully qualified name.
Should PowerShell allow a function to have a name that is the same as a fully qualified function name?

TLDR NO  And I don't think this should be limited to functions either.
Until @jborean93  pointed it out, I would have expected that name to be illegal.
Although technically forbidding slash and backslash in function (and alias) names would be a breaking change,  I can't think of a legitimate use for them.  This is another example that should not be possible,
> function Notepad {"boo"}
> notepad
boo       # <-- expected , desirable even.
> New-Alias -Name  C:\windows\notepad.exe -Value foo
> C:\windows\notepad.exe
boo       # <-- Far from desirable.

: is illegal in windows file systems but is needed to have C:, D:  swap drives so is allowed in function and alias names.
But is there any reason for allowing \  and / ?    - function:\ and function:/ are the root of the function PSDrive, since this drive doesn't have an kind of container I understand it doesn't need those characters to serve as path separators, but I can't find any logic to say they should  or must be allowed in Alias or function names. I'm not sure that losing "." (or : from aliases) would be harmful either.

FYI: I have just also formally reported the malicious intents that might result from this issue through Secure@ because it is unclear to me whether this has already been done (taking the fact that this issue started as a propose and later has been flagged with WG-Security).

If I understand this correctly, this means that if you sign a PowerShell script, you better use fully qualified names for every command you invoke in the concerned script?

@iRon7 The purpose of script signing is to authenticate the exact contents of a file on disk, nothing more. It has nothing to do with command discovery at runtime. The fact that the source script is signed was never meant to provide the kinds of guarantees your appear to be expecting

It is any easy mistake to assume that if you have signed a script then if the signature says the script is unchanged then what runs is the same every time the script runs. How can something unchanged run different code?  Many ways, as it turns out.
One can create what looks like a new version of the module which contains some commonly called cmdlet...
Unless the script is run in a clean session with -noprofile, and explicitly imports the modules it uses, first checking their signatures (I'll target Get-AuthenticodeSignature ) and verifies that every alias, function, cmdlet or external file called is the expected one (i.e. Get-Widget is a cmdlet in the verified Widget module) . The signature is just "James was last to touch this part of a bigger whole, and this part hasn't been changed" .
I've signed my own scripts and put them into production (so if I went bad - who knows what was signed), and signed other peoples : in theory I reviewed before signing, but who knows what I might have added because I don't think people checked the code was as they gave it to me. When an organization signs its scripts the value of the signature depends on the process around it.

@PowerShell/powershell-committee reviewed this and agree that this is not a security issue in general, but would like the WG-Security group to revisit specifically the fully qualified cmdlet path and then the WG-Engine group to discuss the impact if we decide to not allow function names to resemble a fully qualified path.  Also consider if proxy functions may be impacted.  Expectation is that users should be able to rely on the fully qualified cmdlet path to know they are calling that cmdlet.

Thanks all, for the comments on this issue.
The initial propose (not a bug or a security report) was to give signed functions a higher privilege as I was under the impression that signing scripts would always require the users attention (and be traceable) but apparently that is not the case.
I am ok to close the issue in Resolution-Won't Fix or keep it open for the "expectation that users should be able to rely on the fully qualified cmdlet path to know they are calling that cmdlet".
Do you like me to change the title for this? or just close the issue? and create a new "fully qualified cmdlet path" issue?

The engine WG has discussed this again and are concerned that any change here would be a breaking change. We are concerned as well as to how this might affect Pester as we believe that it takes advantage of this behavior.

If that is the case what is the user friendly  recommended way to do this without some hacky workaround using Get-Command?

The Mocking feature in Pester may depend on defining a fully-qualified name as an alias to intercept the call to a module function.
https://github.com/pester/Pester/blob/ec2131a4640461f8f0b32c499ebce393019aa392/src/functions/Mock.ps1#L218-L220
https://github.com/pester/Pester/blob/ec2131a4640461f8f0b32c499ebce393019aa392/src/functions/Mock.ps1#L547-L714

So, this breaking change could be a big impact.
Aside from the breaking change concern, the Engine WG would like to have the Security WG (/cc @PaulHigin and @TravisEz13) to review again and clarify whether the current behavior (allowing function/alias with fully-qualified name) is really a security issue. We believe it's not (we could be wrong) given that if a bad actor can plant a function to override a module function, then the same actor can create a module with the same name and trick the user to load that module instead, even if we disallow function/alias with fully-qualified name.

Can we think about strict mode/constrained language?

Regardless if this is a security issue or not. This is still a reliability problem. If the script or module author cannot ensure the fully qualified cmdlet being called has the same behavior in dev as in production. This can and will cause unexpected behavior and the end user will blame the script or module author rather than the person who overloaded the cmdlets with a custom function or alias.

@PowerShell/powershell-committee discussed on 5/22/2022
We believe this is behaving as designed and any change here would be a breaking behavior.


fix elasticsearch query data window size too large error.

Please answer these questions before submitting pull request

Why submit this pull request?

[x] Bug fix

[ ] New feature provided

[ ] Improve performance

Related issues

Bug fix

Bug description.

Skywalking OAP updateNetworkAddressInventory and ServiceInventory will cause exceptions as follows:
Caused by: org.elasticsearch.client.ResponseException: method [POST], host [http://localhost:9200], URI [/network_address_inventory/type/_search?typed_keys=true&ignore_unavailable=false&expand_wildcards=open&allow_no_indices=true&search_type=query_then_fetch&batched_reduce_size=512], status line [HTTP/1.1 500 Internal Server Error]
{"error":{"root_cause":[{"type":"query_phase_execution_exception","reason":"Result window is too large, from + size must be less than or equal to: [10000] but was [2147483647]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level setting."}],

How to fix?

The reason is that elasticsearch window size is10000 default. If we do not modify elasticseach.yml.
We can adjust this size to 10000 rather than Integer.MAX_VALUE.

New feature or improvement

Describe the details and related test reports.

Could we make it in the configuration and 10k as default?


Add upload options

This will support the 3 defined upload options:

[ ] drag/drop

[ ] Borwse to file

[ ] Manually entering an address

Here is a screen shot of the agreed upon mockup:

@NikkiGolding @jessnoo

The UI is there...but they do not actually feed into the locator yet.

With the exception of the "Support manual address entry" that we decided to move away from this is complete.

Verified.


Added SQL Server 2012 SP4 to "Supported Combinations" table

For some reason we're getting customers and support engineers confused on which combination is supported for SSRS 2012 SP4 because it's missing from the table. Adding it to help customers and engineers.

@JoshGer : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Thanks, @JoshGer
#sign-off


Typo error in readme file

This repository has been tested on GTX 1808Ti. Configurations (e.g batch size, image patch size) may need to be changed on different platforms.

should be GTX 1080Ti?

Fixed. Greatly Appreciated!


Add f1 and s1 models to updog tab

tab DArt Report2VCF

Adjust progress bar

tab Updog

add parents
adapt test to use iris data - delete other vcf from the inst
add test for f1 and s1 models
add help material

The tests are broken, but they will be fixed after the pull request in BIGr gets in


Wait for alluxio master to come up before startSync

StartSync may fail if master doesn't come up quick

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10173/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10178/
Test PASSed.

alluxio-bot, merge this please


improvements on SMT translation

@dwightguth please review

I'm inclined to propose what Grigore had to say when I did my last OCAML pull request. Do we really need the SMT attribute anymore? Can we just use the hook name as the name of the SMT operation and then have one single prelude that defines the names of all the relevant hooks?

We can have a properties file mapping hook names to SMT operations names, the same way we have for builtin functions.


Trial ui with synth tests

See if user interface is viable by fitting to synthetic data

Reasonably chill experience, fitting to a 3 component synthetic fit


Ctrl+Z will make editor scroll to top [Firefox]

Precheck

[x] Do a quick search and make sure the bug has not been reported yet.
[x] Please disclose security vulnerabilities privately at<EMAIL_ADDRESS>[x] Finally, be nice and have fun!.

Description
If an article is very long, and scrollbar is in the middle of the article, press Ctrl+Z will make editor scroll to top.
this experience is not good
Environment

Editor.js version: 2.22.2
Plugins you use with their versions: No plugin enabled
Device, Browser, OS: Firefox Windown10, PC

Current behavior
Press Ctrl+Z will scroll to top
Expected behavior
Press Ctrl+Z would not scroll to any where
Additional context
Firefox will cause this problem, Chrome is ok

I have the same problem

@conanliuhuan, @yammycode  Thanks a lot for report the issue!
Could you please add more details about when the issue raises?, I have been trying to reproduce the issue, but I have not been able to do it. In the following GIF, I try to reproduce the issue with CTRL+Z and CTRL+Y.

Best, Mario.

@MarioRodriguezS
https://disk.yandex.ru/i/A5_YKMb5MmEZ5A
In my case i use editorjs inside laravel nova admin.
May be to reproduce the problem, you have to place some content before and after the editor instance...

It may be necessary to remember the current position of the scroll before undo/redo operation and to force scroll after  re-rendering of editor content?
Or add several callbacks before and after this operations for self-implementation if necessary.

Unrelated but related.
Undoing will cause embedded content to re-render, which is a bit jarring.

Yes)) You can even see it in firefox - the page blinks for a moment. If only the affected blocks were updated, not all editor content, it would be fantastic.

@MarioRodriguezS This bug won't trigger everytime. In the following video, there was a fault several times before, and then it was normal.
https://user-images.githubusercontent.com/26618275/146708028-6ae8d184-3bb5-4daf-a571-8493aae1bf6d.mp4

@conanliuhuan @adampatterson @yammycode Hi there!
We just released a beta version of editorjs-undo (v2.0.0-rc.0). We expect that this helps to solve your issues, please report any bug or behavior issue.
More information may be found in the Readme file. Thanks!!
Best,
Mario

@MarioRodriguezS  I may need to test further, and am not 100% sure this is an issue with your Undo plugin but I have a number of other plugins installed and it seemed to have some strange issues.
Without anything else enabled the undo I think worked perfectly.
const editor = new EditorJS({
    holder: 'contentEditor',
    data: JSON.parse(content),
    placeholder: 'Write something awesome!',

    onReady: () => {

        new Undo({ editor });

        const saveButton = document.getElementById('saveButton')
        saveButton.addEventListener('click', function (event) {
            editor.save().then((outputData) => {
                console.log('Article data: ', outputData)
                document.getElementById('editorBlock').value = JSON.stringify(outputData)
            }).catch((error) => {
                console.log('Saving failed: ', error)
            })
        })
    }
})

And with basically the kitchen sink the undo order is a bit mixed up:
Maybe this is expected as it undoes the active block just fine.

import EditorJS from '@editorjs/editorjs' // //https://editorjs.io/

const Header = require('@editorjs/header') // https://github.com/editor-js/header
const Embed = require('@editorjs/embed') // https://github.com/editor-js/embed
const LinkTool = require('@editorjs/link') // https://github.com/editor-js/link
const ImageTool = require('@editorjs/image') // https://github.com/editor-js/image
const List = require('@editorjs/list') // https://github.com/editor-js/list
const Quote = require('@editorjs/quote') // https://github.com/editor-js/quote
const Underline = require('@editorjs/underline') // https://github.com/editor-js/underline
const InlineCode = require('@editorjs/inline-code') // https://github.com/editor-js/inline-code
const Marker = require('@editorjs/marker') // https://github.com/editor-js/marker
const CodeTool = require('@editorjs/code') // https://github.com/editor-js/code
const Delimiter = require('@editorjs/delimiter') // https://github.com/editor-js/delimiter
const Warning = require('@editorjs/warning') // https://github.com/editor-js/warning
const DragDrop = require('editorjs-drag-drop') // https://github.com/kommitters/editorjs-drag-drop
const Undo = require('editorjs-undo') // https://github.com/kommitters/editorjs-undo

const content = document.getElementById('editorBlock').value

const editor = new EditorJS({
    holder: 'contentEditor',
    data: JSON.parse(content),
    placeholder: 'Write something awesome!',
    tools: {
        header: {
            class: Header,
            shortcut: 'CMD+SHIFT+H',
            config: {
                levels: [1, 2, 3, 4, 5],
                defaultLevel: 3
            }
        },
        underline: Underline,
        delimiter: Delimiter,
        code: CodeTool,
        list: {
            class: List,
            inlineToolbar: true,
        },
        quote: {
            class: Quote,
            inlineToolbar: true,
            shortcut: 'CMD+SHIFT+O',
        },
        Marker: {
            class: Marker,
            shortcut: 'CMD+SHIFT+M',
        },
        inlineCode: {
            class: InlineCode,
            shortcut: 'CMD+SHIFT+C',
        },
        warning: {
            class: Warning,
            inlineToolbar: true,
            shortcut: 'CMD+SHIFT+W',
            config: {
                titlePlaceholder: 'Title',
                messagePlaceholder: 'Message',
            },
        },
        embed: {
            class: Embed,
            inlineToolbar: true,
            config: {
                services: {
                    // @todo #212 https://github.com/adampatterson/maker/issues/212
                    youtube: true,
                    vimeo: true,
                    twitter: false,
                    instagrarm: false,
                    facebook: false,
                    codepen: false,
                    pinterest: false, // Not working
                }
            }
        },
        linkTool: {
            class: LinkTool,
            config: {
                additionalRequestHeaders: {
                    'X-CSRF-TOKEN': window.contentEditor.token
                },
                endpoint: window.contentEditor.fetchUrl,
            }
        },
        // image: SimpleImage,
        image: {
            class: ImageTool,
            config: {
                types: 'image/*',
                additionalRequestData: {
                    '_token': window.contentEditor.token
                },
                additionalRequestHeaders: {
                    'X-CSRF-TOKEN': window.contentEditor.token
                },
                endpoints: {
                    byFile: window.contentEditor.fetchImageByFile, // Your backend file uploader endpoint
                    byUrl: window.contentEditor.fetchImageByUrl, // Your endpoint that provides uploading by Url
                }
            }
        },
    },
    onReady: () => {

        new Undo({editor})
        new DragDrop(editor)

        const saveButton = document.getElementById('saveButton')
        saveButton.addEventListener('click', function (event) {
            editor.save().then((outputData) => {
                console.log('Article data: ', outputData)
                document.getElementById('editorBlock').value = JSON.stringify(outputData)
            }).catch((error) => {
                console.log('Saving failed: ', error)
            })
        })
    }
})

I will do some more testing to see if I can narrow it down to anything more specific!


:bug: Docs: Add jsdoc to createHttpHandler

Description
Concise description of proposed changes
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #806

PR #807

PR #808

PR #809   👈

This stack of pull requests is managed by Graphite.


Allow Builtin Transforms to be saved (without expansion) in CTF

Currently, Builtin Transforms are expanded into the underlying op pieces before being saved to CTF.  Although this is exactly equivalent in terms of the numerical results, it could obfuscate the original contents of a GroupTransform.
For example, in the ACES Config generator, it would be convenient to be able to write a Builtin to the CTF, so that the generator could more simply create a Builtin entry in the config's Yaml.  (A specific case is with the Canon Log, which becomes a Lut1D when the Builtin is expanded.)
However, in other cases, people may prefer the current behavior.  For example, when debugging processing issues, one wants to see the actual ops that a Builtin Transform would be expanded into.  So ideally there should be a way to obtain either behavior.

This is a great idea. Maybe we could use an optimization flag for governing expansion behavior?
If one wants to see the actual ops, it shouldn't be too difficult to derive the expanded ops from the collapsed form with the API.


Cube map importer

We need cube maps importer :)
PS
Note for users.
If you want to add cube map, current Cube Map Resource is broken, just move your 6 textures to project and add text file with .cube extension, place in it names of your textures separated with Return (Enter). See 3D platformer demo for more.

Is this still relevant or what it solved by the fixing of #908?

No answer, assuming this is no longer reproducible or we'd hear about it. Please comment if you still experience this bug.

Hi, I'm facing this issue on 2.1.2 stable, Win 10.
OP's workaround works as a charm. Just to complement his instructions, after you have all the images and the .cube file in place, open to the Environment properties, click on Cubemap property (on arrow pointing down) then click on Load and select your .cube file.

I think there is still no cube map mporter I think. Sorry for delay, I've missed the message :B

@akien-mga
I think there is still no cube map mporter I think. Sorry for delay, I've missed the message :B

It seems that the bug is related to the file types and/or their contents. I have a starscape texture that works just fine with with CubeMap Resource UI (same image for all sides), and a skybox created on Blender (one image for each side) that only works with the .cube format. Do you want these files?

@ericvoid
This bug is more about tool that would import images and prepare cubemap for you.
It is very old, and had little priority. Cubemaps workflow should be revised for 3.0 that aims to be 3D ready.


handlers, handler timeout in changes

Deploy preview for distracted-murdock-bd4a4b processing.
Built with commit 2faee9ba0d9f008b35bd2c81f247d9d89bf2e90d
https://app.netlify.com/sites/distracted-murdock-bd4a4b/deploys/5bd36d7ec6aed6522d880c4a


"wget deb.debian.org" doesn't work

Steps to reproduce:

Open https://copy.sh/v86/?profile=linux3
Type udhcpc
Type wget deb.debian.org
You will see this:

Connecting to deb.debian.org ([2001:4f8:1:c::15]:80)
wget: can't connect to remote host: Network is unreachable

Is deb.debian.org secured?
SSL is not supported

Is deb.debian.org secured?
SSL is not supported
deb.debian.org can work both using http and https. When I type "wget deb.debian.org" on normal machine, wget uses http.

I see similar error message with commands wget http://deb.debian.org, wget https://deb.debian.org, wget google.com, wget facebook.com

Looks like the websocket proxy doesn't support ipv6. curl seems to work fine.

@copy, okey, so change image such that it doesn't use ipv6 by default. For example, put sysctl net.ipv6.conf.all.disable_ipv6=1 to start up scripts. I don't want wget to fail. In fact, I attempted to run debootstrap in this system, debootstrap called wget and wget failed, I don't want this