Error in IE 11 (Windows 8)

I use EQCSS 1.3.0 with npm and webpack. It's working great in Chrome, FF, and Safari. But I encounter the following error in IE 11 (Windows 8):
Object doesn't support property or method 'throttle'

This happens because Line 853 calls the EQCSS.throttle() function which isn't known to IE 11 so far:
EQCSS.domReady(function(){
  EQCSS.load();
  EQCSS.throttle();
});

A simple fix (verified) is to move Line 851-854 to after the definition of EQCSS.throttle  = function() {...}.
Our project is on hold due to this error. Please fix it, thank you!

Hi @eye8, I'm testing this in IE11 with EQCSS v1.3.0 and I can't seem to reproduce the error.
Do you see the same error when you load EQCSS outside of your webpack workflow? For example, is the problem still there in IE11 if you use the CDN-hosted version from https://cdnjs.com/libraries/eqcss ?

Hi @tomhodgins , thanks a lot for the quick response. I didn't use/test the CDN release because I am writing a plugin based on the open source JWPlayer which makes me follow their practice. Please see the following dev page. I am having the issue being described in IE 11 in Windows 8.
https://dev-nlt.tc-library.org/static/lib/vendors/vialoguesplayerhtml5/vialoguesplayer/
Thank you.

For troubleshooting I have three different questions:

Can you try testing using the CDN just for EQCSS and see if the error is still there?

I'm looking at the vialoguesplayer page in IE11 in windows 8 and I don't see the error. What can I do to reproduce the error you are seeing?

Does using this source code fix problem you're seeing? http://staticresource.com/eqcss/EQCSS.js

Hi, I can confirm if I use the file from the CDN (https://cdnjs.cloudflare.com/ajax/libs/eqcss/1.3.0/EQCSS.js) I don't have the issue. It only occurs if I include the EQCSS plugin in my webpack export. And I can also confirm the same error happens in both IE 11 (Windows 8) and Edge (Windows 10). Below is a screenshot:
https://dev-nlt.tc-library.org/static/lib/vendors/vialoguesplayerhtml5/vialoguesplayer/ie-edge-error.png
So it looks like to have something to do with webpack. Anyway, I can't use the CDN as I explained earlier. If I modify your src code so that the domReady callback comes after defining throttle (like in http://staticresource.com/eqcss/EQCSS.js you just gave), the IE error will be gone. Here is my exported file containing your fixed plugin (sorry you have to beautify it in order to read):
https://dev-nlt.tc-library.org/static/lib/vendors/vialoguesplayerhtml5/bin-release/plugin.vialogues.js
Thanks for the help.

Hi @tomhodgins , I am wondering how's it going with this issue? Were you able to replicate my error in IE?
I am able to dig on the error a bit more today. The same error also occurs when the EQCSS.min.js file (v.1.3.0) is acquired via Javascript, but will not occur in the fixed version http://staticresource.com/eqcss/EQCSS.js. Tested in Windows 10, IE Edge. You can test with the following example code:
    var eqcssScript = document.createElement('script');
    eqcssScript.type = 'text/javascript';
    eqcssScript.src = 'https://cdnjs.cloudflare.com/ajax/libs/eqcss/1.3.0/EQCSS.min.js'; // error will occur
    //eqcssScript.src = 'http://staticresource.com/eqcss/EQCSS.js'; // error will not occur
    document.head.appendChild(eqcssScript);

Will you please release a fix? Thank you very much.

Thanks for the troubleshooting info, I'm going to try to reproduce this and hopefully push out 1.3.1 soon with a fix :)

Hi @eye8, I've just pushed out a tiny patch in version 1.3.1 for this - let me know if this fixes the problem you're having with webpack! ｡◕‿◕｡

@tomhodgins With v.1.3.1 everything works beautifully in IE Edge and 11. Thank you very much for the help!

Glad to hear @eye8! Hope you have fun building with it (ᵔᴥᵔ)

@eye8 do you mind sharing your webpack config? are you using css-loader?modules

@ctaepper No I don't mind. See below:
webpack.config.js:
const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');

var uglifyJsOptions = {
    screwIE8: true,
    stats: true,
    compress: {
        warnings: false
    },
    mangle: {
        toplevel: true,
        eval: true,
        except: ['export', 'require']
    }
};
var pluginDependencies = [
    './src/js/utils/underscore',
    // other dependencies
    './node_modules/eqcss/EQCSS.js' // load EQCSS at the end so as to parse all dynamically inserted styles in previous scripts
];

module.exports = [
  {
    name: 'debug',
    entry: {
      'my.plugin': pluginDependencies
    },
    output: {
      path: './bin-debug',
      filename: '[name].js',
      chunkFilename: '[id].js',
      publicPath: '/'
    },
    externals: {
      jquery: 'jQuery',
      jwplayer: 'jwplayer'
    },
    module: {
      loaders: [
          {
              test: /\.html$/,
              loader: 'handlebars-loader'
          },
         {
           test: /\.css$/,
           loaders: ['css-loader']
         }
      ]
    },
    plugins: [
      new webpack.ProvidePlugin({
        $: 'jquery',
        jQuery: 'jquery'
      }),
      new ExtractTextPlugin('[name]-[chunkhash].min.css', {
        allChunks: true
      })
    ],
    devtool: 'source-map',
    debug: true
  },
  {
    name: 'release',
    entry: {
      'my.plugin': pluginDependencies
    },
    output: {
      path: './bin-release',
      filename: '[name].js',
      chunkFilename: '[id].js',
      publicPath: '/'
    },
    externals: {
      jquery: 'jQuery',
      jwplayer: 'jwplayer'
    },
    module: {
      loaders: [
          {
              test: /\.html$/,
              loader: 'handlebars-loader'
          },
         {
           test: /\.css$/,
           loaders: ['css-loader']
         }
      ]
    },
    plugins: [
      new webpack.ProvidePlugin({
        $: 'jquery',
        jQuery: 'jquery'
      }),
      new ExtractTextPlugin('[name]-[chunkhash].min.css', {
        allChunks: true
      }),
      new webpack.optimize.UglifyJsPlugin(uglifyJsOptions)
    ],
    watch: false,
    progress: false
  }
];

I also created a separate file eqcss_styles.css for my EQCSS styles. For example:
@element ".my-element" and (max-width: 580px) {
    $this .site-logo {
        margin-bottom: 10px;
    }
}

Note you have to use the .css extension so that the npm module extract-text-webpack-plugin can extract its contents. I tried .eqcss but it did not work.
Then, in my.plugin.js, you have:
var responsiveStyles = require('path/to/eqcss_styles.css');

define([], function() {
    // ...
    var eqcssTag = document.createElement('script');
    eqcssTag.type = 'text/eqcss';
    eqcssTag.innerHTML = responsiveStyles;
    document.head.appendChild(eqcssTag);
});

You don't need to require the EQCSS script in my.plugin.js. It doesn't export itself for us to use anyway. EQCSS will traverse the whole DOM and parse the EQCSS styles by itself once EQCSS.js is loaded into the DOM. However I'd recommend the EQCSS developer to consider adding the support for exporting so that we can call the EQCSS.parse() method as needed.
Hope it helps.

Hi @eye8! I am not much of a Node user myself, so originally I was publishing so NPM users had a way to grab the latest version.

I'd recommend the EQCSS developer to consider adding the support for exporting so that we can call the EQCSS.parse() method as needed.

I was looking at Node stuff recently and wondering what/how people might want to use it better with NPM, but I don't know what I would change or add to do this! Any ideas, or examples of plugins doing what you describe here?

Hi @tomhodgins, I am glad you are tracking my ticket! In webpack, you need to call module.exports = EQCSS; in your file so that people can import your plugin into their own scripts. You probably need to refactor your code to some extent so that you can expose certain methods but not others. But it shouldn't take too much time.
A good example you can look into is clipboard.js. I used this little gem in the same project where I used yours. And it's straightforward enough so that you can see its structure easily.
My standpoint of making the previous suggestion is if we cannot call EQCSS.parse() ourselves, we have to load EQCSS after all styles are loaded or dynamically inserted. This is not flexible. What's more, node users probably would think your plugin does not work when they see an empty object when they import EQCSS with require or define.

I'm not quite sure I understand so I'm going to ask some questions:

you need to call module.exports = EQCSS; in your file so that people can import your plugin into their own scripts

When people are 'importing' the plugin what is happening? Is the blob of JS being concatenated with a bunch of other JavaScript, is your build process dissecting the EQCSS plugin and rearranging the code within your app?

You probably need to refactor your code to some extent so that you can expose certain methods but not others.

The idea with EQCSS was to be as close to the browser as possible. The idea is that as long as the JS is present in the HTML, it will run and it will behave as though the browser supports those features natively. Why would the methods inside EQCSS need to be exposed? You are already able to call things like EQCSS.load(), EQCSS.throttle() and EQCSS.apply() to load new styles, request a recalculation of the styles no more frequently than every 200 ms, or request a recalculation immediately. Does this do what you need?

My standpoint of making the previous suggestion is if we cannot call EQCSS.parse() ourselves, we have to load EQCSS after all styles are loaded or dynamically inserted.

I'm not 100% sure if this works for what you need, but does running EQCSS.load() after those styles are applied work?

node users probably would think your plugin does not work when they see an empty object when they import EQCSS with require or define.

Yeah that's what I was thinking when I updated the 1.4.0 release - the test command doesn't do anything, and if people are expecting it to be a javascript library instead of a frontend plugin there's nothing telling them to put the code in their JS somewhere. How could I go about notifying Node users like this or having the code do what they are expecting. Would we have to have a separate version on NPM than we would host on a CDN?
Thanks so much :) I'll check out the clipboard source, and a friend told me you might be talking about the Common JS module style, so I'll read about that too and see if what you're saying makes sense!


archive/tar: rounding timestamps to the nearest second may result in archives from the future

when a tar archive, generated by archive/tar/writer.go, is extracted immediately,
tar shows warnings that some timestamps are in the future
downstream issue: https://github.com/ipfs/go-ipfs/issues/8406
downstream workaround: https://github.com/ipfs/go-ipfs-files/pull/41
probably here, Floor should be used
https://github.com/golang/go/blob/b86e8dd0f3a27bc9577690523c9feeb25593bec7/src/archive/tar/writer.go#L83-L92

