Add example: who still win drivers WDC

Suggesting a relatively "simple" example for people getting started. If/when #229 is implemented this example can be simplified and improved.

Overall, this is cool. But the example is not rendered correctly in the documentation.
The examples gallery is created from these scripts and then shown here: https://theoehrly.github.io/Fast-F1/examples_gallery/index.html
Therefore, the scripts need to be formatted so that Sphinx-Gallery (https://sphinx-gallery.github.io/stable/index.html) can read them and generate the associated page for the docs.
The script should also produce an example output, imo. It doesn't need to be a matplotlib plot, though. You can take a look at the "Qualifying Results Overview" example in which there is some intermediary output.
If you don't have a local environment to build the docs, you can download the CI build as an artifact after the checks have run here.

I've been able to get make singlehtml working. But how does output work? For example here: https://theoehrly.github.io/Fast-F1/examples_gallery/plot_qualifying_results.html#qualifying-results-overview looking at the yellow output field there doesn't seem to be any special markdown in the code. How is this generated?

I've been able to get make singlehtml working. But how does output work? For example here: https://theoehrly.github.io/Fast-F1/examples_gallery/plot_qualifying_results.html#qualifying-results-overview looking at the yellow output field there doesn't seem to be any special markdown in the code. How is this generated?

Everything that is output on stdout is printed like this if I remember correctly.

I was about to give up totally when I found it:
gallery_conf["filename_pattern"] = '/plot'

Renamed the example and it worked.

I was about to give up totally when I found it:
gallery_conf["filename_pattern"] = '/plot'

Renamed the example and it worked.

When you're stuck on things like this, feel free to ask instead of wasting too much time on it.

Awesome! Thank you for your help Philipp!


Port Segmentation Camera material to Hlms pieces

This PR partially implements #504 but is ready for inclusion.
I could add more stuff but I believe it's better to split it into smaller PRs to make review and testing more manageable
🦟 Bug fix
See #504
(it doesn't close it, but merging this PR gets us closer)
Summary
What was done:

Ogre2SegmentationMaterialSwitcher now longer switches materials

It's still an important class because it sets the right values to each Renderable
But now the naming is obviously misleading
Hlms customizations take care of the shader part; which allows:

Faster performance for not having to switch materials twice per frame (Ogre-Next is not optimized for fast shader switching)
Features like skeletal skinning would not work with the old material switcher

Harmonized shader customizations. HlmsPbsTerraShadows and Ogre2IgnHlmsCustomizations were conflicting. They can now be applied simultaneously.
HlmsPbs and HlmsUnlit are now derived by IgnHlmsPbs & IgnHlmsUnlit to manage all listener-based customizations in a centralized way and provide per-renderable customizations (listener-based customizations can only affect objects in a global state; but cannot send data per renderable which is what Segmentation Camera needs)
Ogre2IgnHlmsCustomizations had PUBLIC visibility instead of PRIVATE. This was fixed. Ogre2RenderEngine::HlmsCustomizations() can return a Ogre2IgnHlmsCustomizations& reference but its header was never exposed to users
Ogre2RenderEnginePrivate is now explicitly HIDDEN (otherwise we get compiler warnings)

What is missing and will be implemented in follow up PRs:

Rename Ogre2IgnHlmsCustomizations to Ogre2SphericalClipMinDistance
Perform the same tasks for other material switchers such as Ogre2SelectionBuffer, Ogre2ThermalCameraMaterialSwitcher, Ogre2LaserRetroMaterialSwitcher and possibly others
Apply the same customizations to HlmsTerra (i.e. heightmaps)

This is the main endgoal, given that heightmaps can't be easily implemented through material switchers

Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[x] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

Question:
Should IgnHlmsPbs & IgnHlmsUnlit be called Ogre2IgnHlmsPbs & Ogre2IgnHlmsUnlit instead?

One comment / question about rendering solid color mode - this is more important for your follow-up PR when making this work for Ogre2MaterialSwitcher (used by selection buffer).

If you mean this bit of code:
At init:
// plain overlay material
this->plainOverlayMaterial =
    this->plainMaterial->clone("plain_color_overlay");
if (!this->plainOverlayMaterial->getTechnique(0) ||
    !this->plainOverlayMaterial->getTechnique(0)->getPass(0))
{
  ignerr << "Problem creating selection buffer overlay material"
      << std::endl;
  return;
}
Ogre::Pass *overlayPass =
    this->plainOverlayMaterial->getTechnique(0)->getPass(0);
Ogre::HlmsMacroblock macroblock(*overlayPass->getMacroblock());
macroblock.mDepthCheck = false;
macroblock.mDepthWrite = false;
overlayPass->setMacroblock(macroblock);

At evaluation per frame:
// check if it's an overlay material by assuming the
// depth check and depth write properties are off.
if (!datablock->getMacroblock()->mDepthWrite &&
    !datablock->getMacroblock()->mDepthCheck)
{
  subItem->setMaterial(this->plainOverlayMaterial);
}

It seems like the actual basically boils down to:
if( hasTransparency( originalMaterial ) ) // Basically checks mDepthWrite = false & mDepthCheck = false
{
   useSameButTransparentMaterial(); // Basically sets mDepthWrite = false & mDepthCheck = false
}

If that's the case then it should work, because the Hlms customization will honour the original material's settings.
However this does raise an important thing to point out: This PR will not always produce the exact same output.
The reason is that the original would take a Renderable, apply either plainMaterial or plainOverlayMaterial and render the frame with it.
However this customization will honour the (possibly complex, possibly not) macro- and blendblock settings from the original material. In some cases this is desirable and the previous implementation would actually be considered buggy.
In other cases it may not be desirable. Probably alpha/additive blending is not desirable. A possible solution would be to clone the materials of those objects (and only those) that are trying to apply blending (with one that does not).

yes that's the use case I'm referring to.

However this customization will honour the (possibly complex, possibly not) macro- and blendblock settings from the original material. In some cases this is desirable and the previous implementation would actually be considered buggy.

hmm going back to the selection buffer use case, if we have a renderable with a semi-transparent material (or material with some alpha blendblock), would its color change if it's in front of another solid object? For selection buffer / mouse picking to work, we'll need to make sure it's rendered the same unique solid color that's assigned to it.

hmm going back to the selection buffer use case, if we have a renderable with a semi-transparent material (or material with some alpha blendblock), would its color change if it's in front of another solid object? For selection buffer / mouse picking to work, we'll need to make sure it's rendered the same unique solid color that's assigned to it.

Yeah that was I referring to by "undesirable". Definitely we'll need to turn blending off.

Before merging this, I want to include the fix to turn blending off. That's not much work and should definitely be included in this PR.

OK I fixed the problem with the blendblocks.
It should be ready for merge now.

latest changes look good to me.

I'm not certain what 'alphabetize' means in this context (https://github.com/ignitionrobotics/ign-rendering/pull/517#discussion_r772178166), thus I don't know what/how to fix

Btw can I ask to merge 6 -> main before merging this PR?
I can rebase the changes.
It's because these Hlms changes is tipping its toes with PRs #522 #523 & #524 which have already been merged but are not yet in main.

Btw can I ask to merge 6 -> main before merging this PR? (preferably ASAP)

created PR #532, will merge when CI turns green

Going to merge this to unblock other follow-up work. We can address the remaining style issue later (if that's still considered an issue)


Add configuration option to specify source

For example, I prefix all my sources by:
[environment].[process_type].server.worker
e.g.
production.web.1.10
This way I can have a single Librato account and use it for both staging and production environments.

You can use the current :namespace config key to achieve that:
Sidekiq.configure_server do |config|
  config.server_middleware do |chain|
    chain.add Nightwing::Sidekiq::Stats, client: Librato, namespace: "my_namespace"
  end
end

I want to namespace the source, not the metric. This lets me use 1 librato account, with the same metrics, and filter using dynamic sources.

Got cha. Totally makes more sense now. Sorry for the confusion. We'll look into it.

Thanks, however,
I just found this gem: https://github.com/librato/librato-rack-source_prefix
which takes care of this for us.


🚀💻 – document documentation workflow

Describe the feature you want and how it meets your needs or solves a problem

As a spec contributor, I want documentation of the documentation workflow so that I can understand how to modify documentation.
Describe the solution you'd like

I think we should add a documentation workflow description to the CONTRIBUTING.md file. It should contain the relationship among mkdocs.yml, main.py, requirements.txt, the files in docs, and the workflows in .github/workflows.
Describe alternatives you've considered

Additional context

Working on a piece of this now!

I have created a Google document here  to work out the structure and details of this content.  I have started this as a broader "Understanding TIDES and Frictionless" document, be we can take the pieces and use them elsewhere, like in CONTRIBUTING.md as Joey suggest.
Please add details to how the documentation is generated.
I also have sections on how validation of the spec occurs, and how validation of data files will occur. Please feel free to add details there, too.


Font Color doesn't show correctly, all text will be black, and can't apply a font color for text.

Is there an existing issue for this?

[X] I have searched the existing issues

Flutter Quill version
9.4.1
Steps to reproduce
1, I'm getting html text from an API: \n  \n    SDS Attached?         Pics Attached?\n    \n    \n    Air?                        Ocean?\n    \n    \n    Qty:\n    \n    \n    Battery Installed?\n    \n    \n    \n    * FAVOR NO RESPONDER A ESTE CORREO\n    \n  \n\n
2.I'm parsing this text width Document.fromHtml(htmlText), the text shows rightly but not the red color for last line.
3. I'm sending the text to the API to send and email parsing with quillController.document.toDelta().toHtml() using quill_html_converter.dart, the html text is right but it doesn't has the color tag.
Expected results
want to see and send the last line in red color
Actual results
currently the color shown is black
Code sample
Code sample
var html = widget.emailBody?.mailBody ??
        "
\n  \n    SDS Attached?         Pics Attached?\n
\n
\n    Air?                        Ocean?\n
\n
\n    Qty:\n
\n
\n    Battery Installed?\n
\n
\n
\n    * FAVOR NO RESPONDER A ESTE CORREO\n
\n  \n
\n";
    quillController2.document = Document.fromHtml(html);

// Quill Editor
Column(
                children: [
                  QuillToolbar.simple(
                      configurations: QuillSimpleToolbarConfigurations(
                          controller: quillController2)),
                  SingleChildScrollView(
                    child: Container(
                        height: 380,
                        width: 550,
                        decoration: const BoxDecoration(color: Colors.white),
                        child: QuillEditor.basic(
                            configurations: QuillEditorConfigurations(
                                controller: quillController2))),
                  ),
                ],
              )

// Send mail button
CustomSaveButton(
                text: 'Send Email',
                active: true,
                onPressed: () async {
                  String htmlContent =
                      quillController2.document.toDelta().toHtml();
                  context.pop();
                  ref
                      .read(whTabControllerProvider.notifier)
                      .sendComplianceEMail(
                          emailParams: ComplianceMailModel(
                              from<EMAIL_ADDRESS>                              to: controllers[0].text,
                              cc: controllers[1].text,
                              bcc: controllers[2].text,
                              subject: controllers[3].text,
                              msg: htmlContent,
                              attachmentPaths: ref
                                  .watch(whTabControllerProvider)
                                  .attachmentList));
                },
              )

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

I will take a look of this


Removed dependencies

Removed angular and angular-sanitize dependencies, as they break building project with Browserify if angular is bundled as a non-npm module (Error: Cannot find module 'angular'). Requiring these doesn't have to occur in a plugin, they are usually required somewhere in the app.

Accepted.
Thanks for the suggestion.

@2fdevs, Is it possible to look into this again? I think the issue here was that the dependencies were not listed in package.json file.
The above link points to the package.json at the time that this PR was fixing the broken build, and it appears that the breakage may be simply due to browserify not being able to find the modules because they were not installed into the package.json file.
I want to add videogular to the jspm registry via #726 and this is blocking videogular from being added to the registry.
Re: the relevant comment.

@whitneyit may be right. I took time to test if the removed lines from this PR break the build if I add them back and it looks like all works fine (tested with the latest Browserify).

Ok, I'm going to add those lines again.
Thanks @whitneyit for the warning and @piotrd for following the conversation :)

@whitneyit I've updated the latest tag and the master branch.

Thanks guys

Can these changes also be applied to the other bower repos?
Also, it appears that package.json does not have the dependencies added.
$ npm install --save angular angular-sanitize

Yeah, sure!
Should we add to other bower repos videogular as a dependency too?

Yea that sounds like a good idea!

Done!
Sorry for taking so long in doing this!

All good man thanks!


Use url::Url instead of http::Uri

isahc's reliance on http::Uri makes it cumbersome to work with URLs which have hostnames with non-ASCII characters.
I suggest that isahc switch to using url::Url instead of http::Uri.
Motivations:

In 2022, it should be straight forward to work with URLs which are international.
Also, sematically, I claim it is more clear for an HTTP client to work with URLs rather than URIs. It's hard to imagine isahc being used with non-URL URIs.

The following code shows the current state of affairs in some crates:
/*
    In Carto.toml:

[dependencies]
url = "2"
http = "0.2"
reqwest = "0.11"

*/

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let url_str = "https://www.fc-højvang.dk/";

                                                    // Crate: url
    let url = url::Url::parse(url_str)?;            //
    println!("url: {}", url);                       // Prints URL with IDNA

                                                    // Crate: reqwest
    let reqwest_url = reqwest::Url::parse(url_str)?;//
    println!("reqwest_uri: {}", reqwest_url);       // Prints URL with IDNA

                                                    // Crate: http
    let http_uri = url_str.parse::<http::Uri>()?;   //
    println!("http_uri: {}", http_uri);             // FAILS
    /*
      Error message:
      InvalidUri(InvalidUriChar)
    */

    Ok(())
}

I appreciate your concern on this, and I agree that Isahc ought to handle this better. However, this would be a breaking change and would require a 2.0 release at the very least. The problem is that the http crate is part of Isahc's public API -- isahc::Request is just a re-export of http::Request, so with the current design we can't choose whether or not http::Uri is used. Only the http crate can make that determination.
For an example that demonstrates this better:
use isahc::Request; // remember this is just `http::Request`

fn main() {
    let request = Request::get("https://sejs-svejbækbiler.dk/")
        .body(())
        .unwrap(); // panics here with `http::Error(InvalidUri(InvalidUriChar))`
                   // before any Isahc code even runs

    isahc::send(request).unwrap();
}

I see only two possible ways that we could handle this:

The http crate is updated upstream to handle IDNA, either by default or with a feature flag, which we would enable.
We remove the http crate from the public API and replace it with our own types, which among many things use the url crate internally.

If we could push for the first approach to get resolved then that would be most ideal, since we could fix this without breaking any existing code out there using Isahc. The second approach may have its own benefits, but also some drawbacks as well as requiring a significant API redesign.
When the http crate was first introduced, it was under the hope of being a common "interface crate" that would be generic enough that both HTTP clients and servers could adopt it and allowing the use of interoperable types between otherwise independent crates. This theoretically allows for things such as middleware to be written in an entirely generic way that would allow it to be used with any HTTP client or server instead of being tied to a specific implementation. This sounded like a noble goal, and Isahc was an early adopter those years ago when it was still young. In practice, I am not sure how well this vision materialized and may be worth some investigation.

I've updated https://github.com/hyperium/http/issues/259 pointing here.
Meanwhile, I wonder if it were possible to add some From/into functions to isahc, so that a url::Url could be used seamlessly with isahc through automatic conversoins between url:Url and http::Uri?

Strictly speaking, it is not possible to implement conversions between url::Url and http::Uri from within Isahc due to the orphan rule; only the crate that defines a type can implement common traits for the type. So either the url crate or the http crate would have to implement a conversion from one to the other, though I'd doubt either crate would be willing to do that.
I'm not sure that would even help much in this scenario anyway, since Uri is still part of the public API and we can't change the http types to also accept a Url.

First of all, replace http::Uri with url::Url is not acceptable.
The best solution for us is to address it from upstream. I submit PR https://github.com/hyperium/http/pull/565 for that.

Xuanwo's attempt at having a fix accepted in the http crate was not successfull, unfortunately :-(
@sagebind, could it be time for a version 2 of isahc, allowing for the API change?

@troelsarvin I'm not currently planning on making this breaking change, even though technically yes, it could be done as part of version 2. This change would not be insignificant as it would require removing the http crate from the Isahc public API, which currently forms the backbone of Isahc's API. I'm just not sure that the juice is worth the squeeze to upend the main crate API in order to resolve this issue right now, or if the effort required is available.
All I can say is that the changes for version 2 are already planned, and this isn't in that list.


Added functionality for Get-RubrikSnapshot

Description
Added functionality for Get-RubrikSnapshot, addressing #420 and #421
Related Issue
This project only accepts pull requests related to open issues.

If suggesting a new feature or change, please discuss it in an issue first.
If fixing a bug, there should be an issue describing it with steps to reproduce

#420
#421
Motivation and Context
Why is this change required? What problem does it solve?

Added -Latest parameter to return latest snapshot data
Added -Range to use with -Date. This specifies how many days away from the given date to search for the closest matching snapshot. Defaults to one day.
Added -ExactMatch to use with -Date. This causes no results to be returned if a matching date isn't found. Otherwise, all snapshots are returned if no match is made.
Added unit tests for Get-RubrikSnapshot
Updated Test-DateDifference, a private function used by Get-RubrikSnapshot, to support the -Range parameter

How Has This Been Tested?

Please describe in detail how you tested your changes.
Include details of your testing environment, and the tests you ran to see how your change affects other areas of the code, etc.

Tested all commands against CDM 5.0.1 and added unit tests to verify expected behavior
Screenshots (if appropriate):
Types of changes
What types of changes does your code introduce? Put an x in all the boxes that apply:

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

Checklist:
Go over all the following points, and put an x in all the boxes that apply. If you're unsure about any of these, don't hesitate to ask. We're here to help!

[X] My code follows the code style of this project.
[X] My change requires a change to the documentation.
[X] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTION document.
[X] I have updated the CHANGELOG file accordingly for the version that this merge modifies.
[X] I have added tests to cover my changes.
[X] All new and existing tests passed.

Just wanted to mention that aside from this change there are other commandlets which use Get-RubrikSnapshot under the covers, like Move-RubrikMountVMDK.   Adding more switches to Get-RubrikSnapshot will necessitate also changing other commandlets that rely on it.

Thanks for the feedback @unconfused. The core issue in #420 stemmed from limiting Get-RubrikSnapshot to a 1 day search window by default, which seemed reasonable but obviously people rely on this behavior. While there are new parameters in Get-RubrikSnapshot the goal is to not change the existing default behavior any further. This new functionality allows the user to more easily pinpoint exactly what snapshot they want. #421 fixes what appears to be a bug in returned snapshots but it is not a change in the default behavior - the user has to specify the -ExactMatch parameter to trigger this behavior. This should preserve any existing scripts and dependencies from other cmdlets.


Exception thrown in WebAssembly layer when running ps aux in webvm.io

Hey team, first of all: I'm a huge fan and avid reader of your release posts and technical explorations.
I was playing around with webvm.io and it appears that a fairly simple operation reliably triggers a trap in WASM and debug path in JavaScript.
# Type the following in the webvm.io shell to reproduce.
ps aux

Stack trace visible in dev tools (after stepping over debugger statement 😝).
Unexpected exit RuntimeError: remainder by zero
    at wasm://wasm/00016d42:wasm-function[26]:0x1ace
    at wasm://wasm/02fd4e9e:wasm-function[4]:0x29f
    at wasm://wasm/006d1962:wasm-function[2006]:0xd9772
    at wasm://wasm/006d1962:wasm-function[2007]:0xd9811
    at abB (blob:https://webvm.io/809c9501-e715-411b-a5be-006b2ed8eb67:1:62256)
    at blob:https://webvm.io/809c9501-e715-411b-a5be-006b2ed8eb67:1:113872
    at abD (blob:https://webvm.io/809c9501-e715-411b-a5be-006b2ed8eb67:1:62124)
    at wasm://wasm/006d1962:wasm-function[2410]:0xf5629
    at MessagePort.EA (blob:https://webvm.io/809c9501-e715-411b-a5be-006b2ed8eb67:1:62996)

Thanks for reporting this and for your kind words. @saarikoski-jules please take a look when you have a chance

We have improved the correctness of the information in /proc/ which fixes this crash


Big Size Image

When opening the album folder, there will be some images that have size that bigger than the view port that will make the viewer horizontal scroll appear.
Example:

Can you make either one of this feature

Automatically resize the oversized picture option. this will make the oversized image to fit the viewport so user  doesn't need to scroll horizontally to see the image
Add horizontal movement to drag feature. Currently user can only do the vertical movement with the drag feature. Also can you add the hotkey for  horizontal scrolling (idk if this already exist or no)?

A small footnote:
I've decided to implement 1 and not 2, however code for 2 is already available and will be considered if there's enough demand. As of now, dragging horizontally and vertically at the same time is not that satisfying due to bad implementation, however adding a separate hotkey for dragging vertical only, and dragging both (such as left mouse and Ctrl+left mouse) can be a fair band aid i think.


Slim down issue templates a bit

Most of the comments in the issue templates were just repeating again what is in the header. We can get rid of them, to make filling issues a bit pleasent experience.

:white_check_mark: odo build 371 completed and artifacts can be found here (for commit https://github.com/redhat-developer/odo/commit/2a6588c387 by @kadel)

This looks way better. LGTM!


documentation fix PR

Improvement on documentation

Thanks @nsengiyumva-wilberforce

I hope you have taken a look at the PR,
https://github.com/networkx/networkx/pull/6108, help me and review please.
If merged I will be able to complete my outreachy application.
And also take a look at this https://github.com/networkx/networkx/pull/6076.
Maybe you forgot to look at it. They are tests for test_line.py, the tests
are now at 99% and I need your help to complete them.
Thanks,
Wilberforce
On Fri, Oct 21, 2022 at 11:40 AM Mridul Seth @.***>
wrote:

Thanks @nsengiyumva-wilberforce
https://github.com/nsengiyumva-wilberforce
—
Reply to this email directly, view it on GitHub
https://github.com/networkx/outreachy/pull/127#issuecomment-1286647967,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APW5Y2MSDKVBPVFWSWXGHRLWEJJGFANCNFSM6AAAAAARJ7XD3I
.
You are receiving this because you were mentioned.Message ID:
@.***>


Dialog - Invariant violation

I have created a simple class like this:
class DisplaySystem extends Component {
    constructor(props) {
        super(props);
        this.state = {
            dialogActive: false
        };
        this.handleToggleDialog = this.handleToggleDialog.bind(this);
    }

    handleToggleDialog() {
        this.setState({dialogActive: !this.state.dialogActive});
    }

    render() {
        const actions = [
            { label: "Cancel", onClick: this.handleToggleDialog},
            { label: "Save", onClick: this.handleToggleDialog}
        ];

        return (

                <Dialog
                    actions={actions}
                    active={this.state.dialogActive}
                    onEscKeyDown={this.handleToggleDialog}
                    onOverlayClock={this.handleToggleDialog}
                    title="Change System">

Dummy content

                </Dialog>

        );
    }
}

const mapStateToProps = state => ({
    userLoggedIn: userIsLoggedIn(state),
    customerName: getSelectedCustomerName(state)
});

export default connect(mapStateToProps)(DisplaySystem);

But Chrome console say:

Warning: React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components). Check the render method of DisplaySystem.
Uncaught Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. Check the render method of DisplaySystem.

I have checked this component removing Dialog and it works. I have miss something... ?

Got the same error with

Problem solved. I was using react-toolbox version 0.16.2.
Updated to 1.0.1 and now all works.

I think the issue is back in version 1.2.x. Thank you for the update.


PhpdocToCommentFixer false positive with property promotion

Bug report

Code snippet that reproduces the problem
use Symfony\Component\Validator\Constraints as Assert;

class X
{
	public function __construct(
		/**
		 * @Assert\NotBlank()
		 */
		public string $x
	) {
	}
}

hey @enumag ! sounds valid! would you mind to raise a PR to propose a fix?


Error when executing j.tools.atom.installAll()

Installed Atom and JS on a Ubuntu Desktop
When executing  j.tools.atom.installAll():
...
---> 46         self.installConfig()
47
48     def installPackagesAll(self):
/opt/jumpscale8//lib/JumpScale/tools/atom/AtomEditor.py in installConfig(self)
119         print("install atom config")
120         merged = {}
--> 121         current_config = j.sal.fs.fileGetContents(os.path.expanduser("~/.atom/config.cson"))
122         merged = cson.loads(current_config)
123         new_config_path = os.path.join(os.path.dirname(inspect.getfile(self.class)), "config.cson")
/opt/jumpscale8//lib/JumpScale/sal/fs/SystemFS.py in fileGetContents(self, filename)
1398         self.logger.debug('Opened file %s for reading' % filename)
1399         self.logger.debug('Reading file %s' % filename)
-> 1400         with open(filename) as fp:
1401             data = fp.read()
1402         self.logger.debug('File %s is closed after reading' % filename)
FileNotFoundError: [Errno 2] No such file or directory: '/root/.atom/config.cson'

Is atom installed under root user? I think maybe you started it as root?

You are right, let me try again

OK now


Add SearchApi to Scraping

Pull Request Template
Please ensure all items below are checked before creating a pull request:

[x] My changes were made in the resources folder, not in the auto-generated README.md file or db folder
[x] My submission is formatted according to the guidelines in the contributing guide
[x] My submission is ordered alphabetically based on the resource name
[x] My submission has a useful description
[x] I have searched the repository for any relevant issues or pull requests

Hi @SebastjanPrachovskij, thank you for the contribution.
This service aligns with our parallel project Public APIs, and it was already added there a few days ago.
I'll close this PR, as the resource fits best over there. :)


Blur validation NOT WORKING in md-radio-group

Blur is not working in md-radio-group

@dharveshmydeen Can you provide a plunker to show us, what you are trying to achieve?
Plunker Template: https://goo.gl/DlHd6U

Closing this issue as it does not follow the issue template. Please file a new issue that follows the template, which gives the team the information needed to investigate.


Makefile: add 'go test -run=nonexistent -tags e2e,....' to 'build' target

So also all e2e tests are compiled locally. That allows to catch syntax errors earlier and should prevent CI from creating cluster with broken e2e tests.
CC @iaguis

Done in #94.


local temp tables are not working

Is the driver reconnecting with each execute?

The driver does not control the connections.
The database/sql package keeps a connection pool and can give you a different connection or a new connection for each execute (except for transactions).
See http://go-database-sql.org/connection-pool.html for ways to control the connection pool.

Possibly related: we've also tried to create local temp tables in a transaction.  If we use placeholders whilst creating the temp table, the temp table does not survive for subsequent queries to it in that transaction.  If we do NOT use placeholders, the temp table survives correctly.
db := database.GetDB(clientDatabase)
tx, err := db.Begin()
if err != nil {
panic(err)
}
defer tx.Rollback()
stmt, err := tx.Prepare("SELECT ? AS 'SomeValue' INTO #tmpResults") // Placeholders break temps
if err != nil {
panic(err)
}
_, err = stmt.Exec(222)
if err != nil {
panic(err)
}
stmt2, err := tx.Prepare("SELECT * FROM #tmpResults")
if err != nil {
panic(err)
}
rows, err := stmt2.Query() // Fails
if err != nil {
panic(err)
}

@TedKnudsen from MS documentation:
"Temporary tables are automatically dropped when they go out of scope, unless explicitly dropped using DROP TABLE:
A local temporary table created in a stored procedure is dropped automatically when the stored procedure completes."
The driver is using the same connection in your code, but each Exec is a different batch and the temp ta ble lifespan is limited to that of the batch, i.e. dropped after each exec.

Can you please clarify: Why are the temp tables being generated in a different batch when using placeholders (?), but are working as expected when not using placeholders?
See below: this works fine.
db := database.GetDB(clientDatabase)
tx, err := db.Begin()
if err != nil {
panic(err)
}
defer tx.Rollback()
stmt, err := tx.Prepare("SELECT 222 AS 'SomeValue' INTO #tmpResults")
if err != nil {
panic(err)
}
_, err = stmt.Exec()
if err != nil {
panic(err)
}
stmt2, err := tx.Prepare("SELECT * FROM #tmpResults")
if err != nil {
panic(err)
}
rows, err := stmt2.Query() // Fails
if err != nil {
panic(err)
}

The driver is using the sp_executesql stored procedure to prepare the sql statements. My guess is that temporary tables created from sp_executessql stored procedure are dropped when the stored procedure ends.
The driver is not using stored procedures when there are no parameters, and in that case it seems that the temporary table persists.

"Prepared statements cannot be used to create temporary objects on SQL Server. Prepared statements cannot reference system stored procedures that create temporary objects, such as temporary tables. These procedures must be executed directly."
https://technet.microsoft.com/en-us/library/ms175528(v=sql.105).aspx

Thanks for clarification, we'll find workarounds.


Deprecate stim channel

i.e. EDF rader synthetize the stim channel so it should warn.
import os.path as op
import mne
edf_path = op.join(op.dirname(op.dirname(mne.__file__)), 'mne/io/edf/tests/data/test.edf')
raw_py = read_raw_edf(edf_path, misc=range(-4, 0), stim_channel=139, preload=True)

closing via #5712

I just came across this:
https://github.com/mne-tools/mne-python/blob/57272be1d342e1058670ebac0e3ab292deb56767/mne/io/egi/egimff.py#L220
egi files also have a synthetic stim channel that was not using the utils for synthetizing stim channels.
Can anyone comment on this?
cc(based on ./mne/io/egi blame ):@agramfort, @larsoner, @adykstra , @drammock , @dengemann , @fraimondo , @jasmainak , @wmvanvliet , @teonbrooks

I'll open a PR to deprecate that, too

oh yes we had forgotten about this one :( :( we need to apply the same
logic to this one too....

Actually maybe we should deprecate... the EGIMFF has stim channels but users can use those directly (i.e., don't also synthesize to STI 014). The EGI does seem to have "event codes" like in BV.
We first need to change these event codes over to Annotations, that step should be done first before deprecating the stim_channel creation. @massich can you do that since you've been doing that for the other readers?

would be great to finish this before the release

The EGI system allows for digital inputs as triggers, but it creates on channel per value. So you might endu p with 255 digital channels (D001-D255). Also, you can add manual “marks”.
The currently generated STI 014 does not reflect the original values of the digital inputs, so I still do not know what is the meaning of this channel.
Example:
In [7]: events = mne.find_events(raw)
2048 events found
Event IDs: [ 1  2  3  4  5  6  7  8  9 10 11 12 13]

In [8]: [x for x in raw.ch_names if x.startswith('D')]
Out[8]: ['D190',  'D255',  'D126',  'D102',  'D158',  'DI94', 'DI70', 'D180', 'D116', 'D108', 'D148', 'DI84', 'DI76']

@fraimondo you are our expert here so please tell us how to do it right
cc @deep-introspection

If you still want to synthesise the STI 014 channel, then it's a matter of looking at the DXXX channels, multiplying it's content by 255-XXX and add them all up.
Something like that:
dnames = [x for x in raw.ch_names if x.startswith('D')]
values = [int(x.replace('DIN', '').replace('DI', '').replace('D', '')) for x in dnames]
values = 255 - np.array(values)
stim_data = np.zeros_like(raw._data[raw.ch_names.index(dnames[0]), :])

for dchan, dvalue in zip(dnames, values):
    if dvalue == 0:
        continue
    ddata = raw._data[raw.ch_names.index(dchan), :]
    idx = np.where(ddata != 0)[0]
    stim_data[idx] = dvalue

if EGI / MFF works with stim channels and not onset/description that maps
to Annotations structure maybe it's not worth the pain...
thoughts from our EGI/MFF users?

Cc @deep-introspection
On Sat 17 Nov 2018 at 09:13, Alexandre Gramfort<EMAIL_ADDRESS>wrote:

if EGI / MFF works with stim channels and not onset/description that maps
to Annotations structure maybe it's not worth the pain...
thoughts from our EGI/MFF users?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mne-tools/mne-python/issues/5709#issuecomment-439598650,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB0finrMIgPkyZKQ7IANWvvHwBAIAoY1ks5uv8UWgaJpZM4YcgL-
.

Also it occurred to me that if we have to deprecate this EGI stim in 0.18
instead of 0.17 it's probably okay, too

yes. If we have no news or suggestion on this by monday and let's do it
later and move on with the release

Indeed, the order of the stim influence the event ids from what I remember. The ideal would be to have a mapping of those events id with the name of triggers which are supposed to be stored in the .MMF file (EGI software rename them properly).

So is there anything we should fix or improve. ? Can you share code that shows some unnecessary pain ?

As far as I understand understanding one’s mmf file is key. The labels for
the event channels unfortunately depend on the operator and can easily
change from session to session. By enumerating the events it often happens
that different events land on a channel with the same name (across
recordings). Once you are in the raw format there is little to do.
Essentially you have to know what is called how.
On Sat 17 Nov 2018 at 17:31, Alexandre Gramfort<EMAIL_ADDRESS>wrote:

So is there anything we should fix or improve. ? Can you share code that
shows some unnecessary pain ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mne-tools/mne-python/issues/5709#issuecomment-439629535,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB0fin4OCwGsGUfLe0bVx6JoBi357mOEks5uwDn1gaJpZM4YcgL-
.

And there is also the manual “marks”, which come with a text value and are customisable by the user. So I guess the MFF format has both a stim channel and annotations. And as it is done, it can be the case that the same sample has two events.
Or we either fix the stim channel or we remove it. I never created a PR because I assumed someone was using the STI 014 channel as generated, and this will create  a conflict. Indeed I just checked some old code I have to read EGI RAW files, and we use the STI 014 channel and the event ids.
It is quite hard to find a solution that fits every case.

On 18 Nov 2018, at 21:25, Mikolaj Magnuski<EMAIL_ADDRESS>wrote:
The currently generated STI 014 does not reflect the original values of the digital inputs, so I still do not know what is the meaning of this channel.
@fraimondo https://github.com/fraimondo - the last time I used mne synthesized channel for .raw files it coded the event values according to the order of appearance. So not along the DIN values - and I always used a reading scheme similar to the code you pasted.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/mne-tools/mne-python/issues/5709#issuecomment-439722826, or mute the thread https://github.com/notifications/unsubscribe-auth/AESRg-nu4wkCB1uGuGaIUsM_wshAoxfyks5uwcIhgaJpZM4YcgL-.

question is can we avoid synthesizing a stim channel when not present in
the raw file just by using annotations
unless there is a strong energy now to look into this in the next days
we're going to release and postpone this.

I’d postpone it. This one is not easy to fix. We could perhaps see where
the doc can be improved right now and call for more input from egi users on
the mailinglist.
On Sun 18 Nov 2018 at 21:51, Alexandre Gramfort<EMAIL_ADDRESS>wrote:

question is can we avoid synthesizing a stim channel when not present in
the raw file just by using annotations
unless there is a strong energy now to look into this in the next days
we're going to release and postpone this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mne-tools/mne-python/issues/5709#issuecomment-439724778,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB0fit0rkWsvgPd1461s9v7kAxg-ov6jks5uwchOgaJpZM4YcgL-
.

What's the status on this issue? I remember having discussed this somewhere else, but I can't seem to find the thread. I was arguing for keeping the stim_channel argument because people still use analog channels to record their triggers (but by default, no stim channel should be synthesized, this should only happen upon explicit user request).

Yes I think it's what we did and agreed on.

OK, so close this issue then?


add shadow

[ ] decide if we want to support box-shadow syntax, react-native shadow* props or some combination of both
[ ] we probably should support inset styles (missing in react-native)

then

[x] parse it/resolve defaults
[x] add respective display item data (BoxShadowDisplayItem) to a brush
[x] bounds should be left out (and computed from layoutInfo during render)
[x] make sure it's in the right order (before background if outset, last otherwise)
[x] builder.push_box_shadow() in rust during render, there should be no popping
[x] update react

currently, some version of react shadow is done, but it's rendering insert instead of outset :-)

works somehow, now

we will eventually support css properties and syntax (standard)
react StyleSheet will translate to css properties (shadowColor, shadowRadius, shadowOffset will be translated to boxShadow - which is going to be parsed to BoxShadow value object)
only one shadow will be supported for now
inset will be added later


Method error type (Vue: Type string is not assignable to type never)

Hi
I have a problem with typing

Moreover, the interface contains these methods

schema: "https://petstore3.swagger.io/api/v3/openapi.json"
Please help me

Same issue.
But I seem to have found the cause of this problem.
(I'm sorry for my poor English.)
Resaon
In this file https://github.com/enkot/nuxt-open-fetch/blob/main/src/runtime/fetch.ts#L17
export type ParamsOption<T> = T extends { parameters?: any, query?: any } ? T["parameters"] : never

If api not have ‘parameters’ or ‘query’, Then ParamsOption = 'never'.
Type UseOpenFetchOptions  definition is as follows
type UseOpenFetchOptions<
  Method,
  LowercasedMethod,
  Params,
  ResT,
  DataT = ResT,
  PickKeys extends KeysOf<DataT> = KeysOf<DataT>,
  DefaultT = null,
  Operation = 'get' extends LowercasedMethod ? ('get' extends keyof Params ? Params['get'] : never) : LowercasedMethod extends keyof Params ? Params[LowercasedMethod] : never
> =
  ComputedMethodOption<Method, Params>
  & ComputedOptions<ParamsOption<Operation>>
  & ComputedOptions<RequestBodyOption<Operation>>
  & Omit<UseFetchOptions<ResT, DataT, PickKeys, DefaultT>, 'query' | 'body' | 'method'>

ParamsOption =never,
then ComputedOptions<ParamsOption> = never.
So UseOpenFetchOptions = never.
When I  changed  UseOpenFetchOptions  definition, it's working.
export type ParamsOption<T> = T extends { parameters?: any, query?: any } ? T["parameters"] : {}


Remove .rubocop.yml with Dangerfile

:speaking_head: Foreword
Thank for taking the time to fill this bug report fully. Without it we may not be able to fix the bug, and the issue may be closed without resolution.
:ghost: Brief Description
If the only thing in the .rubocop/yml is Dangerfile
Run the latest cookstyle
Remove .rubpopo.yml
Issue sprouted from sous-chefs/meta/issues/108. If not applicable then issue should be closed.

Can I take this ?

Please do! @gabrielrumiranda

I create a PR #26


When Formatting Webhook payload is it possible to return any handlebar errors

See #320, right now the server just throws a 500 error and doesn't return any useful information.

Rather than only return successes we should return the errors as well and make the developer handle them. For example DELETEing a non-existent item might throw a value other than 200 and the developer might want to return a message saying We couldn't delete that item because it doesn't exist.

Closed by https://github.com/samtecspg/articulate/commit/6e5a4cb09c11b06b4336c56a567128818958d2f0
Please check if you agree with this solution

@dcalvom success looks all good, but the statusCode is returned when there are errors.

Closed by https://github.com/samtecspg/articulate/commit/bb904d3406534b8af5cb61fb73359326afb968e7


CLI omnibus builds failing with checksum mismatch errors due to sourceforge.net returning JavaScript redirects

CLI omibus travis jobs are failing with checksum errors. This is happening for different packages, and all of these are returning the same incorrect checksum:
       [NetFetcher: zlib] I | 2018-03-01T13:27:09+00:00 | Downloading from `http://downloads.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz'
       [NetFetcher: zlib] I | 2018-03-01T13:27:09+00:00 | Verifying checksum
Verification for zlib failed due to a checksum mismatch:
    expected: 1c9f62f0778697a09d36121ead88e08e
    actual:   cb530d737c8f2d1023797cf0587b4e05

Testing with curl shows that this is downloads.sourceforge.net returning some bizarre JavaScript-based redirect, so the actual content that omnibus is seeing is a HTTP 200 response with HTML along the lines of:
We're sorry -- the Sourceforge site is currently in Disaster Recovery mode, and currently requires
the use of javascript to function.  Please check back later.

The same download URL works fine in a browser. We either need to patch omnibus curl to evaluate javascript as a browser would, or omnibus software packages should stop using sourceforge.net as a download mirror...
$ curl -vL http://downloads.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz
*   Trying <IP_ADDRESS>...
* Connected to downloads.sourceforge.net (<IP_ADDRESS>) port 80 (#0)
> GET /project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz HTTP/1.1
> Host: downloads.sourceforge.net
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 302 Moved Temporarily
< Content-Length: 0
< Connection: keep-alive
< Date: Wed, 28 Feb 2018 19:47:49 GMT
< Location: https://downloads.sourceforge.net/#!/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz
< Server: AmazonS3
< Age: 63190
< X-Cache: Hit from cloudfront
< Via: 1.1 645c8651bdbfec2029b0d04a1f97f36b.cloudfront.net (CloudFront)
< X-Amz-Cf-Id: YuoMQVGTCykncvLn6VJW80a89J-XBf_jjOQL9Wqr9X8MZgN3vfsdaw==
<
* Connection #0 to host downloads.sourceforge.net left intact
* Issue another request to this URL: 'https://downloads.sourceforge.net/#!/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz'
* Found bundle for host downloads.sourceforge.net: 0x5588858870c0 [can pipeline]
*   Trying <IP_ADDRESS>...
* Connected to downloads.sourceforge.net (<IP_ADDRESS>) port 443 (#1)
* found 148 certificates in /etc/ssl/certs/ca-certificates.crt
* found 597 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* SSL connection using TLS1.2 / ECDHE_RSA_AES_128_GCM_SHA256
* 	 server certificate verification OK
* 	 server certificate status verification SKIPPED
* 	 common name: *.sourceforge.net (matched)
* 	 server certificate expiration date OK
* 	 server certificate activation date OK
* 	 certificate public key: RSA
* 	 certificate version: #3
* 	 subject: OU=Domain Control Validated,OU=EssentialSSL Wildcard,CN=*.sourceforge.net
* 	 start date: Sat, 06 Jan 2018 00:00:00 GMT
* 	 expire date: Sun, 06 Jan 2019 23:59:59 GMT
* 	 issuer: C=GB,ST=Greater Manchester,L=Salford,O=COMODO CA Limited,CN=COMODO RSA Domain Validation Secure Server CA
* 	 compression: NULL
* ALPN, server accepted to use http/1.1
> GET / HTTP/1.1
> Host: downloads.sourceforge.net
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: text/html
< Content-Length: 652
< Connection: keep-alive
< Date: Thu, 01 Mar 2018 13:21:00 GMT
< x-amz-meta-s3cmd-attrs: uid:0/gname:root/uname:root/gid:0/mode:33152/mtime:1519882201/atime:1519882202/md5:cb530d737c8f2d1023797cf0587b4e05/ctime:1519882201
< Cache-Control: private, max-age=900
< Last-Modified: Thu, 01 Mar 2018 05:30:05 GMT
< ETag: "cb530d737c8f2d1023797cf0587b4e05"
< Server: AmazonS3
< X-Cache: Hit from cloudfront
< Via: 1.1 986a2cb4ab6fb48c9a4379a4e9d691c4.cloudfront.net (CloudFront)
< X-Amz-Cf-Id: e12wIok1eNphZcKj5JoikApSKq-Y1vvnTF3wpwO815w7OsBorsmZNg==
<
<html><head>
<title>SourceForge</title>
<!-- <script src="/js/jquery.com/jquery-1.11.0.min.js"></script> -->
<script src="https://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="https://sourceforge.net/js/mirrors.js"></script>
<script src="/js/sf.js"></script>
<script>
var DR_loc = DR_parse_hash_url();
if (DR_loc) {
    DR_sf_main(DR_loc);
} else {
    window.location.href = 'https://sourceforge.net/home.html';
}
</script>
</head><body>
<noscript>
We're sorry -- the Sourceforge site is currently in Disaster Recovery mode, and currently requires
the use of javascript to function.  Please check back later.
</noscript>
</body></html>
* Connection #1 to host downloads.sourceforge.net left intact

Looks like sourceforge.net is currently in some static-only-disaster-recovery mode where they fail the site over to Amazon S3, and their DR-mode downloads mirror implements the mirror selection/redirection logic in client-side javascript.
That won't really work when downloading omnibus software packages for automated builds.


Farsi Translation added.

Hi—can you please resubmit without the changes to chrome-extension/ or dist/ (just app/). Help us keep things clean. Thanks so much! Looks great otherwise.

@tayvano Thanks for the fast response. you are great!
Sorry for the messy commits, had a long day.
Let me know if you need me to resubmit everything with less commits, maybe just one :)

Long day over here as well. I just copied your fa.js and will push it manually. Take a look tomorrow AM and make sure everything looks good on the site & let me know if we can be of further assistance.
Thanks so much for adding the translation!

@tayvano I just saw the manual merge. Thank you.


TypeScript: type definitions for async middleware

Do you want to request a feature or report a bug?
Bug?
What is the current behavior?
In the definitions file, the interface for Middleware is:
interface Dispatch<S> {
    <A extends Action>(action: A): A;
}

export interface MiddlewareAPI<S> {
  dispatch: Dispatch<S>;
  getState(): S;
}

interface Middleware {
  <S>(api: MiddlewareAPI<S>): (next: Dispatch<S>) => Dispatch<S>;
}

Since the final function in the middleware thunk is typed as Dispatch<S>, it is required to synchronously return an A action. However, custom middleware should support other behaviors. In the definitions file:
 * Middleware wraps the base dispatch function. It allows the dispatch
 * function to handle async actions in addition to actions. Middleware may
 * transform, delay, ignore, or otherwise interpret actions or async actions
 * before passing them to the next middleware.

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://jsfiddle.net or similar.
If I attempt to add a type to the vanillaPromise from the middleware examples:
import { Middleware } from 'redux'
const middleware: Middleware = store => next => action => {
  if (typeof action.then !== 'function') {
    return next(action)
  }

  return Promise.resolve(action).then(store.dispatch)
}

TypeScript throws the following errors:
ERROR in [at-loader] ./src/index.tsx:23:7
    TS2322: Type '<S>(store: MiddlewareAPI<S>) => (next: Dispatch<S>) => <A extends Action>(action: A) => A | Promi...' is not assignable to type 'Middleware'.
  Type '(next: Dispatch<S>) => <A extends Action>(action: A) => A | Promise<A>' is not assignable to type '(next: Dispatch<S>) => Dispatch<S>'.
    Type '<A extends Action>(action: A) => A | Promise<A>' is not assignable to type 'Dispatch<S>'.
      Type 'A | Promise<A>' is not assignable to type 'A'.
        Type 'Promise<A>' is not assignable to type 'A'.

ERROR in [at-loader] ./src/index.tsx:24:21
    TS2339: Property 'then' does not exist on type 'A'.

What is the expected behavior?
I'd expect the Middleware interface to allow returning a promise-wrapped action, or void, or etc. I'm not sure the actual fix for this... Maybe something like:
export interface MiddlewareDispatch<S> {
    <A extends Action>(action: Promise<A> | A): Promise<A | void> | A | void;
}

export interface MiddlewareAPI<S> {
  dispatch: MiddlewareDispatch<S>;
  getState(): S;
}

export interface Middleware {
  <S>(api: MiddlewareAPI<S>): (next: MiddlewareDispatch<S>) => MiddlewareDispatch<S>;
}

This solves the type errors for the vanillaPromise example, and would also solve the problems with returning void. However I'm not certain it would cover all middleware use cases.
Which versions of Redux, and which browser and OS are affected by this issue? Did this work in previous versions of Redux?
I'm using redux 3.7.2 and typescript 2.5.2. This is the first time I've tried this.

Actually, my suggestion isn't very good, because it complicates more simple uses. If you have:
const maybeVoid: Middleware = store => next => action => {
  if (action.type === 'IgnoreMe') {
    return
  }

  next(action)
}

TypeScript throws an error, because action may be a Promise:
ERROR in [at-loader] ./src/index.tsx:33:14
    TS2339: Property 'type' does not exist on type 'A | Promise<A>'.
  Property 'type' does not exist on type 'Promise<A>'.

Maybe something with generics? Like:
export interface MiddlewareDispatch<S, A> {
    (action: A): A;
}

export interface MiddlewareAPI<S, A> {
  dispatch: MiddlewareDispatch<S, A>;
  getState(): S;
}

export interface Middleware<S, A> {
  (api: MiddlewareAPI<S, A>): (next: MiddlewareDispatch<S, A>) => MiddlewareDispatch<S, A>;
}

That supports both of the previous middleware examples:
const vanillaPromise: Middleware<State, Action | Promise<Action>> =
  store => next => action => {
    if (typeof (action as Promise<Action>).then !== 'function') {
      return next(action)
    }

    return Promise.resolve(action).then(store.dispatch)
  }

const maybeVoid: Middleware<State, Action | void> =
  store => next => action => {
    if (!action) return
    if (action.type === 'IgnoreMe') {
      return
    }

    next(action)
  }

The current definition for Middleware is:
export interface Middleware {
  <S>(api: MiddlewareAPI<S>): (next: Dispatch<S>) => Dispatch<S>;
}

This declares that a Middleware must be a generic function, which is probably not intended. This is an error when using newer versions of TypeScript that have strict generic checks (Microsoft/TypeScript#16368).
If you meant that a middleware must be of type MiddlewareAPI<S> => Dispatch<S> => Dispatch<S> for some S but not necessarily for all, the type should be Middleware<S>.

@alexburner Does the typing on the next branch solve this for you by chance? https://github.com/reactjs/redux/blob/next/index.d.ts

Closing due to inactivity.

Is there any alternative to this issue? I am having the exact same problem.

Check out the typings in 4.0.

Is there any documentation explaining the proper way to use types for custom middlewares?

I've also been looking for an redux-thunk middleware strict integration example for a reasonable amount of time, but no luck yet.


Allow optionally ignoring sphinx directives/roles

Sphinx roles can create false alarms and false errors
if we do not ignore them, so this adds the ability to ignore
them (and turns it on by default).
Do note that when enabled this module will patch ignore
directives and roles into the sphinx code-base and then make
an attempt to remove them when it has finished (this is inherently
not thread-safe).
Fixes issue #11

I believe this is in the opposite of the intent of #11. We want to be able to support people to extend on top of restructuredtext-lint to add linting for Sphinx.

Sorry, I mean that it is the opposite of my understanding of what we wanted from #11.

Hmmm, good point/question. I'd almost rather just ignore them to start then maybe dig deeper into examining them, shall I point this at another issue then (maybe one called ignore sphinx directives with later plans to examine at a deeper level)?

I am not entirely sure yet. I will have to think about this deeper. My gut reaction is to say only allow for hooks as ignoring can be an implementation default of a hook.

Left some comments for the case of if we leverage this PR as the starting point for hooks.

Okay, there are still a lot of comments that I have queued up in my head and I would like to avoid the whole back/forth on. I am going to commandeer the PR and stack some commits on top of yours to get this landed.
Regarding the comment way back about needing time to think about this. I believe the custom directives input with providing Sphinx defaults will work out for the best. On the CLI, we can include an --ignore-sphinx option to leverage that.

Sounds good to me :)

I have completed mostly everything except for CLI integration and documentation. However, now I am reviewing the Sphinx code base and questioning our intentions. Why aren't we running Sphinx's directives or instructing users to register their directives to docutils instead of doing everything through our library?
We will indefintely need them to use the docutils API for their directives so all of this seems futile.
We should be providing instructions on how to import Sphinx directives instead.
https://github.com/sphinx-doc/sphinx/blob/1.3/sphinx/directives/code.py#L354-L358
Side note of what was changed since the last commit in this PR:

Renamed ignore to utils
Moved ignore_role to a class
Added a lot more references to the code
Moved to ideal directive/role signature for custom overrides

https://github.com/twolfson/restructuredtext-lint/tree/a8043d929b8f9fcb3a2218835caa1d0cc6e9e4bb/restructuredtext_lint

As for the general question; that's up to u. Now that I know how to do this I could just do it in doc8, your branch/commit looks fine to me. I'll let u make the final decision on what u want to do here :-P

I guess I will play around with it to see how docutils behaves once sphinx is loaded. If it still does lint errors for sphinx utils errors, then I think that is ideal. If it does something else, then it will likely depend on how it acts.

Ok dokie.

To properly set expectations, I will play around with it by the end of the weekend.

No worries; its been sitting for a while anyway ;)

I have great news! When we load the Sphinx directives in, they play perfectly with our lint errors =)
The downside is that while I could find some parts of Sphinx that added directives, I cannot seem to find how/where the BUILTIN_DOMAINS are registered to docutils. Can you be my second set of eyes and take a look in the repo?
https://github.com/sphinx-doc/sphinx/blob/1.3/sphinx/domains/python.py#L582-L622
https://github.com/sphinx-doc/sphinx/blob/1.3/sphinx/domains/__init__.py#L278-L292
https://github.com/sphinx-doc/sphinx/blob/1.3/sphinx/application.py#L81
and then after we find self.domains, I cannot find any invocations of add_directive =(

https://github.com/sphinx-doc/sphinx/blob/1.3/sphinx/builders/html.py#L274 seems to be something (domains seems to be transferred into the 'env' variable). Perhaps the rabbit hole goes deeper from there...

Also a bunch of domain stuff in https://github.com/sphinx-doc/sphinx/blob/1.3/sphinx/environment.py

I decided to jump in from the perspective of running a Sphinx CLI program. It starts with cmdline, then picks a Builder (as you have linked), determines if there are files to update, and then builds the files in serial/parallel.
https://github.com/sphinx-doc/sphinx/blob/1.3.1/sphinx/__init__.py#L92
https://github.com/sphinx-doc/sphinx/blob/1.3.1/sphinx/cmdline.py#L242-L245
https://github.com/sphinx-doc/sphinx/blob/1.3.1/sphinx/application.py#L263-L264
https://github.com/sphinx-doc/sphinx/blob/1.3.1/sphinx/builders/__init__.py#L243-L245
https://github.com/sphinx-doc/sphinx/blob/1.3.1/sphinx/builders/__init__.py#L315-L316
https://github.com/sphinx-doc/sphinx/blob/1.3.1/sphinx/builders/__init__.py#L360
I am still diving down...

Alright, I think we have our answer. Sphinx doesn't use docutils for its directives. It implements on top of domains so we will have to roll our own utility to do this OR if it's simple enough, provide instructions on how to.
In these references, we see sphinx talking directly to domains about resolving xref:
https://github.com/sphinx-doc/sphinx/blob/1.3/sphinx/environment.py#L1281-L1302
https://github.com/sphinx-doc/sphinx/blob/1.3/sphinx/environment.py#L1527-L1569
https://github.com/sphinx-doc/sphinx/blob/1.3/sphinx/environment.py#L1541-L1545
https://github.com/sphinx-doc/sphinx/blob/1.3/sphinx/environment.py#L1633-L1674
https://github.com/sphinx-doc/sphinx/blob/1.3/sphinx/environment.py#L1655-L1656

I have hit another turning point in the rabbit hole. I was working on adding in testing for builtin domains (e.g. py:function::) and ran into Sphinx starting to leverage it's environment concept.
https://github.com/sphinx-doc/sphinx/blob/1.3/sphinx/application.py#L210-L216
This requires a whole setup of a configuraiton file and src/dest directories for it to work properly. If we want accurate linting, then we would have to absorb all of that into rst-lint. However, it starts to become something like a sphinx-lint at that point.
I think I am going to resolve this by documenting how to import basic sphinx directives which utilize docutils (e.g. code) via register_directive and close any deeper integration with sphinx as a wontfix.

For historical purposes, here is the branch where all exploring was done:
https://github.com/twolfson/restructuredtext-lint/tree/09e7296de425826cc3f12e8d0fd14c8e3a2a1e60

I have added documentation in 0.11.3. Closing this as a wontfix since we want accuracy but that leaves the scope of this repo since it becomes specific to sphinx, not reStructuredText. Thanks for all your help and quick responses on this issue =)

Sounds good to me. Thanks!

Commenting on this issue, because we currently use the CLI, and there is actually no workaround that I'm aware of to avoid issues with sphinx directives

@julienvey Here are some options to consider:

Use doc8 which has Sphinx directives enabled

https://github.com/openstack/doc8

Fork the repo and add lines that you need (simplest and keeps CLI consistent, not too reusable)

It can be installed among your team members via pip install -e git+ssh://git@github.com/my-team/restructuredtext-lint@my-commit-or-branch-or-tag#egg=restructuredtext-lint

Create a wrapper library that adds the necessary Sphinx directives and then calls our cli.main

https://github.com/twolfson/restructuredtext-lint/blob/0.14.2/restructuredtext_lint/cli.py#L46-L55

In terms of the new documentation, was it just the highlight example in the main README?
# Load in our dependencies
from docutils.parsers.rst.directives import register_directive
from sphinx.directives.code import Highlight
import restructuredtext_lint

# Load our new directive
register_directive('highlight', Highlight)

# Lint our README
errors = restructuredtext_lint.lint_file('docs/sphinx/README.rst')
print errors[0].message # Error in "highlight" directive: no content permitted.

In terms of code, I think I could try re-using some of this work... https://github.com/twolfson/restructuredtext-lint/blob/09e7296de425826cc3f12e8d0fd14c8e3a2a1e60/restructuredtext_lint/sphinx.py

Hmm, the dictionary BUILTIN_DOMAINS was removed in Sphinx 1.4
https://github.com/sphinx-doc/sphinx/commit/8a45aa5e59b87703803bfb44c696afd06b609335#diff-3579c7ee6bc5111e6a44925d209f6f4d
It looks like this tuple of strings is the replacement,
from sphinx.application import builtin_extensions

Quite a lot more has changed...

Yep, that code example and the wording before it was the documentation added around Sphinx as well as a link to https://github.com/twolfson/restructuredtext-lint/issues/29#issuecomment-243456787


Missing Video

[Enter feedback here]
Video link for express installation is broken. Please fix it.

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

ID: c650df29-72e7-ea25-ee53-f467f925ef39
Version Independent ID: fed9f82b-4206-c231-84a3-8791d912ca33
Content: Azure AD Connect: Getting Started using express settings
Content Source: articles/active-directory/hybrid/how-to-connect-install-express.md
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath
Microsoft Alias: billmath

Hi, we are investigating your issue and will update you shortly.
Best,
James

I have reached out to our team and we will be updating this document. Thank you for bringing this to our attention.
I will now close this issue. Please let me know if you have any questions.
Best,
James


Default to a single CPU core

I'm getting considerably better results with a single core on both Mac and Windows.
The application uses two containers: a web (nginx+php-fpm) and a db (mysql).
Apparently virtualizing multiple cores for a VM is more overhead than benefit for VirtualBox in most cases. You may achieve better results if the guest stack/application is optimized for a multi-core environment. However, the primary use case for boot2docker is non-production use/local development, so it may make sense to default to a single core for better performance in most cases.
Related discussions:

https://forums.virtualbox.org/viewtopic.php?f=2&t=56730
http://superuser.com/questions/297697/are-there-any-real-advantages-to-assigning-more-cores-to-virtualbox
#702

Wrong project... Closing.


Only allow sign-ups from education.gov.uk emails addresses on qa etc.

Context
We want to restrict use of test environments (qa, review apps and staging) to DfE uses (those with education.gov.uk email addresses).
Changes proposed in this pull request

[x] HostEnvironment.dfe_signups_only? helper
[x] Add validation to the SignUpForm to prevent non-DfE sign-ups depending on environment.
[x] System spec
[x] Redirect to a page warning candidates that they can't sign-up without a DfE email address and link to production environment.

Guidance to review

Does the validation make sense? Originally it was meant to be displayed as a normal validation but now that we are redirecting to a special 'access forbidden' page it's no longer rendered as a validation error on the sign-up form itself. I've left it this way so that it gets captured by our validation error logging.
Is the copy for the 'access forbidden' page correct?
I needed a link to the production environment. I couldn't find an existing one in the codebase so I've added a constant to HostingEnvironment. Does this make sense or is there a simpler way? Should it be an env var?

Link to Trello card
https://trello.com/c/M1IWxq2c/2481-only-allow-digitaleducationgovuk-signups-on-qa-staging-review-apps
Things to check

[x] This code does not rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] New environment variables have been added to the Azure config

@tvararu Chatted with @stevehook, going to redirect to a page that gives error message, and allows linking to the production environment (which is not possible with an error summary)

@stevehook Can we add a back link to the error page?

@stevehook Can we add a back link to the error page?

thanks @paulrobertlloyd I missed that, done now


Issue with Take/Skip operator.

I am having an issue with the Take and/or Skip operators. The problem is that they can produce the same Slice sig, but very different results are expected.
For example:
If I call Take(List, null), I get Slice(List, 0, null) -> should return empty list
If I call Skip(List, 0), I also get Slice(List, 0, null) -> should return source list
This seems to be an issue with the mapping from Take to Slice...

Submitted comment 1438


Introduce BufferedInputStream for non MessageFormatFlags.All cases.

Use BufferedInputStream to reduce disk IO and system call for getBlobInfo, getUserMetadata, getBlobProperties and getBlob(body only).
New jar is tested in EI, logger.trace shows 0 ms for each step and getBlobInfo total latency is close to others.

Codecov Report

Merging #931 into master will decrease coverage by 0.16%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master     #931      +/-   ##
============================================
- Coverage     67.24%   67.08%   -0.17%
+ Complexity     4337     4325      -12
============================================
  Files           363      363
  Lines         28460    28464       +4
  Branches       3602     3602
============================================
- Hits          19137    19094      -43
- Misses         8319     8352      +33
- Partials       1004     1018      +14

Impacted Files
Coverage Δ
Complexity Δ

....github.ambry.messageformat/MessageFormatSend.java
89.08% <100%> (+0.25%)
22 <0> (ø)
:arrow_down:

.../main/java/com.github.ambry.router/EncryptJob.java
92.1% <0%> (-5.27%)
4% <0%> (-1%)

...c/main/java/com.github.ambry.network/Selector.java
78.4% <0%> (-3.6%)
44% <0%> (-1%)

...java/com.github.ambry.store/CompactionManager.java
87.83% <0%> (-3.38%)
19% <0%> (ø)

...b.ambry.network/BlockingChannelConnectionPool.java
63.47% <0%> (-2.18%)
8% <0%> (ø)

.../main/java/com.github.ambry.store/HardDeleter.java
80% <0%> (-1.94%)
41% <0%> (-1%)

....github.ambry.clustermap/StaticClusterManager.java
75.11% <0%> (-1.81%)
80% <0%> (-1%)

.../java/com.github.ambry.router/DeleteOperation.java
91.91% <0%> (-1.48%)
43% <0%> (-1%)

...in/java/com.github.ambry.store/BlobStoreStats.java
70.81% <0%> (-1.2%)
82% <0%> (-1%)

...ava/com.github.ambry.store/BlobStoreCompactor.java
92.42% <0%> (-1.12%)
119% <0%> (-3%)

... and 3 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 c56ac4f...edfd938. Read the comment docs.


About handling routes

Hi guys,
Here are some issues related to the way we're handling routes in react-boilerplate:
Step 1:
Create a root route app/app.js#73
// Set up the router, wrapping all Routes in the App component
const rootRoute = {
  component: App,
  childRoutes: createRoutes(store),
};

Step 2:
Inject sagas and reducers for configured routes app/routes.js. To my understanding, this step is a requirement for pages using reducer and sagas.
// ...
    {
      path: '/',
      name: 'home',
      getComponent(nextState, cb) {
        const importModules = Promise.all([
          import('containers/HomePage/reducer'),
          import('containers/HomePage/sagas'),
          import('containers/HomePage'),
        ]);

        const renderRoute = loadModule(cb);

        importModules.then(([reducer, sagas, component]) => {
          injectReducer('home', reducer.default);
          injectSagas(sagas.default);

          renderRoute(component);
        });

        importModules.catch(errorLoading);
      },
    }
// ..

I think each step has its own problem:
Problem 1
Step 1 defines the general layout that every pages must conform. What if another page, say Login, doesn't need the layout? If we use plain react-router, we can fix by using following configuration:
  <Route>
    <Route path="login" component={Login}/>
    <Route path="/" component={App}>
      <Route path="/repos" component={Repos}>
        <Route path="/repos/:userName/:repoName" component={Repo}/>
      </Route>
      <Route path="/about" component={About}/>
    </Route>
  </Route>

Problem 2
If all that we need is to load associated sagas and reducers, Step 2 is too lengthy. This makes it hard to add new routes.
Another approach (probably better) is:

Defining prop meta in each page. For example:

Login.meta = {
    reducer,
    sagas,
    // we can add another props about SEO...
};

export default Login;

routes.js should be rewritten by allowing users define routes with plain react-router definitions in the following way:

const routes = (
  <Route>
    <Route path="login" component={Login}/>
    <Route path="/" component={App}>
      <Route path="/repos" component={Repos}>
        <Route path="/repos/:userName/:repoName" component={Repo}/>
      </Route>
      <Route path="/about" component={About}/>
    </Route>
  </Route>
)

const inject = (routes) => {
  // loop through each defined routes
  // if associated component contains valid meta props
  // inject sagas and reducers accordingly
  return routes;
}

export default inject(routes);

Above is my opinion. It may be misleading. Please correct me.

Closing due to inactivity


Build fails with Go 1.23

👋 while regression build 1.0.16 release was go 1.23.0, seeing some build failure as below:
  # github.com/hdt3213/rdb
  link: github.com/bytedance/sonic/ast: invalid reference to encoding/json.safeSet

sonic does not support  go 1.23.0. It will be fixed later

fixed in v1.0.17

Thanks! https://formulae.brew.sh/formula/rdb


object type binding errors

I don't know if its already known but on Master & Develop Branch in files order-details.service.ts (Line 31), login-form.component.ts(43) and in register.component.ts (80) are some object type binding errors. Cause of that serve not goes up.
`ERROR in projects/storefrontlib/src/lib/user/login-form/login-form.component.ts(43,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'string'.
ℹ ｢wdm｣: Failed to compile.`
// as a workaround for me, I have declared object/return type to "any". (edited)

we think we fixed this, we'll keep our eyes open if it comes back


Question maps outdated since June 2024 Well Architected update

Describe the bug
Since the June 2024 update to the Well Architected framework, some of the question mappings are now incorrect.  For example, OPS04.BP01 is now focused on KPIs,
https://docs.aws.amazon.com/wellarchitected/latest/framework/ops_observability_identify_kpis.html
where as the mod is still checking for telemetry:
https://github.com/turbot/steampipe-mod-aws-well-architected/blob/ea7437d94c609fb8847fa9a25b76099a5d03887e/well_architected_framework/operational_excellence/ops04.sp#L18-L37
Expected behavior
A review of the mod and best practice mappings is likely needed to bring it up to date across all pillars.

@nathanwebsterdotme Thanks for raising this issue. We will update the mod as per the latest documentation as soon as possible.

Hi @nathanwebsterdotme
Thank you for raising this issue. We have checked our documentation and confirmed that we strictly adhere to the AWS Audit Manager for well-architected benchmarks.
As per our current process, our benchmark is in sync with the Audit Manager framework. Please find the screenshots below.
Note: The AWS Audit Manager Well-Architected Framework was last updated on May 29, 2024, at 19:59 (UTC+0:00). We will revisit this matter once the framework is updated.
For now, we are closing the issue and reopen it once the latest version comes out.
Thank you for your understanding.


reducing amount of GlobalMemory

Travis CI containers only give me 4 GB of memory.  Grappa is allocating all of that in the shared heap (or 4x that if the printout is the per-thread amount).
I read through source and cannot see how to set this myself.  Is that supported?
I guess I can run only 2 procs, but I like testing on 4 even though this is oversubscribing, because oversubscribing seems to release more bugs in parallel runtimes.
+/home/travis/PRK-deps/mpich/bin/mpirun -n 4 GRAPPA/Synch_p2p/p2p 10 1024 1024
I0107 00:46:42.978490 81814 Allocator.hpp:185] Allocator is responsible for addresses from 0 to 0xeb860000
I0107 00:46:42.978878 81814 GlobalMemory.cpp:67] Initialized GlobalMemory with<PHONE_NUMBER> bytes of shared heap.
I0107 00:46:42.990459 81815 GlobalMemory.cpp:67] Initialized GlobalMemory with<PHONE_NUMBER> bytes of shared heap.
I0107 00:46:42.990805 81816 GlobalMemory.cpp:67] Initialized GlobalMemory with<PHONE_NUMBER> bytes of shared heap.
I0107 00:46:43.006459 81817 GlobalMemory.cpp:67] Initialized GlobalMemory with<PHONE_NUMBER> bytes of shared heap.
I0107 00:46:43.009131 81814 Grappa.cpp:647]
-------------------------
Shared memory breakdown:
  node total:                   29.4405 GB
  locale shared heap total:     14.7202 GB
  locale shared heap per core:  3.68006 GB
  communicator per core:        0.125 GB
  tasks per core:               0.0156631 GB
  global heap per core:         0.920013 GB
  aggregator per core:          0.00247955 GB
  shared_pool current per core: 4.76837e-07 GB
  shared_pool max per core:     0.920015 GB
  free per locale:              10.475 GB
  free per core:                2.61876 GB
-------------------------
Parallel Research Kernels version 2.16
Grappa pipeline execution on 2D grid
===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   PID 81815 RUNNING AT testing-worker-linux-docker-8535467c-3182-linux-2
=   EXIT CODE: 135
=   CLEANING UP REMAINING PROCESSES
=   YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
===================================================================================
YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Bus error (signal 7)
This typically refers to a problem with your application.
Please see the FAQ page for debugging suggestions

my quick answer:
You can get some memory related options with
$YOUR_APPLICATION_COMMAND --help | grep global\|locale -A1
You may want to mess with the -global_heap_fraction option. If your configuration is 4cores(ie grappa processes) on 1 node, it does look like all 3.6 GB are being assigned to the global heap (0.9 * 4)

There are three main flags that control the way the node memory gets divided up. The main one is
    --locale_shared_fraction (Fraction of total node memory to allocate for
      Grappa) type: double default: 0.5

There are a couple other other pools that are allocated out of that locale shared heap, and they are controlled with
    -global_heap_fraction (Fraction of locale shared memory to set aside for
      global shared heap) type: double default: 0.25
    -shared_pool_memory_fraction (Fraction of locale shared heap to use for
      shared pool) type: double default: 0.25

I would suggest first setting ---locale_shared_fraction=0.25 or slightly less and see what happens. We did not design for oversubscription, though, so we may not have exposed all the necessary flags. I can take a look in a couple days if this doesn't work for you immediately.
(This is another thing I hope to simplify this month)


Broadcast addition triggers IndexError: map::at

Hi, I'm trying to modify the Matrix Multiplication tutorial and added this line:
accumulator += tl.sum(a.to(tl.float32), axis=1)[:, None]     # my code
accumulator += tl.dot(a, b)                                  # tutorial code

where:

accumulator is fp32[BLOCK_SIZE_M, BLOCK_SIZE_N]
a is fp16[BLOCK_SIZE_M, BLOCK_SIZE_K]
b is fp16[BLOCK_SIZE_K, BLOCK_SIZE_N]

This triggered a Segmentation fault.
When I comment out the dot product I get IndexError: map::at
And the unmodified tutorial works fine
I want to add the row sum of a to each column in the output.
The same errors go for the column sum of b, added to each row in the output. i.e., accumulator += tl.sum(b.to(tl.float32), axis=0)[None, :]
I may not be applying the vectorization correctly, but I can't find documentation on that!
Or perhaps there's something wrong with my system. Documentation doesn't specify requirements!
Traceback
Traceback (most recent call last):
  File "<string>", line 21, in matmul_kernel
KeyError: ('2-.-0-.-0-842f0fbd42a6607893f7134cdd9d16f2-2b0c5161c53c71b37ae20a9996ee4bb8-c1f92808b4e4644c1732e8338187ac87-f24b6aa9b101a518b6a4a6bddded372e-12f7ac1ca211e037f62a7c0c323d9990-5c5e32ff210f3b7f56c98ca29917c25e-06f0df2d61979d629033f4a22eff5198-0dd03b0bd512a184b3512b278d9dfa59-d35ab04ae841e2714a253c523530b071', (torch.float16, torch.float16, torch.float16, 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32', 'i32'), (128, 256, 32, 8, ''), (True, True, True, (True, False), (True, False), (True, False), (True, False), (False, True), (True, False), (False, True), (True, False), (False, True)))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/Gits/learn-triton/matmul.py", line 148, in <module>
    triton_output = matmul(a, b)
  File "/home/user/Gits/learn-triton/matmul.py", line 134, in matmul
    matmul_kernel[grid](
  File "/home/user/miniconda3/envs/pytorch2.0/lib/python3.9/site-packages/triton/runtime/jit.py", line 106, in launcher
    return self.run(*args, grid=grid, **kwargs)
  File "/home/user/miniconda3/envs/pytorch2.0/lib/python3.9/site-packages/triton/runtime/autotuner.py", line 73, in run
    timings = {config: self._bench(*args, config=config, **kwargs)
  File "/home/user/miniconda3/envs/pytorch2.0/lib/python3.9/site-packages/triton/runtime/autotuner.py", line 73, in <dictcomp>
    timings = {config: self._bench(*args, config=config, **kwargs)
  File "/home/user/miniconda3/envs/pytorch2.0/lib/python3.9/site-packages/triton/runtime/autotuner.py", line 63, in _bench
    return do_bench(kernel_call)
  File "/home/user/miniconda3/envs/pytorch2.0/lib/python3.9/site-packages/triton/testing.py", line 140, in do_bench
    fn()
  File "/home/user/miniconda3/envs/pytorch2.0/lib/python3.9/site-packages/triton/runtime/autotuner.py", line 62, in kernel_call
    self.fn.run(*args, num_warps=config.num_warps, num_stages=config.num_stages, **current)
  File "<string>", line 41, in matmul_kernel
  File "/home/user/miniconda3/envs/pytorch2.0/lib/python3.9/site-packages/triton/compiler.py", line 1256, in compile
    asm, shared, kernel_name = _compile(fn, signature, device, constants, configs[0], num_warps, num_stages,
  File "/home/user/miniconda3/envs/pytorch2.0/lib/python3.9/site-packages/triton/compiler.py", line 901, in _compile
    name, asm, shared_mem = _triton.code_gen.compile_ttir(backend, module, device, num_warps, num_stages, extern_libs, cc)
IndexError: map::at

System:
Nvidia Driver: 510.47.03
CUDA: 11.6
conda: 4.10.1
triton: 0.0.dev20221202
torch: 2.0.0.dev20230110+cu117

I tried the latest stable release of Triton, but it didn't work at all. Also, I couldn't build from source, so I'm using the nightly release.
Many thanks for considering my issue.

What error are you facing while building from source? The "nightly" is quite old. We are in the process of stabilizing things with the new backend and next week we'll be back to releasing new nightly builds

I see. I'm using GCC 7.5, and it didn't recognize filesystem header. I didn't know how to deal with it then.
Anyway, It was used to find the path to libdevice.10.bc. So I ended up hard-coding the path and recompiled it with success. This is fine for my needs now, and I will be waiting for the new nightly builds.
The problem afterward disappeared, and everything has worked fine so far.
Thank you. I'll be closing this issue since it's not relevant anymore.


DynamicElement Interaction

There should be a way for dynamic elements to interact.
A conditional statement may want to check if a variable is set in it's parent iteration.
$this->parent->id();
$this->child->id();
$this->self->id();
$this->element('23')->get_var('happy');
A variable will need to be able to check some scope for it's existence

This should be built into the DynamicElement abstract class.

DynamicElements will need to access parent and possibly child object public properties.
This will be essential to the  element. In this case it seems as though a scope attribute would be useful.
<partial name="user_list" id="23">
<condition>
<arg scope="partial.user_list" name="name">true</arg>
<arg name="format">

<var scope="partial.user_list" name="first_name"/> <var scope="partial.user" name="last_name"/>

</condition>
</arg>
</partial>

Also, the variable may change during loop execution, e.g.

1
2
3
>

Added ancestor variables with commit ed761fb


batch training but online prediction

Hi,
I trained a LSTM models with batch training(stateful=false), but then I want to use it to do online prediction. Is it possible?
E.g when training the model, the input shape is (32, 5, 2). The batch_size is 32, time_steps is 5, data_dim is 2. But if it is used to do online prediction, the batch_size can not be 32, and the time_steps can not be 5 as well. Actually, both batch_size and time_steps will be 1.(Online prediction)
So how can I implement this with keras?
I would appreciate any ideas!

You can create a new graph that has a batch size of 1 on the input layer. Use get_weights() to extract the weights from the trained model and set_weights to load the weights into the inference graph.


Practice, Practice, Git, Bash due August 25

Add a folder with name and print from bash script as requested by assignment
Add a folder with my name as the folder name
Create a bash script that prints my name.

Getting used to pull request. I understander that the tacksoo/bash_basics is the same as forked one by the professor. I just did not like see the original. I wanted to see the professor one. Reopening as it is needed for assignment.


Dev isoslice

Add xoa.regrid.isoslice function #49

Maybe one of the isoslice test can be a plot of the mixed layer depth computed as depth at which the temperature differs of 0.5°C from the sea surface temperature, this in a 2D section.

Forget my remark on the MLD, I can work on it latter!

I'll add the unit test.

I'll add the unit test.
Ok you want to do this on this branch ?
I let you merge the pull request when it's okay


Msi: consolidate provision logics and related authentication support

Fix #6128, that I will leverage the reserved user names for reliable match
Fix #5937, that CLI no longer provisions the MSI VM extension

[x] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[x] I adhere to the Command Guidelines.

@derekbekoe, could you please review it?


Catch ImagickException

Thank you for this class, very useful! As I using this class for generating thumbnails from user provided PDFs it turns out that every once in a while ImagickException throws an exception. As the conversion with ImagickException has no try/catch this exception is not catched and is also not catchable from outside the class, as its already terminating the process within the class.
More precisely this happens for me every once in a while in getImageData() when $imagick->readImage() is called. Would it be feasible to introduce a try/catch there, so one could catch the error from outside the class and handle it appropriately?
Thanks so much!

Why can't you catch the Imagick exception when calling this code?

Thanks, I am at a loss what I was doing when I reported this – as far as I can tell I have figured it out and it was a misunderstanding from my end. Sorry for the trouble.
As far as I can see I can catch any ImagickException from outside the class, so not a problem on the classes end.
try {            //do anything that might involve potential imagick errors         } catch (\ImagickException $exception) {             //imagemagick error         }
Thanks.

Cool, nice to hear this was resolved :)


(release-8.1) txn: use u64::MAX as txn_size for Flush commands (#16811)

ref tikv/tikv#16810
Cherry picking #16811
fix: use u64::MAX as txn_size for Flush commands to avoid unexpected resolve_lock_lite

What is changed and how it works?

Issue Number: Close #xxx

What's Changed:

Related changes

[ ] PR to update pingcap/docs/pingcap/docs-cn:
[ ] Need to cherry-pick to the release branch

Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Release note

None

Use https://github.com/tikv/tikv/pull/16900


Revert "Merge pull request #18206 from grpc/revert-18182-enable-deadl…

…ine-propagation"
This reverts commit 63ef07ebb538ab15bc30e1c1b1b15855f8cd0ea1, reversing
changes made to 046e3e4ab5cdb867bda7a5c40fd9b0ac84ad0ff8.

Let's get the cherrypick change prepared first.


Using climate.set_temperature to set temp and mode doesn't work

If I use climate.set_temperature when the climate entity is off will only set the temp but not do anything with the hvac_mode. The behavior I'd expect from this call is to set the temp to 100º and set the entity to heat. This is how other integrations (e.g., Ecobee) work.
Example service call
service: climate.set_temperature
data:
  temperature: 100
  hvac_mode: heat
target:
  entity_id: climate.spa_thermostat

This is true since the user docs suggest that hvac_mode should be respected.
Looks like a relatively straightforward change to make but if I'm to do this it's going to be a couple more months until my spa in unpacked again for summer and available for testing.
The workaround for now is to explicitly call climate.set_hvac_mode.

it's going to be a couple more months until my spa in unpacked again for summer and available for testing.

I agree, looks like a simple change. Mine is out and I'm willing to test. If you have a pre-release version you want me to try out ahead of time I'd be happy to. No rush though, I'm using the workaround in the meantime and appreciate you having taken the time to write this.


Delete object fail with riakc_pb_socket

Riak version: Head of master branch
Erlang version: R16B02
Pid = riakc_pb_socket:start_link("<IP_ADDRESS>", 10017).
{ok,<0.1248.0>}
(portal@<IP_ADDRESS>)10> riakc_pb_socket:delete(Pid, {<<"snippet">>, <<"5091">>}, <<"19033">>).
** exception exit: {{function_clause,
[{gen,call,
[{ok,<0.1248.0>},
'$gen_call',
{req,
{rpbdelreq,<<"5091">>,<<"19033">>,undefined,undefined,
undefined,undefined,undefined,undefined,undefined,undefined,
undefined,undefined,<<"snippet">>},
60000},
infinity],
[{file,"gen.erl"},{line,149}]},
{gen_server,call,3,[{file,"gen_server.erl"},{line,186}]},
{erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,661}]},
{shell,exprs,7,[{file,"shell.erl"},{line,676}]},
{shell,eval_exprs,7,[{file,"shell.erl"},{line,631}]},
{shell,eval_loop,3,[{file,"shell.erl"},{line,616}]}]},
{gen_server,call,
[{ok,<0.1248.0>},
{req,
{rpbdelreq,<<"5091">>,<<"19033">>,undefined,undefined,
undefined,undefined,undefined,undefined,undefined,undefined,
undefined,undefined,<<"snippet">>},
60000},
infinity]}}
in function  gen_server:call/3 (gen_server.erl, line 190)

Hey @barcoyou - excuse the delay. Let's find out what repo this error affects and get it routed over there as soon as we do. I'll post in the Riak S2 repo and keep us posted on this thread.

This is just mismatch before starting deletion. You should have written like this.
{ok, Pid} = riakc_pb_socket:start_link("<IP_ADDRESS>", 10017).

 While you're welcome to post anything you are confident is a bug in GitHub, it may be easier to discuss these over the riak-user mailing list. If you haven't already, sign up!
Closing.


When using [columnMode]="'flex'"  table header is not matching columms.

I'm submitting a ...  (check one with "x")
[x ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here

Current behavior
There is no way column width to be as it's content size ?

When using [columnMode]="'flex'"  table header is not matching columms.
[canAutoResize] - is not working or breaks table width. [canAutoResize]="false" and [maxWidth]="40" breaks header matching oclumns... and so on

Expected behavior

Reproduction of the problem

What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Table version: 0.6.3

Angular version: 2.4.8

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Language: [all | TypeScript X.X | ES6/7 | ES5]

Same trouble, in v8.2.1.

It works when flex is mentioned without quotes (') but then it's not passing AoT compiling.

Adding public flex:any; public auto:any; to component solves AoT issue.

v 9.3.0 [maxWidth] is applied only on the header column

I have the same problem on v9.3.1. I see it when resizing columns or when resizing the window: the table content redraws independently of the table headers. Using flex without quotes is the same as not using flex at all: table column content follows the headers, but the columns don't flexGrow in that case and I get horizontal scrollbars.

Same issue, I think, using 9.3.1. Using [columnMode]="'force'" and [scrollbarH]="true", with 19 columns, which should scroll once the data is loaded, instead I get column header widths that don't match the column widths. My expectation would be that they columns would match the headers widths and the whole table would just scroll horizontally, but the columns all get forced into the available space initially. Once the headers don't match the columns, resizing doesn't seem to reset them to lining up from that point on.

I had this problem only when resizing columns and playing with recalculate didn't help much. I tried a number of different things, but then I realized the following:

It always draws correctly on page-load, and
It always resets correctly when I drag to resize a column.

So I just made a show attribute on the component that holds the table and I added a HostListener for (window:resize) that looked like this:
import { throttleable } from '@swimlane/ngx-datatable/src/utils';

  @HostListener('window:resize')
  @throttleable(5)
  resize(event) {
    this.show = false;
    setTimeout(() => {
      console.log("FIRING!");
      if (this.hardMacroColumns.length > 0) {
        this.show = true;
      }
    }, 100);
  }

Note: I borrowed that throtteable decorator from this library because it seemed pretty useful.
Anyway, this worked for me: the table gets dropped and recreated when the window is resized.

We're seeing the same issue in our project as well. When we set a column to [flexGrow]="0" the subsequent column's header does not line up in the correct place.

This looks very similar to the issues I'm experiencing in my configuration. Link goes to another issue.

How did you resolved this problem? Can you please help me with that


heteroscedastic variance for data points.

Is there a way to train with Heteroscedastic variance for data points?

Yes, but only variance for each datapoint. You can use the HeteroscedasticWhite kernel. This is only available from the devel branch, and will be in the next release. You can also to Heteroscedastic regression, shown in the notebook on the notebook GitHub page.
https://github.com/SheffieldML/notebook
You should have a look for those, there is many answers in there, it is our way of documenting GPy

Thanks @mzwiessele
I also wanted to check that in previous posts on Heteroscedastic noise models, it has been suggested,
to use the Y_metadata.
Y_meta = {'output_index':np.arange(len(Y))[:,None]}
m = GPy.models.GPHeteroscedasticRegression(X[:,None],Y[:,None],kern, Y_metadata=Y_meta)

And in the example notebook, they use the exact noise.
m['.*het_Gauss.variance'] = abs(error)[:,None] #Set the noise parameters to the error in Y
m.het_Gauss.variance.fix() #We can fix the noise term, since we already know it
m.optimize()

Could I pass in that the noise values are being generated from different distributions (using the Y_metadata) and also pass in the noise term. But not fix them.
Would the model initialize the noise with the input values but optimize to get a set of variance values as set by Y_metadata?

There is a mixed likelihood, which mixes the likelihoods for you. It takes Y metadata and distributed the terms for the datapoints to different likelihoods. As long as the noise distribution is implemented you can use it to have the parameters of it learnt. See in GPy.likelihoods, you will find it there.

Am 15.03.2016 um 00:07 schrieb Animesh Garg<EMAIL_ADDRESS>Thanks @mzwiessele https://github.com/mzwiessele
I also wanted to check that in previous posts on Heteroscedastic noise models, it has been suggested,
to use the Y_metadata.
Y_meta = {'output_index':np.arange(len(Y))[:,None]}
m = GPy.models.GPHeteroscedasticRegression(X[:,None],Y[:,None],kern, Y_metadata=Y_meta)
And in the example notebook, they use the exact noise.
m['.*het_Gauss.variance'] = abs(error)[:,None] #Set the noise parameters to the error in Y
m.het_Gauss.variance.fix() #We can fix the noise term, since we already know it
m.optimize()
Could I pass in that the noise values are being generated from different distributions (using the Y_metadata) and also pass in the noise term. But not fix them.
Would the model initialize the noise with the input values but optimize to get a set of variance values as set by Y_metadata?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/SheffieldML/GPy/issues/329#issuecomment-196577729 https://github.com/SheffieldML/GPy/issues/329#issuecomment-196577729