I don't think there's a right answer here. The current logic is entirely reasonable as it optimizes for accuracy at the cost of occasionally being in the future for 500ms. The suggested logic is 500ms less accurate, but avoids being in the future. Both are reasonable and I don't think it's a compelling reason to change, since this will probably break many use-cases that have come to depend on archive/tar for deterministic outputs (see Hyrum's Law).
Have you considered using FormatPAX? That supports high-precision timestamps and may entirely avoid this problem. Also, whatever is flagging archives from the future should probably tolerate an error on the same order as the smallest representable time unit (1s in this case).

this will probably break many use-cases that have come to depend on archive/tar for deterministic outputs (see Hyrum's Law).

yepp, api consumers hate surprises
its just unexpected behavior, cos usually float-to-int casts mean rounding down

Have you considered using FormatPAX? That supports high-precision timestamps and may entirely avoid this problem.

workaround in ipfs: pass integer time to archive/tar
 func writeFileHeader(w *tar.Writer, fpath string, size uint64) error {
 	return w.WriteHeader(&tar.Header{
 		Name:     fpath,
 		Size:     int64(size),
 		Typeflag: tar.TypeReg,
 		Mode:     0644,
-		ModTime:  time.Now(),
+		ModTime:  time.Now().Truncate(time.Second),
 	})
 }

whatever is flagging archives from the future should probably tolerate an error on the same order as the smallest representable time unit (1s in this case).

yes. in this case nixos unpackFile → _defaultUnpack → tar xf "$fn"
this should be tar xf "$fn" --warning=no-timestamp
thanks! : )
closing

That seems like an entirely reasonable and easy workaround.


Role issue

Avoid re-assignments xxx = xxx.WithRole(xxx).
Enable modifies-value-receiver rule(this was the only error)

In Golang, c2 = WithContext(c1) means c1 is unchanged and returns a new c2.
So WithRole seems not following the naming style here. Perhaps we can think a new name for it.

Avoid re-assignments xxx = xxx.WithRole(xxx).
Enable modifies-value-receiver rule(this was the only error)

I against this. Int is efficient enough. We don't need the pointer. No benefit from the refactor.

Or could we just disable the lint for RoleDescriptor? The old code seems fine. :)

The old code seems fine. :)

The old code is fine indeed, after applying the suggestion from lunny(which is the actual correct fix for the linter).

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@4da2eab). Click here to learn what that means.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main   #18093   +/-   ##
=======================================
  Coverage        ?   44.87%
=======================================
  Files           ?      824
  Lines           ?    91581
  Branches        ?        0
=======================================
  Hits            ?    41097
  Misses          ?    43891
  Partials        ?     6593

Impacted Files
Coverage Δ

models/issue_comment.go
52.40% <100.00%> (ø)

Continue to review full report at Codecov.

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


Source evm_production (for RPM based appliance)

evm_production will be created by RPM, to allow customized path for APPLIANCE_SOURCE_DIRECTORY and APPLIANCE_TEMPLATE_DIRECTORY
Depends on https://github.com/ManageIQ/manageiq-appliance-build/pull/415

Jansa backport details:
$ git log -1
commit 2c69da49a6e42adab1dd395e5c2878bc4ea771ce
Author: Jason Frey<EMAIL_ADDRESS>Date:   Thu May 28 11:35:32 2020 -0400

    Merge pull request #283 from simaishi/evm_production

    Source evm_production (for RPM based appliance)

    (cherry picked from commit a1ba7b9b1bb91de046d93b6cd834e05a27f4e54f)


Process entries with duplicated SV and timestamp in NAV3

A new sv of the form sv_n (where n is an increasing counter) is created to store the duplicated entries, as many times as needed.
This is useful for Galileo, where we have different ephemeris coming from different bands.
These have slightly different data.

fixes #48


Make sure that generated CXX code compiles

Currently for a basic example like Factorial, we did not generate compilable C++ code.
This PR fixes that, by doing two things:

ensuring the name of the module and the names of the written files match (don't include "Main.h", when we generate "main.h")
When the program contains a main function, add a top-level main function in the generated CXX code that just calls the one from the appropriate module.

Looking at this PR, with the current translation of types, the only thing that I would change (more or less) is the example.
To properly fix the example, we need to change how we generate code for basic types. We agreed that this will be done soon after.

Err,

Abandoing in the favor of #322
It was easier to start over than to do the merge, and then make the required changes


Refactor api docs

Changes done:

Updated the results format
Removed the logo as it was not visible after the deployment

Can one of the admins verify this patch?

ok to test


Fix bug in find-godeps

go list {{.Imports}} outputs imports as an array, and the leading and trailing square brackets can get caught in the name of a package.  Added a pipe in the dependency command to remove the brackets

LGTM

@mrunalp @runcom PTAL, seems like a simple one to get in.

@rhatdan Reviewing..

There is an issue in the template:
[root@dhcp-16-129 cri-o]# ./hack/find-godeps.sh $GOPATH/src/github.com/kubernetes-incubator/cri-o server github.com/kubernetes-incubator/cri-o
template: main:1: function "n" not defined
 server/config.go server/container_attach.go server/container_create.go server/container_exec.go server/container_execsync.go server/container.go server/container_list.go server/container_portforward.go server/container_remove.go server/container_start.go server/container_status.go server/container_stop.go server/container_updateruntimeconfig.go server/image_list.go server/image_pull.go server/image_remove.go server/image_status.go server/naming.go server/runtime_status.go server/sandbox.go server/sandbox_list.go server/sandbox_remove.go server/sandbox_run.go server/sandbox_status.go server/sandbox_stop.go server/server.go server/utils.go server/version.go

LGTM

LGTM


[BUG] CDKGraph with CdkGraphDiagramPlugin not generating diagram

Describe the bug
Generating a graph with CdkGraphDiagramPlugin throws an error on the step build » post-compile » synth:silent | cdk synth -q.
Expected Behavior
Expected cdk.out directory to contain generated diagrams.
Current Behavior
Current error thrown:

 Instead change the require of index.js in<EMAIL_ADDRESS>to a dynamic import() which is available in all CommonJS modules.

Reproduction Steps
(async () => {
  const app = PDKNag.app();
  const graph = new CdkGraph(app, {
    plugins: [new CdkGraphDiagramPlugin()],
  });

  const pipelineStack = new PipelineStack(app, "PipelineStack", {
    env: {
      account: process.env.CDK_DEFAULT_ACCOUNT!,
      region: process.env.CDK_DEFAULT_REGION!,
    },
  });

  const devStage = new ApplicationStage(app, "Dev", {
    env: {
      account: process.env.CDK_DEFAULT_ACCOUNT!, // Replace with Dev account
      region: process.env.CDK_DEFAULT_REGION!, // Replace with Dev region
    },
  });

  pipelineStack.pipeline.addStage(devStage);

  const stagingStage = new ApplicationStage(app, "Stg", {
    env: {
      account: process.env.CDK_DEFAULT_ACCOUNT!, // Replace with Dev account
      region: process.env.CDK_DEFAULT_REGION!, // Replace with Dev region
    },
  });

  pipelineStack.pipeline.addStage(stagingStage, {
    pre: [
      new ManualApprovalStep("Pre-Staging Check", {
        comment: "I confirm that I am deploying to the staging environment.",
      }),
    ],
  });

  // Add additional stages here i.e. Prod

  pipelineStack.pipeline.buildPipeline(); // Needed for CDK Nag
  app.synth();
  await graph.report();
})().catch(err => console.error(err));

Additional Information/Context
Project is using CommonJS
PDK version used
1.31.0
What languages are you seeing this issue on?
Typescript
Environment details (OS name and version, etc.)
MacOS Monterey 12.6.2 (21G320)

I have updated cdk-graph and cdk-graph-plugin-diagram tests to cover pdk pipelines, and unable to reproduce this error.
https://github.com/aws/aws-prototyping-sdk/pull/272

@em-xqm Can you run yarn why cross-spawn in your project root, and paste the output here.
For reference I get<EMAIL_ADDRESS>across several packages.
=> Found<EMAIL_ADDRESS>info Reasons this module exists
   - "_project_#eslint" depends on it
   - Hoisted from "_project_#eslint#cross-spawn"
   - Hoisted from "_project_#@commitlint#cli#execa#cross-spawn"
   - Hoisted from "_project_#npm-check-updates#spawn-please#cross-spawn"
   - Hoisted from "_project_#eslint-import-resolver-typescript#synckit#@pkgr#utils#cross-spawn"
...
=> Found "<EMAIL_ADDRESS>info Reasons this module exists
   - "_project_#@aws-prototyping-sdk#cloudscape-react-ts-sample-website#eslint" depends on it
   - Hoisted from "_project_#@aws-prototyping-sdk#cloudscape-react-ts-sample-website#eslint#cross-spawn"
   ...
=> Found "<EMAIL_ADDRESS>info Reasons this module exists
   - "_project_#@aws-prototyping-sdk#cdk-graph-plugin-diagram#execa" depends on it
   - Hoisted from "_project_#@aws-prototyping-sdk#cdk-graph-plugin-diagram#execa#cross-spawn"
   ...

Pretty sure we found root cause. Package cdk-graph-plugin-diagram has dependency<EMAIL_ADDRESS>but with yarn resolution of<EMAIL_ADDRESS>Since yarn resolutions are not respected for outside of development workspace (prod installs), this resolution override gets ignored, resulting in ^6.1.0 which does not support CommonJs.
@em-xqm For now you can patch your workspace by adding yarn resolution to your root package.json
  "resolutions": {
    "execa": "^5.1.1"
  },

I will look into solving this and define the right pattern for updating dependencies during auto dep scripts.


Helmify

Let's add a Helm chart, and use it to iterate from Dev to Prod with a Pipeline

We'll come back later for the pipeline stuff. Right now we're going to try the latest and greatest, OCI Helm chart publisher


'amass_30fps_legacy_db.pt'

Could you kind share the file 'amass_30fps_legacy_db.pt' to me ? I can not correctly get it.

I can't because of copyright issues. Please send me an email.

thank you very much!
<EMAIL_ADDRESS>

thank you very much! you are my life saver!


webpack-dev-server not working with Webpack 4+

Info:
"webpack": "^4.4.1",
 "webpack-cli": "^2.0.13",
"webpack-dev-server": "^2.11.2"

Node: v8.10.0
Npm: 5.6.0
Config:
devServer: {
           contentBase: path.join(__dirname, "dist/app"),
           index: 'index.html',
           compress: true,
           port: 9000,
           allowedHosts: [
               'https://fonts.googleapis.com'
           ]
       },

What is the current behavior?
After running npm script webpack-dev-server --port 3000
I getting this:
> webpack-dev-server --port 3000

module.js:549
    throw err;
    ^

Error: Cannot find module 'webpack/bin/config-yargs'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (************\node_modules\webpack-dev-server\bin\webpack-dev-server.js:54:1)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)

What is the expected behavior?
Must work, damn it :)

Thanks for your report. It would be great if you reduce your issue to a small reproducible example. Best put this example into a github repository together with instructions how to get to the problem.

webpack-dev-server v2 requires webpack v3.

Not sure if this issue was resolved for you @FlamesoFF but I had the same problem. I've got webpack 4.6.0 and after reinstalling webpack-cli 2.0.15 it worked. Maybe uninstalling the package and reinstalling would do it for you.

I can confirm, somehow maybe it's related.
Watching my files was not working anymore, since update to webpack-cli 2.0.15
I did that:
yarn remove webpack-cli
yarn add webpack-cli

And it's working again.

@ooflorent It was confusing, because at that moment the command npm install webpack-dev-server@latest gave me version something 2.x.x, but not 3.0.0.
That''s very strange at all, that your official plugin not synchronized with the webpack itself.
Or if it's not official, why you haven't your own? That's very bizzare development approach, I would say.

Change the following webpack versions to:
"webpack": "^4.32.2",
"webpack-cli": "^3.3.0",
"webpack-dev-server": "^3.11.0"
Run npm remove webpack webpack-cli webpack-dev-server
Run npm install
hope this help.


fix view focus property in get_tree json

This changes how the focused property is set on views in the get_tree JSON response. Previously, all views in a focused parent container were marked as focused; now only the focused view is.

Hm, this may need further work, actually. I'm not sure I fully understand how the focus chain works.

Updated. To get the focused view from the tree, recursively search from root to a view where every child has a "focused": true attribute. If any container in the chain is not focused, keep searching. In this (shortened) example, view4 is the focused view:
{
   "name": "root",
   "nodes": [
     {
       "name": "output1",
       "nodes": [
         {
           "name": "workspace1",
           "focused": true,
           "nodes": [
             {
               "name": "view1",
               "focused": false,
               "nodes": []
             },
             {
               "name": "container1",
               "focused": true,
               "nodes": [
                 {
                   "name": "container2",
                   "focused": false,
                   "nodes": [
                     {
                       "name": "view2",
                       "focused": true,
                       "nodes": []
                     },
                     {
                       "name": "view3",
                       "focused": false,
                       "nodes": []
                     }
                   ]
                 },
                 {
                   "name": "view4",
                   "focused": true,
                   "nodes": []
                 }
               ]
             }
           ]
         }
       ]
     },
     {
       "name": "output2",
       "nodes": [
         {
           "name": "workspace2",
           "focused": false,
           "nodes": []
         }
       ]
     }
   ]
}

This behavior makes sense to me but should definitely be reviewed to make sure it is "correct."

Discussion on IRC with @Hummer12007 has revealed i3's tree response has only a single focused container. So our tree response is not currently i3-compatible and this PR will not make it so.

Third revision: tree now only has a single focused container which should match the i3 tree model.

This solution isn't very effecient. It's going to traverse the tree for every container in the response.
Just do this: if this container isn't a C_VIEW, then false. Otherwise, go up the parents until you either hit the root container (true) or a parent whose focused property doesn't match where you just came from (false).

The focused container is not always a view though. Sometimes it's a workspace or a non-view container.

Fair. Could you instead make this function take in the focused container as an argument and compute it before calling the function?

I get where you're coming from but passing the focused container as an argument seems a bit clunky, just because this function is called from a few different places. It could be done though - I count 4 different locations this is called. Ideally we'd have some kind of mechanism to cache the value on the first call but knowing when to invalidate the cache could be tricky.
Apparently i3 has a single global pointer to the focused container. Adding that to Sway would be non-trivial but might it be worthwhile? Maybe a root->focused_container or config->focused_container?


drop event?

Are there any similar events?
drop event? Fires when a piece is dropped?
Is there an event that is triggered after moving a piece to be able to return to the original position and compare the purpose of the move?

Events like this are not yet implemented ( https://github.com/ajax333221/isepic-chess-ui/issues/6 )
It can be done only by modifying the .js file, for the drop event one would need to modify the isepic-chess-ui.js, lines:
https://github.com/ajax333221/isepic-chess-ui/blob/9ed48c229968bc7590344f83dc2684fdc559f447/js/isepic-chess-ui.js#L493-L533
In doc.off("mouseup.icuirelease").on("mouseup.icuirelease", function(e){ ... } the line _playMoveCaller.apply(board, [[old_drg, current_bos], true]); should return the move object when a move is successfully played, otherwise it seems the value can be either Boolean false when _playMoveCaller() is not successful or the value null when the inner playMove() is not successful.
I know modifying the library itself is cumbersome, because updating it would erase the changes you make to it and things like that, but for now it's the only way until events are implemented.


support encoded urls

Might need to extend anchor to allow for encoded links, depending on response to https://github.com/yabwe/medium-editor/issues/1218

Hmm. Let's see what medium-editor says.

This is no longer required as I made a better fix in the medium-editor repo: https://github.com/yabwe/medium-editor/pull/1219


Add MAFFT to the yaml installers

Description
I want to add MAFFT, the multi-sequence alignment tool I use for the genetics pipeline, to the .yml files since it can be installed via conda-forge now.
Todos
Notable points that this PR has either accomplished or will accomplish.

[x] Add MAFFT line to yml
[ ] Fix test errors

Questions

[ ] Question 1 ..

Status

[ ] Ready to go

Developers certificate of origin

[ ] I certify that this contribution is covered by the MIT license as defined in our LICENSE and adheres to the Developer Certificate of Origin.

@mariacm12 this is now working, you didn't do anything wrong, the github runner was just being flaky.


PHP 5.4 issue with php://input

This function breaks functionality in our script, as it clears out PUT variable body so nothing is returned when our script tries to subsequently access it.
    protected function setRequestBody($config)
    {
        $this->requestBody = $this->tryGet($config, 'requestBody');

        if (!$this->requestBody) {
            $this->requestBody = file_get_contents("php://input");
        }
    }

As file_get_contents("php://input"); can only be called once in older versions of PHP.
See:
Note: Prior to PHP 5.6, a stream opened with php://input could only be read once; the stream did not support seek operations. However, depending on the SAPI implementation, it may be possible to open another php://input stream and restart reading. This is only possible if the request body data has been saved. Typically, this is the case for POST requests, but not other request methods, such as PUT or PROPFIND

Let me calrify this. In your script you're also trying to access php://input, but now it's empty since it has been already read by Rollbar SDK. Is that correct?

@ArturMoczulski yes

Solution for this is waiting to be merged https://github.com/rollbar/rollbar-php/pull/181
It's not perfect, but I don't think we can do anything more for PHP < 5.6. This PR disables reading php://input by default and allows to enable it through include_raw_request_body config option. It also saves the content of the stream in $_SERVER['php://input'] in case you still want to access it.
I hope this solves your problem @p4ul


Wiki update: Firmware install from Mac

Hi, it would be useful if you could add the following to your wiki Firmware Programming page alongside the Windows instructions:
Mac:

Download the firmware zip file from here.
Install stlink: brew install stlink
Connect your ST-Link programmer (not Greaseweazle!) to your Mac via USB.
Identify the correct HEX file for your board (F1 HEX file for Blue Pill, F7 HEX file for F7 boards).
Write the file: st-flash --reset --format ihex filename
Ensure no errors were reported

Should actually be identical on Linux as well, but I haven't tested

Done, thanks!


Methods need unecessary parameters when used in java

This is probably a really basic issue and maybe even my own mistake, but I don't get why I need parameters for methods that don't need any in kotlin?
example:
`imgui.beginGroup();
for(ModCategory category : > ModCategory.values()) {
if(imgui.button(category.name(), new Vec2(100f, 0))) {
        }
       imgui.sameLine(10, 0);
    }
    imgui.endGroup();
    imgui.separator();`

in this snippet extra parameters like spacing and x-offset are needed when in the demo it cleary shows only sameLine should work, now if I build this snippet all buttons are in the same line but they completly overlap so you basically see only one button, the same issue with tabs, specifically with tabbaritems, they require a string for the name, a kmuteable boolean, and a flag, now I really don't know why I need all this when in the demo it works without all these parameters, I know it probably is my mistake and I fail to understand something but help would be greatly appreciated.

This is unfortunately the only way to call those functions from java. Default parameters don't exist in java, and thus you do need to provide their values.
Maybe we can add the @JvmOverloads annotation to public API functions to fix this?

oh thanks, yeah that makes sense, I was just wondering since I previously only used the c++ version of ImGui and didn't need any parameters so I thought maybe I did something wrong well the tabs work now, however I still have one problem with columns:
for some reason a black bar is drawn over the tabs exactly where the borders of the columns are located, did I maybe mess something up with the flag parameters of the columns?
this is how it looks now:
https://imgur.com/a/iAhz1vh
and this is my current code:
`        if(imgui.beginTabBar("Categories", 0)) {
for (ModCategory category : ModCategory.values()) {
if (imgui.beginTabItem(category.name(), null, 0)) {
imgui.beginColumns(category.name(), 3, 0);
for (Mod mod : Stark.modManager.getModsByCategory(category)) {
if (imgui.collapsingHeader(mod.getName(), 0)) {
                    }
                    imgui.nextColumn();
                }
                imgui.endTabItem();

            }
        }

        imgui.endTabBar();
    }`

nvm. I forgot the endColumns() haha, thanks @zeroeightysix for explaining the system I think I kind of got it now :D


feat(entropy): Calculate Shannon entropy

This closes #3
Sample graph

entropy of PI

Below some graph of the entropy calculated with symbol length = 8 (1 byte).
Shannon formula $H(X) = - \sum P(x_i) \log_2 P(x_i)$
Let $C(x) = \sum\limits_{i=1}^{n} [s_i = x]$ be the number of elements $s_1, \dots, s_n$ that are equal to $x$
with $P(x_i) = \dfrac{C(x_i)}{|X|}$ is the number of occurrences of a symbol divided by the number of all symbols
I want to know the realtive entropy so I want $H(X)$ to be bounded in $[0, 1]$, I can then simply do $H_b(X) = H(X) / \log2 N, N = |X|$
zero entropy
cat pi_b2_10M_mathematica | ./bin/d2bist -rcap 1000000 encode -s -k 1 -chunk 8 -slen 8

Calculating the entropy on chunks of size equal to the symbol length results in finding only one symbol $s$ in the chunk processed and so $P(s) = 1$ it follows that $\log_2 P(s) = 0$ and finally $H(X) = 0$
cat pi_b2_10M_mathematica | ./bin/d2bist -rcap 1000000 encode -s -k 1 -chunk 128 -slen 8
In this case, we can assume that among all $128/8 = 16 = 2 ^ 4$ symbols there is a symbol $s$ occurring once, then there are $15$ symbols that are

all different, in this case $s$ will have the same effect of all other symbols
all equal

1
$H(X) = - (16 \cdot P(s)\log_2 P(s) + H(X \setminus s)) = - (16 \cdot  \dfrac{1}{16} \log_2 \dfrac{1}{16}) = - ((16 \cdot  \dfrac{1}{16}) -4)  = 4$ and $H_b(X) = 0.5$
2
$H(X) = - (P(s)\log_2 P(s) + H(X \setminus s)) = - (\dfrac{1}{16} \log_2 \dfrac{1}{16} + 15 \cdot \dfrac{1}{16}\log2 \dfrac{1}{16}) = - (-4 \dfrac{1}{16} -4 \cdot 15 \cdot \dfrac{1}{16}) =$ wait

cat pi_b2_10M_mathematica | ./bin/d2bist -rcap 1000000 encode -s -k 1 -chunk 512 -slen 8

cat pi_b2_10M_mathematica | ./bin/d2bist -rcap 1000000 encode -s -k 1 -chunk 2048 -slen 8

cat pi_b2_10M_mathematica | ./bin/d2bist -rcap 1000000 encode -s -k 1 -chunk 8192 -slen 8

cat pi_b2_10M_mathematica | ./bin/d2bist -rcap 1000000 encode -s -k 1 -chunk 16834 -slen 8

The confusion has to do with how to calculate the entropy in the following two scenario. For both, we use slen = 3 (a symbol is a triplet of bits) the only difference is the chunk length on which the entropy is calculated.
s1 = 000 001 010
s2 = 000 001 010 011 100 101 110 111
Since all symbols are different, it might make sense to consider
X = {000, 001, 010} in the first case and X = {000, 001, 010, 011, 100, 101, 110, 111}
in this case both $H_N(X_{s1})=1$ and $H_N(X_{s1})=1$
But since we are in the context of data. I want to stay consistent and don't limit X to an alphabet specific for each instance but rather to consider all possible values of each symbol, so $|X| = 2^{slen}$.
With this in mind $H_N(X_{s1}) < H_N(X_{s2})$ for the simple fact that $s2$ contains all possible symbols (all bits triplets) and hence it's entropy has to be larger than $s2$


build: fix turbo clean

reverts #1045 #1046 in favor of turbo clean
not sure how to repro the original issue to verify this approach works
if this doesn't work, another possible option is to have the mud codegen step (build:mud) do a rimraf src/codegen before running, so its part of the turbo build cache

Conceptually, if we clear the artifacts in the setup step, wouldn't we always have to rebuild, so we could never benefit from the turbo cache in CI? If so, I feel like it would be sufficient to do a full clean+rebuild in one action (eg. "Build and validate artifacts") and use the cache in all other actions

Conceptually, if we clear the artifacts in the setup step, wouldn't we always have to rebuild, so we could never benefit from the turbo cache in CI? If so, I feel like it would be sufficient to do a full clean+rebuild in one action (eg. "Build and validate artifacts") and use the cache in all other actions

My understanding when running this locally is that the build is still cached. I can run pnpm clean and pnpm build and the 2nd or 3rd time the build is run, it'll be fully cached. I think the difference is it starts the build from a clean output, so the cached output should be a little more accurate/what is intended? I can't say for sure without a repro case.
I can also see it being useful to have an uncached build in CI to ensure we get fully accurate results, and it should probably be tied to the same job that does releases so we can ensure a clean and complete set of artifacts for npm, etc.?
(I don't feel strongly about any of this, just thought I'd take a stab at trying to teach turbo a bit more about our intentions to see what the results were.)

after #1057 is merged, I could potentially just use this PR as a revert for adding the "clean" steps in CI, since we shouldn't really need em anymore (pretty much all builds are either gitignored or clean themselves)


[FEATURE] Load demo data from the currently selected language

Is your feature request related to a problem? Please describe.
This is not a problem but I think a cool improvement that the app could have.
Describe the solution you'd like
When loading the demo data, a check for the currently selected language could be made and the loaded demo data could be one in that language.
Describe alternatives you've considered
I can provide demo data for the spanish language and can implement this feature if you think it makes sense.
Additional context
This is an amazing project, thanks for working on it!

Yes, that's a good idea. Can it be implemented? Thank you!

I had that about this when building the app initially, but the issue is just that translations are user-provided, meaning people would have to take time out from their life to translate the already existing ~120 or so keys into their language to be able to get this out there.
Demo Data consists of majorly company names and some descriptions, which indeed will vary with language, but will also be a huge struggle to translate. Imagine having to redo an entire resume, and it's not even your own. I didn't want to overload the individual language contributors with so many keys to have to translate.
That being said, I'm not opposed to the idea. If anyone wants to create a PR with just this file (https://github.com/AmruthPillai/Reactive-Resume/blob/main/server/src/resume/data/sampleData.ts) translated in their language, I should be able to write the migration to load this new data instead of english.

Thanks for your input! Will try to translate to spanish and create a PR in my free time!


Modifications

Set value to cleanupSubscription field

Documentation
Check the box below and label this PR (if you have committer privilege).
Need to update docs?

[x] no-need-doc

@nodece Could you please help add a test?

@codelipenghui yeap, I will continue to debug with terraform-provider-pulsar to improve this and make a test for this.

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

@nodece Looks like duplicated with https://github.com/apache/pulsar/pull/12450?

@codelipenghui We did the same thing.

@nlu90 Please help review this PR.


Event cancelling for manipulators

Add in event cancelling for manipulators.
Paste this in the netlify demo console and then you can use ESC (at least on Chrome) to test moveNewHandle, moveHandle and moveAllHandles:
const cancelActiveManipulatorsForElement = cornerstoneTools.getModule(
  'manipulatorState'
).setters.cancelActiveManipulatorsForElement;

const enabledElements = cornerstoneTools.store.state.enabledElements;

enabledElements.forEach(element => {
  element.addEventListener('keydown', evt => {
    if (evt.keyCode === 27) {
      cancelActiveManipulatorsForElement(element);
    }
  });
});

Only cancelation of moveNewHandle will solve these issues.
Note that not all tools use manipulators, other tools would ideally be switched to use them (e.g. freehand tool, bidirectional tool).

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Create Inventory Pick/Movement - OnBeforeMakeHeader

Hi, can we get the above added to codeunit 7322 "Create Inventory Pick/Movement" allow user to bypass this
local procedure MakeHeader()
var
	IsHandled: Boolean;
begin
	OnBeforeMakeHeader(WhseActivHeader, IsHandled, AutoCreation);
	if IsHandled then
		exit;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


feat: make canViewerDeleteAsync recursive

Why
canViewerDeleteAsync historically just checked the privacy policy on the single entity, but didn't check the cascading deletion behavior of all entities that were being deleted. This could result in false-positives and was more an approximation of whether an entity could be deleted.
This PR fixes this bug by recursively traversing the deletion cascades in the same way that EntityMutator does and returning the conjunction of the can deletes.
How
In addition to updating the behavior, this moves the functions out of the entity this type for class inference and makes the invocation explicit. This is so the function can be used recursively on a unknown entity type (whereas calling functions with explicit this parameter type need to be called on a concrete type to typecheck correctly).

Add tests
Update utility method to support edge behavior.

Test Plan
Ensure tests pass.
Next steps
One pattern we're seeing more of is needing to process large amounts of data during deletions. I'm still figuring out how to codify this in the entity library, but likely we'll want something like the following:
In background job (not in web request since it processes too much data):

Call canViewerDeleteAsync for object X which we want to delete asynchronously. W may need some sort of memory limiter like promise-limit.
Manually delete objects that would be deleted in a cascade off of X. Do this in batches to avoid overloading DB/memory/etc.
Then call delete on X, which no longer has as many cascades to process and therefore can be done in a single call.

Loadless privacy policy evaluation: I was thinking about entities where the privacy policy doesn't depend on the entity itself ("only super users can edit this") or the doesn't depend on the viewer ("everyone can view this public object"). In the former case, we don't need to load the entity (hence a class method instead of instance method). And we'd be able to coalesce privacy policy checks (if we have 100 entities of the same type and the privacy policy is a class method, we can just evaluate the privacy policy once and know the answer for all 100 entities).
Memoization: That's a good point about cascading delete reasons being different.


Implement front-end health check

Gitlab check Gitaly via google.golang.org/grpc/health/grpc_health_v1 by startup.
If Gitlab doesn't get positive health check response, it fails to start.
Let's implement stub health check rpc, that always responses positive.

@stepanvalyavskiy 2 puzzles #122, #123 are still not solved.


Event tracking

please add capability to fire user callbacks from specific events, so a user implementing one of your examples can customize as such:
enum sidEvent {
  SID_NEW_TRACK,
  SID_START_PLAY,
  SID_END_PLAY
};

void myCallback(  sidEvent event ) {
  switch( event ) {
   case SID_NEW_TRACK:
     Serial.printf( "New track: %s\n", sid.getFilename() );
   break;
   case SID_START_PLAY:
     Serial.printf( "Start play: %s\n", sid.getFilename() );
   break;
   case SID_END_PLAY:
     Serial.println("End of track");
   break;
  }
}

... and add it from the setup() by doing something like this :
sid.onEvent = &myCallback;

the performance curlpit can be avoided by doing so in a non-blockable fashion (ex: throwing the callback in another task queue on the other core or using a time budget)

done


Support Strada

This PR depends on #53 and #44. Because of this reason, please review last three commits only!
Summary
This PR resolves #41: it adds support for defining Strada components. Instead of adding strada-android and strada-ios to react-native-turbo, all JavaScript injections, event management, and component handling are performed on the React Native side.

I think we could consider implementing the Form and potentially the Menu + Overflow + Menu Strada components as in the example app. This would enable us to point the example app to the official Turbo Native server (https://turbo-native-demo.glitch.me) and remove the example/server directory 🎉


[Snyk] Upgrade async-lock from 1.3.1 to 1.3.2

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade async-lock from 1.3.1 to 1.3.2.

:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 1 version ahead of your current version.
The recommended version was released a day ago, on 2022-06-25.

Release notes

Package name: async-lock

1.3.2 - 2022-06-25

1.3.1 - 2022-02-04No content.

    from async-lock GitHub release notes

Commit messages

Package name: async-lock

9df2983 v1.3.2
047a2f1 Finalize PR #52 on not mutating batch keys
df937d8 Bugfix and more tests for error handling PR
6476bae Merge pull request #54 from taschmidt/master
580c012 Merge pull request #52 from simeonborko/issue-51-uncaught-error
80da9dd Unit test formatting
dcaa47f test.js: Error handling for callback mode
e41edea Change acquireBatch not to mutate (fixes #53)
4a9c056 issue #51: Uncaught Error in callback mode
955597c Merge pull request #49 from joeschneider32/patch-1
7c5d0ef Add further description for timeout, maxOccupationTime, maxPending

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Coverage remained the same at 98.94% when pulling bb1ceddfedaad03a3c2b67d383eea552fa111ee8 on snyk-upgrade-1755e291f15c044a6e54a347bebecef7 into e8e6dee85fa05460f2770fd02ce8045272290e1d on master.

Coverage remained the same at 98.94% when pulling bb1ceddfedaad03a3c2b67d383eea552fa111ee8 on snyk-upgrade-1755e291f15c044a6e54a347bebecef7 into e8e6dee85fa05460f2770fd02ce8045272290e1d on master.


Latency improvement

Currently, the client can only get responses after the task downloader finishes this task. Tasks of large files may lead to high latency.

User requests are proxied and cache tasks are spawned asynchronously in 74e7c1a

Close (#23)


How to download the MAPs dataset?

I apply for MAPs a fews days ago, and it response me quickly. But when I access the ftp url, "550 share/maps/: Aucun fichier ou dossier de ce type" appears. If I don't get it wrong, the data is not on the path any more.
So can you tell me how to download the MAPs?
Thanks very much!

I have also received the same message. Did you get any solution?


Direct shared gallery share with sub example command is incorrect

In the example in the following link, there is parameter “--gallery-image-definition” which is not supported when adding share and needs to be removed otherwise the command will not succeed.
https://learn.microsoft.com/en-us/cli/azure/sig/share?view=azure-cli-latest
az sig share add --resource-group MyResourceGroup --gallery-name MyGallery
--gallery-image-definition MyImage
--subscription-ids subId1 subId2 --tenant-ids tenantId1 tenantId2
Related command

Is your feature request related to a problem? Please describe.

Describe the solution you'd like

Describe alternatives you've considered

Additional context

@zhoxing-ms for awareness


openstack-crowbar: Add Monasca TSDB choice option

The change adds Jenkins parameter to allow running tests with a
specified TSDB.

Not sure if we require to document these variables? there are undocumented vars so approving for now

Done

Needs https://github.com/crowbar/crowbar-openstack/pull/2061 for the non-default choice to work.

Needs crowbar/crowbar-openstack#2061 for the non-default choice to work.

Yes, we actually wanted to get this PR merged first, so that we can test the non-default option (cassandra) in CI apart from manual testing.


tracking location required internet ??

Hi
tracking location required internet or Possible to work with gps possition without internet
Regards

It requires internet.


kundu and tree, truck tour, queries w fixed length

Solved issue #338 , #339 , #340
In Language- Python, Python, JAVA respectively

[x] Updated README Link
[x] Added code with comments

Thanks for contributing!

Please resolve conflicts

Pls see now

@Aarushi11H It's always good practice to create a new branch for each PR.


Remove Http

Issue(s)

hardcoded http
unique platform requirements
windows cURL still an issue (#130)
Direct Windows solutions:

Fix cURL building for Windows
Require cURL as a system req
Use a pkg mngr (eg Hunter)
*no pkg mngrs otherwise used in Client/Crypto

Solution
Currently, a call looks like this:
Connection<Api> connection("https://dexplorer.ark.io", 8443);
auto response = connection.api.blockchain.get();

Removing Http:
Connection<Api> connection("https://dexplorer.ark.io", 8443);
auto response = my_custom_get(connection.api.blockchain.get());
// auto whatever = my_custom_method(connections[], requests[]);

Benefits

user decides how to handle resources
doesn’t violate C++ best practices
windows issue now irrelevant
native C++
waaaaaaaaay less code and comp. overhead

Drawbacks

breaking change
users must provide handling
?

Recommendations

Remove Http internally & update unit tests
Update documentation & examples/tutorials
Target post-v3 APN & Products

Will resolve in a subsequent PR.


Send Swaps: Associate refund tx ID from onchain data

This PR

finds a list of Send Swaps that are missing the refund tx ID (i.e. the state is Failed but no refund_tx_id is recorded in the DB)
based on chain data and minimal immutable swap data (swap DB entry, ID, lockup tx ID, state), finds and persists the missing refund tx ID

Part of #373

@roeierez I rewrote the PR to use the script histories fetched from Electrum, as discussed.
This also addressed all your points above.
So input data is now:

immutable DB data (simulated, I fetch it from the current DB)
onchain data (our onchain txs from LWK)
script histories from 1 Electrum call (txs associated with every swap script)

Just needs conflicts resolving


CSRF cookies

Hi, I think it would be beneficial to include csrf cookies along with the standard jwt cookies in order to help prevent your jwt tokens from getting stolen.
You can see what flask-jwt-extended does here: https://github.com/vimalloc/flask-jwt-extended/blob/5bd8b1ed08ea64d23869a629af3c3c868816b8a8/flask_jwt_extended/utils.py#L260

If you're able to, it may be beneficial to add documentation on manually adding a user via the Databases package in a similar way to how you do in the /register endpoint for people who would like to automatically generate an admin user if there currently are none.

As far as the db stuff goes, this is what I have for creating a new user in a similar way to how the /register endpoint does. Please let me know if there's something wrong with doing things this way.
from .auth import fastapi_users, get_auth_router, cookie_authentication, database, users, user_create, UserDB, get_password_hash #this is the file that fastapi-users is initialized in.

@app.on_event("startup")
async def startup():
    await database.connect()
    users_exist = await database.fetch_all(query=users.select())
    if users_exist:
        print("users exist")
    else:
        print("no users")
        hashed_password = get_password_hash(settings.ADMIN_PASSWORD)
        base_user = UserDB(
            id = uuid.uuid4(),
            email = settings.ADMIN_EMAIL,
            hashed_password = hashed_password,
            is_active = True,
            is_superuser = True
        )
        user_created = await user_create(base_user)

This is a function in the auth.py file that just exposes the same function that you use for the /register endpoint.
async def user_create(UD):
    await fastapi_users.db.create(UD)

Hi @SelfhostedPro!
I don't see anything wrong with the code you are showing ; even if I still personally think it's better to set the superuser flag manually from the database ; but that's okay!
As for the CSRF, I'll look further into it, thanks!

I just discovered this project:  https://github.com/simonw/asgi-csrf
It's an ASGI middleware that handles CSRF protection. I'll look into this, but I think this would allow to implement this security without having to implement it in fastapi-users. If so, I'll add some documentation about how to setup it.

Is there a way to disable the stale bot on a specific issue? That looks like it would work. It's unfortunate that they haven't responded to your issue though.

Sorry! I didn't pay attention!

This got me interested in reading up on CSRF, and I thought it might be helpful to share what I learned as far as FastAPI-Users is concerned.
In short, it seems that FastAPI-Users is mostly secure against CSRF already.
Routes that are potential targets:

/logout -- but all the attacker would be able to do is cause your user to logout. Since logging out basically consists of deleting the session cookie, I'm not even sure if a browser would delete the cookie when the request originated in a different website.
PATCH /me PATCH/DELETE /{user_id} -- these would be my main concern. It could allow an attacker to update a user's password. Some barriers exist, though: the attacker wouldn't know the username, only the password that they set. So they would have to get a list of usernames and try the new password against all of them to find out which user's password they changed. Beyond that, I'm not sure that there's a way to do a CSRF attack on the PATCH method, at least in modern browsers. If you wanted to be sure, you could require the user to enter their password in order to update their account. The user update model would then have a "current_password" field, and that would be checked along with the session cookie.

Using CSRF Tokens would also protect these routes, but could be a bit tricky to implement. Unfortunately, the asgi-csrf middleware wouldn't work for this case. The problem is that you have to have a way of communicating the CSRF Token to the client that the attacker can't see, and then all forms/api clients will have to send the token. As mentioned, flask-jwt-extended accomplishes this by setting a cookie. The client would then have to read the cookie and submit the token in a separate header (that's what double submit means: the csrf token is sent back to the server both as a cookie, and manually in a custom header). Since a third-party attacker couldn't read the token in the cookie, only JS that came from the same origin would be able to submit the custom header.
The answer to this question goes over several ways that the CSRF Token can safely be communicated between the client and server, which I found helpful in understanding how it works: https://stackoverflow.com/questions/20504846/why-is-it-common-to-put-csrf-prevention-tokens-in-cookies
Here are the routes that are definitely already secure against CSRF.
Routes that don't require a session cookie to be sent:

/login
/register
/forgot-password
/reset-password
/authorize
/callback

Routes that don't change state on the server:

GET /me
GET /{user_id}


aria attributes for expandable links in Nav

A couple of aria attributes should be updated in the expandable link, to be consistent with how we're handling icons in Alerts.
Currently, the attributes tabindex and aria-disabled are included on the  that includes the toggle icon, as shown below.

        Link 1 (current and expanded example)

Instead, these attributes should be removed, and aria-hidden="true" should be added to the icon:

Hi @jgiardino! Can we close this issue?

@rachael-phillips yep, it was fixed in https://github.com/patternfly/patternfly-next/pull/876


fix: get jnlp xml from dell idrac6,7,9

这个 PR 实现什么功能/修复什么问题:
修正：获取Dell IDRAC6/7的jnlp文件失败

是否需要 backport 到之前的 release 分支:

release/3.3
release/3.4

/cc @zexi
/area baremetal-agent

Codecov Report

Merging #7975 into master will decrease coverage by 3.07%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #7975      +/-   ##
=========================================
- Coverage    8.55%   5.48%   -3.08%
=========================================
  Files         458     456       -2
  Lines       66244   78135   +11891
=========================================
- Hits         5670    4289    -1381
- Misses      60125   73464   +13339
+ Partials      449     382      -67

Flag
Coverage Δ

#aFlag
5.48% <ø> (-3.08%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/util/ansible/serializable.go
0.00% <0.00%> (-8.34%)
:arrow_down:

pkg/cloudcommon/cmdline/helper.go
38.76% <0.00%> (-6.78%)
:arrow_down:

pkg/util/bitmap/bitmap.go
34.37% <0.00%> (-6.11%)
:arrow_down:

pkg/cloudcommon/validators/errors.go
43.33% <0.00%> (-5.42%)
:arrow_down:

pkg/util/validate/days.go
75.00% <0.00%> (-5.00%)
:arrow_down:

pkg/util/imagetools/imagetools.go
43.24% <0.00%> (-4.26%)
:arrow_down:

pkg/monitor/notifydrivers/feishu/cache.go
76.47% <0.00%> (-3.53%)
:arrow_down:

pkg/cloudcommon/cmdline/parser.go
34.93% <0.00%> (-3.53%)
:arrow_down:

pkg/monitor/notifydrivers/feishu/types.go
22.22% <0.00%> (-2.78%)
:arrow_down:

pkg/cloudcommon/validators/validators_cert.go
37.06% <0.00%> (-2.71%)
:arrow_down:

... and 713 more

Continue to review full report at Codecov.

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

/lgtm
/approve


Rename useCount to useTally

useTally better represents what the hook does, which is incrementing up or down only, like tallying.

I would like to take this


fix: py.typed

This package is missing a py.typed file, so downstream projects will not
show up in mypy or other type checkers, even though it has nice .pyi
files. This adds a the token file, which will cause mypy to pick it up
and use it. See PEP 0561.
It was also missing the .pyi files from the wheel (noticeable when running
pip install build && python -m build), added include_package_data to
fix that.
Edit: Actually I ran pipx install build && pyproject-build, but that's the same thing.
Closes #318

This was attempted before in #318, apparently, but the py.typed fix as missing from that, which is quite important.

This was attempted before in #318, apparently, but the py.typed fix as missing from that, which is quite important.

Codecov Report

Merging #347 (0fa383f) into master (3f637db) will decrease coverage by 89.74%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #347       +/-   ##
==========================================
- Coverage   89.74%   0.00%   -89.75%
==========================================
  Files           5       5
  Lines        1063    1063
==========================================
- Hits          954       0      -954
- Misses        109    1063      +954

Impacted Files
Coverage Δ

toml/ordered.py
0.00% <0.00%> (-100.00%)
:arrow_down:

toml/__init__.py
0.00% <0.00%> (-100.00%)
:arrow_down:

toml/decoder.py
0.00% <0.00%> (-89.80%)
:arrow_down:

toml/encoder.py
0.00% <0.00%> (-88.33%)
:arrow_down:

toml/tz.py
0.00% <0.00%> (-88.24%)
:arrow_down:

Continue to review full report at Codecov.

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

Codecov Report

Merging #347 (0fa383f) into master (3f637db) will decrease coverage by 89.74%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #347       +/-   ##
==========================================
- Coverage   89.74%   0.00%   -89.75%
==========================================
  Files           5       5
  Lines        1063    1063
==========================================
- Hits          954       0      -954
- Misses        109    1063      +954

Impacted Files
Coverage Δ

toml/ordered.py
0.00% <0.00%> (-100.00%)
:arrow_down:

toml/__init__.py
0.00% <0.00%> (-100.00%)
:arrow_down:

toml/decoder.py
0.00% <0.00%> (-89.80%)
:arrow_down:

toml/encoder.py
0.00% <0.00%> (-88.33%)
:arrow_down:

toml/tz.py
0.00% <0.00%> (-88.24%)
:arrow_down:

Continue to review full report at Codecov.

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

Some of the type stubs look wrong too.  e.g.
def load(f: Union[str, list, IO[str]],
         _dict: Type[MutableMapping[str, Any]] = ...,
         decoder: TomlDecoder = ...) \
         -> MutableMapping[str, Any]: ...

should be
def load(
    f: Union[str, list, IO[str]],
   _dict: Optional[Type[MutableMapping[str, Any]]] = None,
    decoder: Optional[TomlDecoder] = None,
) -> MutableMapping[str, Any]: ...

I'm happy to work on this.  Any objects to pushing my updates to this PR or should I open a new one?

I'm perfectly happy to have pushes (sorry I missed this before!). One of the reasons this may have worked in the past is that type shed had toml in it, but that's going away in the future (0.900), so having these would be especially useful soon!

I too have come across this, would be really nice to get it in (and get out of Typeshed!)

Tomli and tomllib (in Python 3.11) have replaces this. So closing.


test(py): run pytest based tests as part of CI

added file ./test/python/setup.sh to setup python environment
added file ./scripts/pytest-tests.sh to run "pytest" tests
added "pytest tests" stage to Jenkinsfile

bors try

bors try

bors try

bors try


Adding dependency

go get -u golang.org/x/sys/unix
My clean install of Ubuntu didn't have this

dep ensure should be pulling the proper dependencies.

go get is not the proper way to build this.  Use dep as per the README.


[MM-23160][MM-24633][MM-24697] Highlight Group Names

REVIEW ORDER
1st: https://github.com/mattermost/mattermost-mobile/pull/4118
2nd: https://github.com/mattermost/mattermost-mobile/pull/4548
3rd: https://github.com/mattermost/mattermost-mobile/pull/4250
Waiting on
https://github.com/mattermost/mattermost-server/pull/14348
https://github.com/mattermost/mattermost-server/pull/14443
https://github.com/mattermost/mattermost-mobile/pull/4548
Summary

Highlight group names the same way we do for user mentions.
If a user is in a group and it gets mentioned, highlight it blue with yellow background.
Otherwise, a valid group mention should be blue with not yellow background.
Ticket Link

https://mattermost.atlassian.net/browse/MM-23160
https://mattermost.atlassian.net/browse/MM-24633
https://mattermost.atlassian.net/browse/MM-24697
Device Information
This PR was tested on:
OnePlus 5T
Screenshots

Logged in as Developer One (Part of groups developers and team-one)

Logged in as System Admin (Not part of any groups)

Logged in as Guest (not part of any groups)

@hahmadia is this the same as #4551 ?

Due to the messiness of this PR and all the conflicts, I'm closing this in favor of https://github.com/mattermost/mattermost-mobile/pull/4551 .


[v3] Missing function for promisify (verification email)

I am running into following error

ExceptionsManager.js:71 Error: Missing function for promisify.
at index.js:235
at tryCallTwo (core.js:45)
at doResolve (core.js:200)
at new Promise (core.js:66)
at index.js:235
at User.sendEmailVerification (auth.js:107)
at FsendEmailVerification (firebase.js:24)
at userSendEmailVerification (_user.js:10)
at _user.js:21
at tryCallOne (core.js:37)
reactConsoleErrorHandler @ ExceptionsManager.js:71
console.error @ YellowBox.js:61
(anonymous) @ _user.js:12
tryCallOne @ core.js:37
(anonymous) @ core.js:123
(anonymous) @ JSTimers.js:100
callTimer @ JSTimersExecution.js:95
callImmediatesPass @ JSTimersExecution.js:199
callImmediates @ JSTimersExecution.js:214
(anonymous) @ MessageQueue.js:214
guard @ MessageQueue.js:46
__callImmediates @ MessageQueue.js:214
(anonymous) @ MessageQueue.js:128
guard @ MessageQueue.js:46
invokeCallbackAndReturnFlushedQueue @ MessageQueue.js:126
(anonymous) @ debuggerWorker.js:71
index.js:7

This started occurring after implementing sendEmailVerification in the following way
firebase.js
import Firestack from 'react-native-firestack';

/**
 * @desc root firebase node
 * @type {Firestack}
 */
export const firebase = new Firestack();

/**
 * @desc create user with email and password
 * @param {String} [email='']
 * @param {String} [password='']
 */
export const FcreateUserWithEmailAndPassword = (email = '', password = '') =>
  firebase.auth().createUserWithEmailAndPassword(email, password);

/**
 * @desc send user verification email
 */
export const FsendEmailVerification = () =>
  firebase.auth().currentUser.sendEmailVerification();

redux actions (using redux-thunk) (_user.js)
const userSendEmailVerification = () => {
  FsendEmailVerification()
    .then(() => console.log('Email sent successfully'))
    .catch(err => console.error(err));
};

export const userCreate = (email, password, repeatPassword) =>
  (dispatch) => {
    if (VpasswordsMatch(password, repeatPassword)) {
      dispatch({ type: CREATE_REQUEST });
      FcreateUserWithEmailAndPassword(email, password)
        .then((user) => {
          userSendEmailVerification();
          dispatch({ type: CREATE_SUCCESS, payload: user });
        })
        .catch(err => console.error(err));
    } else {
      console.error('Passwords do not match');
    }
  };

Issue pops up in console, user is created but no verification email is sent
Error seems to be produced by catch statement from FsendEmailVerification
Update error screenshot

@Salakar looks like js related error to me, do you by any chance have an idea of where this is coming from? I could prob pr this bug, just having issues pinpointing source.

@IljaDaderko am guessing this is ios?
Looks like the method doesn't exist on the native ios side - hasn't been implemented, it's there on android but not ios.
@chrisbianca any chance you could work this in sometime for ios? =] Auth module on ios is just missing the sendEmailVerification method

+1, this would be very handy indeed.

@IljaDaderko @skizzo we're starting work on our ios version of our app next week, so a lot of ios things will be updated, expect changes then, we're busy at the moment prepping our android app for release this week, sorry!

Any movement on this? The Firestack user object is without the method sendEmailVerification
Is there any reason Firestack can't simply return the user that Firebase returns?

+1


Fix bug where DocC no longer emits warnings for unresolved links in article files.

Bug/issue #, if applicable:  rdar://119603319
Summary
Regression was presumably introduced in da16aa9. When the node is an article we don’t want to check the offset because is not a source file.
Before the fix, the logic was removing all problems because it wouldn’t contain an offset, falling through the else condition.
Dependencies
N/A
Testing
Steps:

From an article inside a doc catalog link to an non-existing symbol or article
Preview the doc catalog
Check the console for doesn't exist at warnings

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[X] Added tests
[X] Ran the ./bin/test script and it succeeded
[ ] Updated documentation if necessary (N/A)

@d-ronnqvist from the source code comment:
/// The documentation comes from an in-source documentation comment.
case sourceCode(location: SymbolGraph.Symbol.Location?, offset: SymbolGraph.LineList.SourceRange?)

it seems like articles were not an expected case when implemented.

@swift-ci please test

@d-ronnqvist from the source code comment:

/// The documentation comes from an in-source documentation comment.

case sourceCode(location: SymbolGraph.Symbol.Location?, offset: SymbolGraph.LineList.SourceRange?)

it seems like articles were not an expected case when implemented.

Right, that's why I suggested that we should change it.


allow launching of an externally converted course

Pre-Flight checklist

[x] Testing

[x] Changes have been manually tested

What are the relevant tickets?
None
What's this PR do?
The npm run start:course command currently only supports downloading data from S3.  This PR allows you to optionally bypass this for working with data locally converted in ocw-to-hugo manually.  This is useful for development if you are working on testing a PR with a specific branch of ocw-to-hugo.
How should this be manually tested?

Clone ocw-to-hugo, read the readme if you've never used it before and convert any number of courses
See the updated readme and example env, set your variables to point at your local copy of ocw-to-hugo and set DOWNLOAD to 0
Set OCW_TEST_COURSE to one of the courses you downloaded in ocw-to-hugo
Run npm run start:course
Verify that you don't see any log entries saying that a course is being downloaded, and ensure that the course site is available at http://localhost:3000

Functionality works great


Shortened log tag PushPlugin_BackgroundActionButtonHandler to bring u…

Description
Shortened log tag PushPlugin_BackgroundActionButtonHandler to bring under 23 character Lint requirement
Related Issue
https://github.com/phonegap/phonegap-plugin-push/issues/1702
Motivation and Context
I keep getting the error The logging tag can be at most 23 characters, was 40 (PushPlugin_BackgroundActionButtonHandler) when I build, making it impossible to use a lint check requirement in my build process.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Thanks, @macdonst !  I updated to private static String LOG_TAG = "PushPlugin_BGActionBtn".

@macdonst I updated the others as well

@mikepsinn thanks for the overdo change to the Android code. I should have done that awhile ago.

Sure!  I like to consider myself the Michael Jordan of renaming constants!  :D


[FLINK-7141][build] enable travis cache again

this re-enables the Travis CI cache with a safety net in place that should prevent failing builds because of invalid jar files:

we give each job a unique CACHE_NAME so that travis should not be the reason for invalid caches (see https://docs.travis-ci.com/user/caching/#Caches-and-build-matrices )
we quickly check all jar files in $HOME/.m2 for invalid ones and remove them (takes around 30s)

additionally, this time, we also remove all our own artefacts from the cache before uploading it
With these changes, I was able to reduce the build time below the 49min limit as long as the cache was present (the cache is only created/updated if the time limit is not exceeded). The cache will be used for our branches' builds as well as for PRs. I don't know exactly whether forked projects also benefit - the documentation at https://docs.travis-ci.com/user/caching/ does not explicitely mention this.

Forks also benefit from this.
It would be cool if we knew how much this affects the build times given that we're also adding more work (for the scanning of the cache).
Note that the travis build for the PR has several builds going over the timeout limit.

that's actually hard to know in advance - I had only 3 builds that went under the limit by chance so I was able to use the cache henceforth in those three which constantly were below the 49min. This PR's Travis build cannot even use the cache yet although it is creating one.
I don't know whether we can simulate this by simply adding another commit on top - by chance I did see something that needs change, so we will see ;)

Seems like this ain't working for a Pull Request. I also checked your local builds (https://travis-ci.org/NicoK/flink/builds/251943625 & https://travis-ci.org/NicoK/flink/builds/252022358) but it' hard to tell the difference since there still are a lot of timeouts.
I'll give this one a go tomorrow in conjunction with the profile reorganization; those builds don't time out on local builds. Maybe this gives us a better idea how much time we're buying.

to be honest, I think the cache was used in the second build of the PR as indicated by these lines (of the first build profile):
attempting to download cache archive - 3.41s
fetching PR.4293/cache-linux-trusty-cd051817889efc5ff66a50de5c44d5db4ca23a5b661872a975c2c953f95d8ab6--jdk-oraclejdk8.tgz
found cache - 0.00s
adding /home/travis/.m2 to cache - 16.77s

Also, there, the cleanup (test ! -d $HOME/.m2/repository/ || find $HOME/.m2/repository/ -name "*.jar" -exec sh -c 'if ! zip -T {} >/dev/null ; then echo "deleting invalid file: {}"; rm {} ; fi' \;) took another 36s.
Strangely, in the non-cache build, I do not see any Downloading: .../maven-metadata.xml or pom or jar file messages... my guess is that this is due to the parameter -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn? - should we disable it for testing that there are actually no new downloads with the cache in place?

yeah I disabled the logging of downloaded libraries, feel free to remove it temporarily.

Looks like with the cache it is only downloading flink artefacts from earlier versions for API comparisons (I excluded $HOME/.m2/repository/org/apache/flink/ from the cache).
Also, it seems there is no real performance gain from using the cache :( or at least the influence of the differences in the runtime of the tests is bigger so that the cache's influence is inconclusive.
With the  control over deleting corrupt caches ourselves, we could skip the .m2 repo cleanup and save another 30s there. In the end, we don't know whether corrupt repositories were caused by Travis or Maven - the settings in this PR should fix the former and the repo cleanup the latter. We could thus try removing the latter once we can delete caches ourselves.

I kind of like having automatic checks for corrupt caches. The 30s should not be a big issue.
One thing that this may give us is more stability against failed dependency downloads, which does happen not too infrequently. That would actually be nice!

We only have to check for corrupted artifacts if the build actually failed; if it succeeded we implicitly know that the artifacts are OK. This gives us the debugging benefits, without increasing the build times.

sounds like a good plan but in the past it wasn't clear where the caches got corrupted, i.e. by travis during cache restore, or by mvn during the build. If the former is still possible, we could only fix it for the next build. Should I try to introducing this technique?

Given that enabling the cache doesn't appear to improve build times I wouldn't enable it, especially since it does require more efforts for cleaning up corrupted caches. It appears there are only downsides for us to enabling it.
If we don't cache artifacts across job we don't have to worry about fixing corrupted artifacts, so that problem would be "solved".
The check is still useful though.

Once we are able to delete the travis cache on our own, we may experiment a bit more and try without the cleanup task or just running it for failed jobs.
For now, though, @StephanEwen has a point about activating the cache anyway: getting rid of the artefact download timeouts.

Not only timeouts but we're likely downloading multiple gigabytes across the 12 builds per TravisCI job.

Ok, now i agree that we should enable the cache as well.

@zentol Do you want to merge and validate this this as part of your ongoing build optimization project?

@StephanEwen yes I will take care of this.

merging.


Fix minor documentation typos

Just read through some of the the new docs in anticipation and found some minor things

Its awesome, thanks a lot @venyii


Disable flaky e2e test

Description
This has caused a few incidents from the e2e test pipeline. AB#6515 tracks fixing the test.

@clarenceli-msft FYI


need some help about form submit

Hi:
Coding with this project, I get some troubles.
How to get data from api and display data without page reload?
Are there some tips to help me?
Thank you!

If you don't want to reload the page you have to use JavaScript to post the form. This is pretty much unrelated to Spark. You could have a look at this: http://www.firstfewlines.com/post/spark-java-ajax-post-example/


Simplifies markup for checkbox validation states

Removes an unnecessary wrapper div.

#18250 cherry-picked the changes here and merged them.


pantheon.switchboard-plug-a11y: 2.2.0 -> 2.3.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for pantheon.switchboard-plug-a11y is: "Switchboard Universal Access Plug"
meta.homepage for pantheon.switchboard-plug-a11y is: "https://github.com/elementary/switchboard-plug-a11y"
meta.changelog for pantheon.switchboard-plug-a11y is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 2.3.0 with grep in /nix/store/h8kp7m3184amw2f1azmmkjph09kdbvn4-switchboard-plug-a11y-2.3.0

found 2.3.0 in filename of file in /nix/store/h8kp7m3184amw2f1azmmkjph09kdbvn4-switchboard-plug-a11y-2.3.0

directory tree listing: https://gist.github.com/339bb57cdf202db13830b0df624b20ec

du listing: https://gist.github.com/157cff936338eaa1c33c4fda0da97542

Rebuild report (if merged into master) (click to expand)

15 total rebuild path(s)

5 package rebuild(s)

5 x86_64-linux rebuild(s)
5 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
5 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
pantheon.elementary-greeter
pantheon.switchboard-plug-a11y
pantheon.switchboard-with-plugs
pantheon.wingpanel-applications-menu
pantheon.wingpanel-with-indicators

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/h8kp7m3184amw2f1azmmkjph09kdbvn4-switchboard-plug-a11y-2.3.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A pantheon.switchboard-plug-a11y https://github.com/r-ryantm/nixpkgs/archive/711eb0e45fa53d167afd98b9e5987f640cd99616.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/h8kp7m3184amw2f1azmmkjph09kdbvn4-switchboard-plug-a11y-2.3.0
ls -la /nix/store/h8kp7m3184amw2f1azmmkjph09kdbvn4-switchboard-plug-a11y-2.3.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

5 packages built:

pantheon.elementary-greeter
pantheon.switchboard-plug-a11y
pantheon.switchboard-with-plugs
pantheon.wingpanel-applications-menu
pantheon.wingpanel-with-indicators

Maintainer pings
cc @davidak @bobby285271 for testing.

Duplicate of #130380

Result of nixpkgs-review pr 135166 at 711eb0e4 run on aarch64-linux 1

5 packages built successfully:

pantheon.elementary-greeter
pantheon.switchboard-plug-a11y
pantheon.switchboard-with-plugs
pantheon.wingpanel-applications-menu
pantheon.wingpanel-with-indicators


Getting Exception thrown the second time I run my tests

This is the error message I'm getting:
Error: function () {
                var args = [];
                for (var _i = 0; _i < arguments.length; _i++) {
                    args[_i] = arguments[_i];
                }
                _this._interceptor.removeInvocation(invocation);
                var method = new MethodInfo(target, p);
                var methodInvocation = new MethodInvocation(target, method, args, ProxyType.DYNAMIC);
                _this._interceptor.intercept(methodInvocation);
                return methodInvocation.returnValue;
            }: undefined

at Function.LoadShader (src/client/util/shaderUtil.ts:37:19)
at Function.Load (src/client/util/shaderUtil.ts:13:46)
at Context.it (tests/client/util/shaderUtil.ts:26:8)

And here is my test code.
let mock: TypeMoq.IMock<WebGL2RenderingContext> = canvasHelper.WebGL2ContextMock;
sinon.spy(mock.object.linkProgram);
sinon.spy(mock.object.deleteShader);
sinon.spy(ShaderUtil.Load);

mock.setup(x => x.linkProgram).verifiable(TypeMoq.Times.once(), TypeMoq.ExpectedCallType.InSequence);
mock.setup(x => x.deleteShader).verifiable(TypeMoq.Times.atLeastOnce(), TypeMoq.ExpectedCallType.InSequence);

ShaderUtil.Load(mock.object, '#version 330 es', '#version 330 es');

mock.verifyAll();

Lastly here is my ShaderUtil class:
export class ShaderUtil
{
// #region Public Methods.
    /**
     * Loads the shader file.
     * @param {WebGL2RenderingContext} gl - The webgl context.
     * @param {string} vertexShaderText - The vertex shader file contents.
     * @param {number} fragmentShaderText - The fragment shader file contents.
     */
    public static Load(gl: WebGL2RenderingContext, vertexShaderText: string, fragmentShaderText: string): WebGLProgram
    {
        let shaderProgram: WebGLProgram = gl.createProgram();
        let vertexShader: WebGLShader = this.LoadShader(gl, vertexShaderText, gl.VERTEX_SHADER);
        let fragmentShader: WebGLShader = this.LoadShader(gl, fragmentShaderText, gl.FRAGMENT_SHADER);

        gl.attachShader(shaderProgram, vertexShader);
        gl.attachShader(shaderProgram, fragmentShader);
        gl.linkProgram(shaderProgram);

        gl.deleteShader(vertexShader);
        gl.deleteShader(fragmentShader);

        return shaderProgram;
    }
// #endregion

// #region Private Methods.
    /** Compiles the shader text and returns the shader. */
    private static LoadShader(gl: WebGL2RenderingContext, shaderText: string, shaderType: number): WebGLShader
    {
        let shader: WebGLShader = gl.createShader(shaderType);
        gl.shaderSource(shader, shaderText);
        gl.compileShader(shader);

        if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS))
        {
            throw new Error(`${shaderType}: ${gl.getShaderInfoLog(shader)}`);
        }

        return shader;
    }
// #endregion
}

It's extremely weird. I'm using mocha-webpack and the first time I run the test, it's green which leads me to believe that everything is fine but if I re-save the file without adding anything, I get the error message that I posted above.
Not sure if it's a problem with TypeMoq or Mocha-Webpack but it's extremely weird and frustrating.

You can close this. I've figured out how to fix the issue. In my canvasHelper.WebGL2ContextMock get method I was returning an already created mock object. So to fix the issue I create a new mock object each time it's called which seems to solve all my issues.

OK. Good to hear you fixed the issue.

Hi @florinn So I've continued my tests and the error seems to have sporadically. I can alleviate the issue by stopping and running the tests again but it's pretty annoying to say the least.

I think what would help is to have a clearer error message. Having an error message that says:
Error: function () {
                var args = [];
                for (var _i = 0; _i < arguments.length; _i++) {
                    args[_i] = arguments[_i];
                }
                _this._interceptor.removeInvocation(invocation);
                var method = new MethodInfo(target, p);
                var methodInvocation = new MethodInvocation(target, method, args, ProxyType.DYNAMIC);
                _this._interceptor.intercept(methodInvocation);
                return methodInvocation.returnValue;
            }: undefined

doesn't help much.

Could you create a jsbin/codepen with your failing test?

Let me know when you have the chance to create a repro project. Closing it for now.


parsers: Replace all occurrences

Whoops, #11 has left things broken and confused. The fix only replaced a single occurrence of D in raw data, resulting in -D in SNP-JSON. This commit fixes it.
Now things have to be changed (even without this PR):
genomejs/genoset-male/index.js
https://github.com/genomejs/genoset-male/blob/master/index.js#L4
gql.exact('rs2032651', 'D');

This will never work, and the code must match -- (or technically, -D without this PR). Note that -I is possible (e.g. https://www.snpedia.com/index.php/rs5030655).
genomejs/gql/README.md
The example in README.md has the same problem.

I expect there are other places that need fixing, and we definitely should have unit tests in place.
For exact(), perhaps we should throw an exception when the user supplies a string that is not 2 characters long.


The 'Application -> Logging' part is not localized on 'Settings' page

Storage Explorer Version: 1.25.0-dev
Build Number: 20220628.2
Branch: main
Platform/OS: Windows 10/Linux Ubuntu 20.04/MacOS Monterey 12.4 (Apple M1 Pro)
Language: All languages
How Found: From running test case
Regression From: Not a regression
Steps to Reproduce

Launch Storage Explorer.
Open Settings -> Application (Regional Settings) -> Select '中文（简体）' -> Restart Storage Explorer.
Open Settings -> Application -> Observe the 'Logging' part.
Check whether this part is localized.

Expected Experience
This part is localized.
Actual Experience
This part is not localized.

Will keep an eye and make sure these get translated.

Verified this issue on the build main/20220719.8. Fixed.


python310Packages.reolink-aio: 0.5.5 -> 0.5.6

Changelog: https://github.com/starkillerOG/reolink_aio/releases/tag/0.5.6
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.05 Release Notes (or backporting 22.11 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.

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

3 packages built:

home-assistant-component-tests.reolink
python310Packages.reolink-aio
python311Packages.reolink-aio


Text is disappearing from the Autocomplete input when typing fast.

Text is disappearing from the Autocomplete input when typing fast.
Steps to reproduce the behaviour:

Go to https://demos.blazorbootstrap.com/autocomplete
Type fast any text in any autocomplete input
See this strange behaviour. The same bug is reproduced in my Blazor project

BlazorBootstrap: 1.10.3
Blazor Server
.NET Version: .NET 7

@vivanenko Thank you for trying BlazorBootstrap components. What are your expectations from your testing team? How many characters does the user type in your case? Do you think the user will type that many characters in the search bar in real time?

@vivanenko Thank you for trying BlazorBootstrap components. What are your expectations from your testing team? How many characters does the user type in your case? Do you think the user will type that many characters in the search bar in real time?

In our typical use case a user enters one word (a name) in a second. Let's take "Daina" as an example. When I type it in less than a second the text is partially disappearing and appearing again with some delay. Sometimes the Autocomplete swallows characters so they are completely lost. Both issues confuse users.

For me this is also happening when typing in normal speed. I think the best way to fix this is to only search after a certain delay after the last keystroke and not on every keystroke.

@gvreddy04 what is the point of the delay in the first place? It works fine for me without any delay.

@vivanenko  @MarvinKlein1508 We should not remove the delay. There is a specific reason for the delay.
Here is the scenario: If a user is typing fast (i.e., 3-4 characters per second), you are making 3-4 calls to the API or database to filter the data. If you are simply filtering on the existing collection, which is already available, it will still not filter until there is a 300-millisecond delay in the next keystroke from the user.
I'll investigate on the text disappearing.

@vivanenko @MarvinKlein1508 Another option I can give you is the Debounce parameter. If it is not required in your case, you can set it to 0.

@vivanenko @MarvinKlein1508 Another option I can give you is the Debounce parameter. If it is not required in your case, you can set it to 0.

I would see a bool value here so get rid of the await in the first place when you don't need it. Speeds up the application by removing the state machine

@vivanenko @MarvinKlein1508 We should not remove the delay. There is a specific reason for the delay.
Here is the scenario: If a user is typing fast (i.e., 3-4 characters per second), you are making 3-4 calls to the API or database to filter the data. If you are simply filtering on the existing collection, which is already available, it will still not filter until there is a 300-millisecond delay in the next keystroke from the user. Same approach is used by all the AutoComplete components.
I'll investigate on the text disappearing.

Video 1: Without debouncing 300 milliseconds, it will make more number of calls to the API as the user types in.
https://github.com/vikramlearning/blazorbootstrap/assets/2337067/81a70459-78ac-4f35-8608-a456d6bc8248

@vivanenko @MarvinKlein1508 We should not remove the delay. There is a specific reason for the delay.
Here is the scenario: If a user is typing fast (i.e., 3-4 characters per second), you are making 3-4 calls to the API or database to filter the data. If you are simply filtering on the existing collection, which is already available, it will still not filter until there is a 300-millisecond delay in the next keystroke from the user. Same approach is used by all the AutoComplete components.
I'll investigate on the text disappearing.

Video 1: Without debouncing 300 milliseconds, it will make more number of calls to the API as the user types in.
blazorbootstrap_issue_407.mp4

Video 2: Wuth default 300 milli seconds debouncing
https://github.com/vikramlearning/blazorbootstrap/assets/2337067/cbe641fd-803c-4074-8482-053bda3b04bf

@vivanenko @MarvinKlein1508 Were you able to reproduce the issue at https://demos.blazorbootstrap.com/autocomplete?
If so, can you share a recording of how to reproduce it? I am currently unable to reproduce the issue myself.

yes you can reproduce this easily on demos. Will send you video soon.

Here you go. I was typing Bandita very fast

@MarvinKlein1508 Thank you for your time.

@gvreddy04 I just took another look on it. This issue only happens for me in the demos. When I run both demo apps locally then it works fine for me.

Is this still being reviewed? The issue does not happen locally, but it does happen in the Demo and when an application is deployed where latency between the client and the server is higher.

I get the same issue


Orgs to delete manually from Hub

Please refer to the list of organizations and corresponding IDs in the Deleted Orgs tab of this Google Sheet.
Note: Many of these are duplicates, so it's important that the Org ID matches to avoid deleting the wrong organization within the Hub.

Question, @dodget - is it possible to add two variables to this list?

Membersuite ID (right now, it displays the account number but this is less than ideal since that number doesn't show up in the AMS (it's tricky to figure out which should be deleted as a result).
Can we add something along the lines of "number of resources associated with this resource"?

I see. I only got access to membersuite today, so I see the constraint. Changing to Membersuite ID will be no problem.
For the second bullet, I'll have to research it more. From my reading of the model, ISS orgs don't keep a record of what they are associated with. And because the ISS is a separate database, and managed as an imported package into the hub, I'm not sure I could get access to Hub data from inside the ISS (which is where this admin table is being produced). If I could, I think it would be simple.

Okay, no worries, the first fix will be awesome on its own if the second isn't easily doable.

Just to clarify, both account number and membersuite ID would be helpful (Hub URLs still use the former).

Sounds good!

@monika-aashe - I'll make the records searchable on name, and memberuite ID (the ID will be an exact match). Is there a reason to make the records searchable on account number? In my testing, allowing searching on both MS ID and account number to be searched just produces confusing results.

Searchable by membersuite ID is fine, but I was actually thinking that the membersuite ID number would show up in the table listed below the search bar. That way, if I search on institution name, it'll pull up any/all dupes in the table, and I'll be able to see which one is the one that needs to be deleted.

Yes, membersuite ID will be in the table. I'll submit the changes for merging!

@monika-aashe - The requested changes should be appearing in production, now. Let me know if anything needs to be tweaked!

All looks good, closing!


[FEATURE] Export .record to rosbag file

Is your feature request related to a problem? Please describe.
Apollo supports converting rosbag files to .record files to be played in Cyber RT. I would like to know if exists the opposite tool, to convert .record data to rosbag data, so the data would be portable to other platforms.
Describe the solution you'd like
A way to convert .record data from Cyber RT to rosbag data, to be read on ROS.

Hi @lucasnmatias , thanks for your suggestion. Better interoperability with ROS1/ROS2 still has its value as of today, and we will look at ways to bridge Apollo Cyber and ROS1/ROS2.

Hi @lucasnmatias , thanks for your suggestion. Better interoperability with ROS1/ROS2 still has its value as of today, and we will look at ways to bridge Apollo Cyber and ROS1/ROS2.

https://github.com/AuroAi/apollo_ros_bridge may meet the needs of connecting cyber3.5 and ROS1, but it's outdated.

Closed due to inactivity. If the problem persists, pls feel free to reopen it or create a new one and refer to it.