TypeError: Cannot set property 'validated' of undefined

Thanks for your great work with this library! I'm new to React and am unfortunately having some trouble getting things working. I copied and slightly modified one of your examples:
var BasicLayout = React.createClass({
  mixins: [React.PureRenderMixin],

  getDefaultProps: function() {
    return {
      className: "layout",
      items: 20,
      rowHeight: 30,
      cols: 12
    };
  },

  getInitialState: function() {
    var layout = this.generateLayout();
    return {
      layout: layout
    };
  },

  generateDOM: function() {
    return _.map(_.range(this.props.items), function(i) {
      return (
{i}
);
    });
  },

  generateLayout: function() {
    var p = this.props;
    var layout = [];
    var y;
    for (i = 0; i <= p.items - 1; i++) {
      y = p['y'] || Math.ceil(Math.random() * 4) + 1;
      layout[i] = {x: i * 2 % 12, y: Math.floor(i / 6) * y, w: 2, h: y, i: i};
    }
    return layout;
  },

  onLayoutChange: function(layout) {
    this.props.onLayoutChange(layout);
  },

  render: function() {
    return (
      <ReactGridLayout layout={this.state.layout} onLayoutChange={this.onLayoutChange}
          {...this.props}>
        {this.generateDOM()}
      </ReactGridLayout>
    );
  }
});

Unfortunately, this triggers an error: TypeError: Cannot set property 'validated' of undefined. The relevant bit of code involves the line node._store.validated = true; within the following block:
function validateChildKeys(node, parentType) {
  if (Array.isArray(node)) {
    for (var i = 0; i < node.length; i++) {
      var child = node[i];
      if (ReactElement.isValidElement(child)) {
        validateExplicitKey(child, parentType);
      }
    }
  } else if (ReactElement.isValidElement(node)) {
    // This element was passed in a valid location.
    node._store.validated = true;
  } else if (node) {
    var iteratorFn = getIteratorFn(node);
    // Entry iterators provide implicit keys.
    if (iteratorFn) {
      if (iteratorFn !== node.entries) {
        var iterator = iteratorFn.call(node);
        var step;
        while (!(step = iterator.next()).done) {
          if (ReactElement.isValidElement(step.value)) {
            validateExplicitKey(step.value, parentType);
          }
        }
      }
    } else if (typeof node === 'object') {
      var fragment = ReactFragment.extractIfFragment(node);
      for (var key in fragment) {
        if (fragment.hasOwnProperty(key)) {
          validatePropertyKey(key, fragment[key], parentType);
        }
      }
    }
  }
}

I'm not sure how helpful that is on its own; I can get you the full trace if needed. For what it's worth, I'm using react-rails. The problem could lie within that, but I've tested some basic examples (not including RGL) and everything worked as expected.
Thanks!

Perhaps the full source would help. You can embed on jsfiddle by using the React CDN and this module via https://rawgit.com/STRML/react-grid-layout/master/dist/react-grid-layout.min.js

Thanks. I reproduced it in this JSFiddle.

Just wanted to verify, are you using the dist library from the CDN, or are you using webpack/browserify?

Not sure which library you're referencing... If it's RGL, I'm using the rawgit link you referenced above.
You can hover over each of the "External Resources" to see the origins of the other assets.

Yeah, I'm asking about the first time you saw the bug - were you using the
build or using browserify/webpack?
On Apr 2, 2015 11:15 PM, "Nick Sinopoli"<EMAIL_ADDRESS>wrote:

Not sure which library you're referencing... If it's RGL, I'm using the
rawgit link you referenced above.
You can hover over each of the "External Resources" to see the origins of
the other assets.
—
Reply to this email directly or view it on GitHub
https://github.com/STRML/react-grid-layout/issues/40#issuecomment-89141178
.

Ah, I was using the build.

Cool. I think it might be a build error. Will investigate.
On Apr 3, 2015 12:03 AM, "Nick Sinopoli"<EMAIL_ADDRESS>wrote:

Ah, I was using the build.
—
Reply to this email directly or view it on GitHub
https://github.com/STRML/react-grid-layout/issues/40#issuecomment-89155258
.

Okay - this is fixed, see this fiddle.
Issue was the react/lib/cloneWithProps import, which imported ReactElement and a host of other garbage. React really doesn't play nice when there are duplicated imports of its modules. Using browserify or webpack fixes this automatically but the build was not quite as smart.
This also shaves a few kb (about 25kb from the unminified build) as well.
Thanks for bringing this to my attention.

Great, thanks so much! One last question... Which assets do I need to include so that the animations are as smooth as the ones found here?

There appears to be another difference between the bundle and the original webpacked source - react-draggable is acting oddly and the style passed by the grid is overriding the style set when dragging, which isn't supposed to happen. I'll take a look at it.
React sure gets strange when you package it this way.

Any luck?

I have encountered the same problem while building an app using react-grid-layout for electron.
If I use webpack with target: "atom" then the error happens.
I really don't understand the problem but the solution was the same, adding this to my webpack.config.js:
plugins: [
    new webpack.NormalModuleReplacementPlugin(/\/react\/lib\/cloneWithProps/, '../../react-clonewithprops/index.js'),
  ],


Make sure Git is installed

Moved from https://github.com/litaio/lita/issues/189.

If I follow the documentation between https://docs.lita.io/getting-started/installation/#development-environment and https://docs.lita.io/plugin-authoring/handlers/
The result is:
lita@4ac79d5e8890:~/workspace/lita$ lita handler hello
/home/lita/.gems/gems/lita-4.7.0/lib/lita/cli.rb:153:in ``': No such file or directory - git (Errno::ENOENT)
        from /home/lita/.gems/gems/lita-4.7.0/lib/lita/cli.rb:153:in `generate_user_config'
        from /home/lita/.gems/gems/lita-4.7.0/lib/lita/cli.rb:149:in `generate_config'
        from /home/lita/.gems/gems/lita-4.7.0/lib/lita/cli.rb:103:in `handler'
        from /home/lita/.gems/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
        from /home/lita/.gems/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
        from /home/lita/.gems/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
        from /home/lita/.gems/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
        from /home/lita/.gems/gems/lita-4.7.0/bin/lita:6:in `<top (required)>'
        from /home/lita/.gems/bin/lita:22:in `load'
        from /home/lita/.gems/bin/lita:22:in `<main>'

2 fixes need to be done:

check if the git command is there before trying to invoke it and give a user friendly error
add git in the lita docker image so it doesn't happen

The workaround of course:
lita@4ac79d5e8890:~/workspace/lita$ sudo apt-get install git

Ran into the same issue and I was so focused on building a handler I didn't realize it had to do with git. Thanks for posting this @jimmycuadra.

I have the same issue.  So far no fix.
 The exception was:
undefined method `example_chat_service' for #<Lita::Configuration:0x00000001120d08>
Full backtrace:
/home/bots/lita/lita_config.rb:6:in `block in <top (required)>'
/var/lib/gems/2.1.0/gems/lita-4.7.1/lib/lita/registry.rb:17:in `configure'
/home/bots/lita/lita_config.rb:1:in `<top (required)>'
/var/lib/gems/2.1.0/gems/lita-4.7.1/lib/lita/configuration_builder.rb:49:in `load'
/var/lib/gems/2.1.0/gems/lita-4.7.1/lib/lita/configuration_builder.rb:49:in `load_user_config'
/var/lib/gems/2.1.0/gems/lita-4.7.1/lib/lita.rb:75:in `run'
/var/lib/gems/2.1.0/gems/lita-4.7.1/lib/lita/cli.rb:77:in `start'
/var/lib/gems/2.1.0/gems/thor-0.19.4/lib/thor/command.rb:27:in `run'
/var/lib/gems/2.1.0/gems/thor-0.19.4/lib/thor/invocation.rb:126:in `invoke_command'
/var/lib/gems/2.1.0/gems/thor-0.19.4/lib/thor.rb:369:in `dispatch'
/var/lib/gems/2.1.0/gems/thor-0.19.4/lib/thor/base.rb:444:in `start'
/var/lib/gems/2.1.0/gems/lita-4.7.1/bin/lita:6:in `<top (required)>'
/usr/local/bin/lita:22:in `load'
/usr/local/bin/lita:22:in `<main>'

My config as a test is taken directly from the lita website
Lita.configure do |config|
  config.robot.name = "Sir Bottington"
  config.robot.mention_name = "bottington"
  config.robot.alias = "/"
  config.robot.adapter = :irc
  config.adapters.example_chat_service.username = "bottington"
  config.adapters.example_chat_service.password = "secret"
 ## config.redis[:host] = "redis.example.com"
  config.handlers.karma.cooldown = 300
  config.handlers.google_images.safe_search = :off
end

The irc chat is no help.

Still no good.
Config is as follows
Lita.configure do |config|
  config.robot.name = "Lita"
  config.robot.mention_name = "lita"
  config.robot.adapter = :irc
  config.adapters.irc.server = "irc.forestofone.com"
  config.adapters.irc.channels = ["#main"]
  config.adapters.irc.user = "Lita"
  config.adapters.irc.password = "secret"
  config.adapters.irc.realname = "Lita"
#  config.redis[:host] = "<IP_ADDRESS>"
#  config.redis[:port] = "6379"
  config.adapters.irc.cinch = lambda do |cinch_config|
    cinch_config.max_reconnect_delay = 123
end
        end

When I type lita
It just stay at
[2017-01-24 22:26:54 UTC] INFO: Connecting to IRC.
But doesn't connect to my irc server.

@bladedshard The problems you are having are not related to this issue. We can continue to discuss in IRC, or you should open a new issue. Thanks!


INTEGRATION TESTING

Feature: Integration Tests
Description
This PR introduces integration testing for the site, as well as separating the execution of unit and integration tests depending on circumstance (push, PR, merge).
Changes
Frontend:

Added test and integration dirs, and unit test file (navbarInteraction.int.test.tsx)
Added integration tests for the site
Added scripts to package.json to separate testing (unit and integration)
Modified YAML file to execute unit tests always, and integration tests on PR and as part of branch protection

Testing

Manual testing was conducted in the dev server/browser, and extensively in the terminal (manually calling new scripts)
Unit tests pass
Integration tests all pass

Notes

This was done as one PR because adding integration testing naturally dictated an establishment of the separation of concerns for testing, resulting in the changes made to package.json, and unit test file names. e2e and snapshots will be implemented when further detail is added to the frontend (link and button functionality, actual content, etc).

Checklist

[x] Code compiles correctly
[x] All tests passing
[x] No merge conflicts

Reviewers
Requesting review from @jonbrunt
Tags
#enhancement

The integration tests are passing, but an error is being thrown regarding the window.scrollTo not being available in the Jest environment. I noticed this when reviewing the Actions log. We'll cover this functionality in subsequent e2e testing with Cypress, but can we mock the function to avoid this issue? It will save a bit of computing overhead. It is a detail, but it is key that we always try to reduce technical debt when feasible.

Commit 478b327 solved the problem.
Will merge and delete the feature branch.


:bug: Fix(zod): Fix nonoptional param in zContractParams

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

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

Your ENS/address:

Current dependencies on/for this PR:

main

PR #806   👈

PR #807

PR #808

PR #809

This stack of pull requests is managed by Graphite.


[Compute] Change "--enable-bursting" to flag it is for on-demand only

Description
--enable-bursting enables/disables on-demand bursting. It does not enable/disable credit-based bursting. Change help text to avoid misinterpretation.
Testing Guide
az disk update --help | grep burst
History Notes
N/A
This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

Compute


Update machine-learning-r-csharp-survival-analysis.md

Hi @nk773, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (neerajkh). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@nk773
Please correct the date format. Month and day must be two digits each, so it should be 02/28/2016. Thanks.


I can't get over 2 weeks and 5 days

Hey!
When I try to convert the timestamp to a human readable timestamp, it does not work. Everything over two weeks and five days, get's sort of cut off, and it only displays things like "2 weeks, 5 days, 19 hours, 10 minutes, 0.400720999956131".
That's my code:
const expireTimestamp = dayjs().add(6, 'months').valueOf();
const humanTimestamp = humanizeDuration(Math.floor(expireTimestamp / 1000));

It looks like you're dividing by 1000. What happens if you remove that?

Then I get something like "53 years, 8 months, 2 weeks, 22 hours, 49 minutes, 48.25 seconds" out of it.

 Thank you for your time.

 Thank you for your time.

I'm sure that's not true! Feel free to open a new issue if you encounter any other problems.


Question: Keywords field

How to add keywords field?

Hi! I don't think that would be possible right now, but I'm open to a PR. 👍

Ok. Thanks


Add young vacations by amongus2012621

Song Name
young vacations
Artist Name
amongus2012621
Source
Youtube
Youtube Link
https://youtube.com/@vacationsband?si=ovBsz7D977U6Mibs
Direct File Link
https://youtube.com/@vacationsband?si=ovBsz7D977U6Mibs
Song ID
557117
Start Offset [ms]
1
Extra
Created from Auto Nong.
Created for level: 82247748

reject
not a link


Flexible page ranges for lp

The Debian CUPS maintainer explained in Debian bug report #889178 the reason why lp -P <page-range> only takes a very restrictive page range specification, referencing RFC8011, and specifically section 5.2.7:

5.2.7.  page-ranges (1setOf rangeOfInteger(1:MAX))
This RECOMMENDED attribute identifies the range(s) of Input Pages
that the Printer uses for each Set to be printed prior to imposition
of those pages onto Impressions.  Nothing is printed for any pages
identified that do not exist in the Set/Document(s).  Ranges MUST be
in ascending order (1-3, 5-7, 15-19, etc.) and MUST NOT overlap so
that a non-spooling Printer can process the Job in a single pass.  If
the ranges are not ascending or are overlapping, the Printer MUST
reject the request and return the 'client-error-bad-request'
status-code.

I understand the reasoning here, and yet can't help but notice that this is a case where history impedes upon usability.
Couldn't things be made such that CUPS reorders the page range as required for non-spooling printers  (surely that's a flag in the PPD somewhere), while simultaneously allowing users of spooling printers to specify free-form page ranges, including reverse ranges, page duplications, and possibly even selectors such as even and odd?
Some examples:

lp -P 3-1 …: print pages 1,2,3 in reverse order
lp -P 1-3,2 …: print pages 1,2,3 and then 2 again
lp -P odd …: print all odd pages
lp -P 1-5/2 …: print every second page in the range 1–5
lp -P -3--1 …: print the last three pages
…

Thanks for your consideration.

If the primary use case for CUPS was command-line printing, and if we didn’t care about locale-specific number systems, and if we didn’t have to deal with a bunch of different print file formats,  then I might be inclined to agree with this request. However, none of those statements are true, and we really really don’t want to introduce a complicated/fancy new way of specifying page ranges from the command-line at this point in the CUPS life cycle. The mapping alone (setting aside how to support a locale-neutral syntax) would require changes to all of the print filters, and potentially changes to cupsd to know the number of input pages. And then there is multiple document support which for page-ranges has never worked right in CUPS...
Sorry...


Project Access Component - users that already have roles must not be suggested

this happens when userIdForDisplay does nto match userId

PR: https://github.com/NationalSecurityAgency/skills-service/pull/1778

:+1:


Refactor part 4

It's easiest to review by commit, those are small self-contained changes.

Main benefit is add Type::no_inherit on Windows which can remove an additional call to Socket::set_no_inherit.

It would be nice to get a resolution on https://github.com/rust-lang/socket2-rs/pull/117 before breaking it again :(

@de-vri-es I've address your comments and added some tests (although more will be added in the future).

Looks good. I'd still go with exclude = ["tests"] instead of include = [$everything_else], but that's up to you :)
I'll start on rebasing #117 and implementing the requested changes.


update for cla

Describe your changes
Related issue number or link (ex: resolves #issue-number)
Checklist before opening this PR (put x in the checkboxes)

[ ] This PR does not contain plagiarism

don’t copy other people’s work unless you are quoting and contributing it to them.

[ ] I have signed off on all commits

signing off (ex: git commit -s) is to affirm that commits comply DCO. If you are working locally, you could add an alias to your gitconfig by running git config --global alias.ci "commit -s".

Hi @anaysarkar7
What is the objective of this PR ?
A draft PR also needs to have a description so that maintainers handle the PR.

I am going to close this PR.
@anaysarkar7 if you need the use this PR, you can reopen. :)


Refining Cookie.Value exception information

Summary
Refining Cookie.Value Remarks so that it is clear when an exception gets thrown.
Related
corefx issue: https://github.com/dotnet/corefx/issues/7459#issuecomment-294178391
cc: @karelz

@ViktorHofer,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

@rpetrusha waiting for your response on one of the comments

Sorry for the belated response, @ViktorHofer. The best alternative is to call the documented overload, but provide the additional code to avoid an exception. So for the Cookie(String,String) constructor, something like the following:
      var cookie = new Cookie("contoso", "\"123,456\"");
      var coll = new CookieContainer();
      coll.Add(new Uri("http://contoso.com"), cookie);

Addressed your feedback. I think the multi-line code sample is the best approach. Please check if I used the correct encoding for the samples.

Thanks, @ViktorHofer. This looks good. I'll merge as soon as the build completes.

Thanks @rpetrusha, happy to help!


Api to bind event

Hi, andredumas
is there any apis to bind events like click event?

+1

There are a few around, not really click events:

supstance
crosshair
tredline
trade arrows

What specifically do you need?


Bun stdio pipe not working on macOS

See https://github.com/yukiisbored/patchouli-x/pull/22#issuecomment-2269221563

https://www.man7.org/linux/man-pages/man3/setbuf.3.html

https://github.com/oven-sh/bun/blob/63596c3f8c9c66a2aa48b24ab9865927ce9e958b/src/bun.js/bindings/c-bindings.cpp#L431-L433

https://unix.stackexchange.com/questions/411263/stdin-unbuffered

https://vscode.dev/github/oven-sh/bun/blob/main/src/output.zig#L223


Two Way Audio with Hikvision doorbell ds-kb6003-wip ?

Hi!
Anyone knows if the most recent version of this addon, works two way audio on Hivision DS-KB6003-WIP?
If yes, can you please share extra info in how to achieve this?
Thank you in advance!

no, it doesnt work in Hikvsion intercom, they are based on two wau audio with isapi

https://github.com/AlexxIT/go2rtc/commit/5846cbd9899383a07ff30b902e90bb0a3a9b566c


Semantic change to setNotificationAndMonitorChanges and README.

Changes we've been talking about - we've decided to disable notifications on dispose in setNotificationAndMonitor method. I'm not entirely sure about explaining this in README in current form - we could discuss it.
Thanks!

Closing for now - this change is not aligned with our designed decisions.


slice_count overflow for very large allocations

This was seen in https://github.com/python/cpython/issues/117755 on s390x (Linux on IBMz) for an allocation of 0x7fffffffffffffff bytes:
https://github.com/microsoft/mimalloc/blob/f199b888b47f77261aac9b63b612e77ff3fbd880/src/segment.c#L617-L618
The mi_segment_os_alloc is successful (possibly due to overcommit), but then the slice_count is truncated, which leads to either an assertion error (in debug builds) or floating point error due to a divide by zero.

I proposed a fix: https://github.com/microsoft/mimalloc/pull/877

Ah, that is a terrible bug but I just merged a fix. I am going to do a fresh release tag soon.
Thanks so much!


Supply DoctrineProfilerExtension with getName() implementation

Since Twig 1.26 getName() was marked as depracated in \Twig_ExtensionInterface. Alongside, getName() implementation was added to abstract class \Twig_Extension.
For Twig versions less than 1.26 this implementation is missing. Symfony ~2.6 still supports Twig >=1.12.3.

Thanks for pointing this out.
There were a few more issues with support symfony 2.6.
It's all fixed in v1.0.2


[!] Unknown jailbreak. Aborting.

I got this error on iPhone X with Electra version 1.02 and nothing works.

This is an issue with Electra v1.xx. BfInject (engine that bfdecrypt relies on) requires JTool to function. JTool used to come installed with early beta versions of Electra, but doesn't seem to be installed in the release versions (V1.0+). From the bfinject script you can see it's trying to find JTool and can't, so it won't work until Electra is updated adding JTool or JTool is installed manually. I'm unsure how to install JTool manually at the moment though...
# Detect LiberiOS vs Electra
#
if [ -f /bootstrap/inject_criticald ]; then
    # This is Electra
    echo "[+] Electra detected."
    cp jtool.liberios /bootstrap/usr/local/bin/
    chmod +x /bootstrap/usr/local/bin/jtool.liberios
    JTOOL=/bootstrap/usr/local/bin/jtool.liberios
    cp bfinject4realz /bootstrap/usr/local/bin/
    INJECTOR=/bootstrap/usr/local/bin/bfinject4realz
elif [ -f /jb/usr/local/bin/jtool ]; then
    # This is LiberiOS
    echo "[+] Liberios detected"
    JTOOL=jtool
    INJECTOR=`pwd`/bfinject4realz
else
    echo "[!] Unknown jailbreak. Aborting."
    exit 1
fi```

@nickcastel50 JTool 1.0 released on Electra's source, but the problem is still alive.

I used this to fix my problem: https://gist.github.com/klmitchell2/536bce0cec94d24a5799ba3b17499b54

@klmitchell2 - Can you elaborate? How to get this on my device?

Sorry for being vague. Check out this fork of bfinject that I made: https://github.com/klmitchell2/bfinject/tree/electra-1.0.4


When maxAge is 0, the cache never expires

In the development environment I don't want async-cache to cache the object, so I set maxAge: 0. In fact, this value is automatically set by the application based on which environment it has been launched at (production vs. development).
However, for some reason when maxAge: 0, the cache never expires, and async-cache never updates the cache.
When I set 0 it should expire immediately.

301 redirect: https://github.com/isaacs/node-lru-cache/issues/75


how to access from user control?

I have a user control that has customized text box and I have set this user in the main view, so how can bind this keyboard access from the user to parent view? ( the TermControls available is in the main view and text box available in one of the user control that control available in main view)

There are no activity here hence I'll close it.


How to pass down tracing information in ServeHTTP to long-running tasks?

Hi,
I have a process that is triggered via a webhook (ServeHTTP) that I wanted to trace. In my main package I use this simple setup:
func main() {
	handler = &ochttp.Handler{
		Propagation: &propagation.HTTPFormat{},
		Handler:     &MyHandler{},
	}

	srv := &http.Server{
		Addr:         "<IP_ADDRESS>:" + port,
		WriteTimeout: time.Second * 15,
		ReadTimeout:  time.Second * 15,
		IdleTimeout:  time.Second * 60,
		Handler:      handler,
	}

	srv.ListenAndServe()
}

And in my handler my setup is like this:
func (m *MyHandler) ServeHTTP(rw http.ResponseWriter, r *http.Request) {
	ctx := r.Context()

	// this foo() function takes some time to run and doesn't depend on writing
	// anything to http.ResponseWriter, so we can process it in the background,
	// it takes approximately around 3-15 seconds depending on the incoming
	// information.  I want to debug it via tracing, to see why it takes
	// sometimes 3 seconds, but in some cases 15 seconds :)

	// this doesn't work because ctx is cancelled immediately when I return :(
	// go foo(cxt)

	// I have to pass a new context, but then I lose the tracing information
	// injected from ochttp.Handler (i.e:
	// https://github.com/census-instrumentation/opencensus-go/blob/master/plugin/ochttp/server.go#L137)
	go foo(context.Background())
}

func foo(ctx context.Context) {
	ctx, span := trace.StartSpan(ctx, "foo")
	defer span.End()

	bar(ctx)
}

func bar(ctx context.Context) {
	ctx, span := trace.StartSpan(ctx, "bar")
	defer span.End()
}

The problem I have is, I can't pass down the r.Context(), because it's cancelled immediately when I return from ServeHTTP. According to the doc:
// For incoming server requests, the context is canceled when the
// client's connection closes, the request is canceled (with HTTP/2),
// or when the ServeHTTP method returns.
func (r *Request) Context() context.Context {
	if r.ctx != nil {
		return r.ctx
	}
	return context.Background()
}

I therefore can't associate the incoming request with my long process foo() and lose all the information that is injected via ochttp.Handler, see: https://github.com/census-instrumentation/opencensus-go/blob/master/plugin/ochttp/server.go#L137
I'm able to trace foo() and all the child functions associated with it when I use context.Background() (and therefore don't have any cancellation attached to it), but this means than that I can't associate anymore with the incoming request
I'm fairly new using tracing with context.Context and I'm wondering what the idiomatic way of solving this is?  Feel free to close if this is the wrong place.
Thanks

Hello @fatih, great to catch you here, thank you for the question and welcome to the OpenCensus project!
So this problem can be handled in a couple of ways:
a) Using trace.FromContext to retrieve the span from r.Context()
spanA := trace.FromContext(ctx)
// Then use spanA

but that unfortunately adding children that might start after the parent has ended isn't great. Please read onto the next suggestion
b) Because the span is from the HTTP request i.e. the rest of the work will be processed asynchronously and due to Go runtime scheduling (hose goroutines could be scheduled even after the function has returned since there isn't explicit synchronization).
This would be a good usecase for a Span.Link as documented on the website https://opencensus.io/tracing/span/link/#uses-and-advisory and with code samples https://opencensus.io/tracing/span/link/#0
func handle(w http.ResponseWriter, r *http.Request) {
   ctx := r.Context()
   spawningSpan := trace.FromContext(ctx)

   go foo(context.Background, spawningSpan)
}

func foo(ctx context.Context, spawningSpan *trace.Span) {
    ctx, span := trace.StartSpan(ctx, "foo")
   defer span.End()

   addAsLink(span, spawningSpan)
   bar(ctx)
}

func bar(ctx context.Context) {
    ctx, span := trace.StartSpan(ctx, "bar")
    defer span.End()
}

func addAsLink(subjectSpan, spawningSpan *trace.Span) bool {
   if spawningSpan == nil {
      return false
   }
   subjectSpan.AddLink(trace.Link{
        TraceID: spawningSpan.TraceID,
        SpanID:  spawningSpan.SpanID,
        Type:    trace.LinkTypeParent,
        Attributes: map[string]interface{}{
                "reason": "webhookSpan",
        },
   })
   return true
}

Which will allow you to later correlate traces. Some backends display links or at least allow you to click on a Span.Link but anyways, any asynchronous processing can be alleviated by using Span.AddLink.
I'll also page some more collaborators to voice some more ideas if they'd like @bogdandrutu @rakyll
Hope this helps and please feel free to ask more questions and submit any bugs.
Thank you and hope this helps.

Thanks @odeke-em for the great answer.
You said  adding children that might start after the parent has ended isn't great and I totally agree with it. What if we create a new parent ourself in ServeHTTP? I also saw this link (https://github.com/golang/go/issues/28279#issuecomment-431613687), and someone suggested this form:
ctx = trace.NewContext(tag.NewContext(context.Background, tag.FromContext(ctx)), trace.FromContext(ctx))
I believe this would create a new Parent, or not ?

I believe linking looks really useful, let me experiment with it.

@basvanbeek I'm using StackDriver.
So do you mean, that
ctx = trace.NewContext(tag.NewContext(context.Background, tag.FromContext(ctx)), trace.FromContext(ctx))

will create a new Parent and then the span in foo() will become a child, without linking?

Let me rephrase for clarity. A parent is not created, it can become one if a new span refers to it as being its parent. This particular piece of code just copies over the tag values and the already existing span from one context to the other without changing anything with respect to your trace.

I'm not against linking btw, I just want to understand what's going on before I blindly go and implementing via linking :) So, linking is superior than creating a new parent and inject the values from the Grandparent ?

Linking is an additional concept allowing for correlating relationships between different traces or within traces where spans do not follow parent-child relationship.
In your particular case I personally see no issue with a parent-child relationship as you expect lifetimes of parent and child to not follow RPC boundaries (child lifetime being within parent's lifetime). Visually speaking if your child will outlive its parent and potentially spawn after parent deceases it will show up nicely in the trace timeline and be quite clear as to what happened.
This does become an issue if your idea of a trace should not outlive root request/response and trace should be request/response scoped critical path only. Then links come into play.

Thanks a lot again @odeke-em and @basvanbeek. I successfully integrated OC into my project by pulling out the span and tags via the FromContext() functions and then passing it to my child functions. Everything works excellent so far.

@fatih can you add a short code snippet of what you did? I am very interesting in this topic.


Questions about iso and internet connection

Hi
I have a very unstable internet connection. Can I download the iso's with a download manager and if so where should I put them and will the script check if they are there and not try to re download?
Thank you

You can create a folder called packer_cache inside of the Packer folder and put the corresponding ISOs in there with the following filenames:
    Directory: C:\Users\build\DetectionLab\Packer\packer_cache

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        6/26/2019  11:17 PM<PHONE_NUMBER> 291d907ff9fd85db9051a222ce56bdabc897c94e.iso
-a----        6/26/2019   9:30 PM<PHONE_NUMBER> 5b1055098d7ba8d2d635babf6bb76518512afbde.iso


Build libclc as part of the build system

Build libclc as part of the build system rather than relying on a checked-in
bitcode file. This somewhat increases the duration of the build as clang, opt,
etc are built as dependencies.
This is one of the tasks mentioned in #826
Also work around a bug in the libclc cmake by adding some extra LLVM library
dependencies.
This contribution is being made by Codeplay on behalf of Samsung.

The failed builds are complaining about a CMake problem.

I can see that most jobs are failing because the library is being built with opaque pointers by default. This can in theory be fixed by passing -DCMAKE_CLC_FLAGS=-Xclang\ -no-opaque-pointers but there's another mistake in the libclc cmake that means it can't parse the extra flags properly.
I can put up a patch to fix this, unless it's not worth it if non-opaque pointer support will be dropped imminently. On that note we might have capacity to help out with the transition to opaque pointers (#816) if there are specific areas/passes that aren't being worked on right now.

Fixes for the two libclc cmake issues: https://reviews.llvm.org/D131266

Thanks for looking into this. I admit that this PR is not the easiest thing for me to integrate into our internal builds. I do think it is the right long term direction compared to keeping a pre-built library checked in, but I need to work through the internal issues before closing on this.

superseeded by #1316


MVCClient calling API returns Error 500 if token is expired

I've a setup with microservices similar to the example by microsoft.
I have a MVC Application that is pretty much the same as
https://github.com/dotnet/eShopOnContainers/tree/master/src/Web/WebMVC/
which in return seems to be based on
5_HybridFlowAuthenticationWithApiAccess/src/MvcClient/
It connects to an API Service via HttpClient.
Everything works as expected but after logging in and waiting a few hours (or restarting the IdentityServer with Temporary Signing Credentials) I end up getting a 500 when accessing the Controller of the MVC App which pulls informations from the API as it returns a 401 Unauthorized cause the token is expired.
I'd expect if the token expires or can't be validated anymore that the MVC Client would redirect me back to the Auth Provider instead of allowing the token anyway until the cookie expires.
To me it seems like the MVC Client is not checking the token anymore after initial Authentication.
Any ideas?
This is also tracked here
https://github.com/dotnet/eShopOnContainers/issues/118

Try setting a static signing key - e.g. using an x509 cert and see if this changes anything.

Thanks!
I did that already.
This actually fixes the restart problem as the token is still valid afterwards.
However even without static signing key I'd expect the MVC Client to not accept the "invalid" token anymore similar to the API and just redirect back to Identity Server.
The problem with the expired token remains. After the token expired the MVC frontend still accepts the user however passing the access token to the backend results in a 401 causing a 500 in the frontend.

I think you are (or they) confusing access token lifetimes and logon sessions.
The MVC app is setting it's own logon session using the cookie. If the access tokens expires, the MVC app needs to get a new one. This would be typically done using a refresh token.

I just skimmed the code - there are a couple of things they can improve - they are also on a really old version

Thanks for your help :-)
Yes. I didn't confuse the two but I thought that the "UseOpenIdConnectAuthentication" middleware checks the token stored in the auth cookie on every request (and might even request a new access token) but it seems like it's only validating on login. The other requests seem to be handled by the Cookie Middleware which doesn't care about the token at all. Seeing that you can even choose to not store the tokens it actually makes sense now.
So I looked at:
https://github.com/IdentityServer/IdentityServer4.Samples/blob/release/Quickstarts/5_HybridFlowAuthenticationWithApiAccess/src/MvcClient/Controllers/HomeController.cs#L50
Which basicly doesn't do anything different then they do in their example.
It's also why I thought there is no further action needed and the middleware takes care of having a valid token.
So to make this work:
Would the best approach be wrapping the HttpClient into a Service Class and if any call to the API returns 401 use a TokenClient to retrieve a new access token for that user via refresh token before trying the call again and if that fails somehow (expired or invalid refresh token) logging the user out of the "cookies" AuthenticationScheme to force a new login?
Similar to:
https://github.com/IdentityServer/IdentityServer4.Samples/blob/293622b8438d27f4c9c2574e43fe92a22560ac6b/Clients/src/MvcHybrid/Controllers/HomeController.cs#L44

Either manually - or maybe give this a try to see if it works for you
https://github.com/IdentityModel/IdentityModel2/blob/dev/src/IdentityModel/Client/RefreshTokenHandler.cs

All set on this issue -- can we close?

I didn't get a chance to try this out yet but I think I'm on the right track now and will get this fixed on my end easily now.
Thanks!
I think it would be nice if the MvcClient sample here
https://github.com/IdentityServer/IdentityServer4.Samples/blob/release/Quickstarts/5_HybridFlowAuthenticationWithApiAccess/src/MvcClient/Controllers/HomeController.cs#L50
would deal with expired tokens as an example. It would make it easier for people who are building an application based on that example and end up with error 500 after some time.


Fix create engine return code

1 means success while 0 means error. In the current code, this meaning is reversed. This patch fixes this.

Actually that's wrong. Sorry.


[skip ci]RAC-6011: Refactor continuous test pipeline

Add pipeline: Continuous Function Test and Continuous Unit Test.
Test job:
http://10...17*:8080/job/pengtian/job/ContinuousFunctionTest/
http://10...175:8080/job/pengtian/job/ContinuousUnitTest
@panpan0000

BUILD on-build-config #942 : FAILURE

test this please


Operator overloading implemented in GDScript

Motivation
GDScript already have some operator overloading setget, _to_string, custom iterators but it's incomplete without overloading other basic operators. And having them is more object oriented way to provide a clean code base of godot.
a.multiply(b).add(a.divide(b)) can be written as (a * b) + (a / b)
Detail
EDIT: every overload behaves like in python 3 since my last commit
If an operator ( binary or unaray ) is called with at least one Variant::OBJECT type it'll call the operator overloading method if exists, o1 + o2  is equivalent to o1._add(o2) like python's magic methods. with the implementation I've included 2 concepts of overloading
1. reflection:
case o1 + o2 -> it'll check o1._add(o2) if the method not exists check o2._radd(o1)
2. delegance:
since the rich comparison removed from python 2.7 for some reason, I've removed it from my last commit and now it only use delegance for == and != (a != b is equ !(a==b) and vice versa) just like python 3
Parsing, Type checking & Error handling
Every comparison operator overloading returns boolean, and unaray operation can't contains any argument, binary operation must contain 2 arguments and the type, and return type could be dynamic variant or static type, if a it's a binary operation and not comparison try reflection for overload existence check. These grammars have added to the parser, and violation of the above rules makes parser errors.
Usage
class Vect:
	var x:float = 0;
	var y:float = 0;

	static func new_vect(x:float, y:float)->Vect:
		var ret:Vect = Vect.new();
		ret.x = x; ret.y = y;
		return ret;

	func _to_string():
		return 'Vect(' + str(x) + ', ' + str(y) + ')'

	func _add(other:Vect)->Vect:
		return new_vect(x + other.x, y + other.y)

	func _mul(other:Vect)->Vect:
		return new_vect(x * other.x, y * other.y)

	func _negate()->Vect:
		return new_vect(-x, -y)

var v1 := Vect.new_vect(1, 2)
var v2 := Vect.new_vect(3, 4)

func _ready():
	print(' v1 = ', v1)
	print(' v2 = ', v2, '\n')
	print(' v1 + v2  = ', v1 + v2)
	print(' v1 * v2  = ', v1 * v2)
	print('-v1 + v2  = ', -v1 + v2)

output
--- Debugging process started ---
Godot Engine v4.0.dev.custom_build.385d17703 - https://godotengine.org

 v1 = Vect(1, 2)
 v2 = Vect(3, 4)

 v1 + v2  = Vect(4, 6)
 v1 * v2  = Vect(3, 8)
-v1 + v2  = Vect(2, 2)

Haven't checked the code in great detail, but here are a few comments:

I'm not really a fan of the way magic methods are named in python, especially considering we already use _to_string instead of __str__ and _init instead of __init__.
Swapping the arguments when the left argument does not implement the necessary method is not enough. If only one of the operands has __div__ implemented, a / b would be identical to b / a. That's why python tries a.__div__(b) and b.__rdiv__(a). (Alternatively, one might have something like b.__div__(a)._reciprocial__(), but it feels clunky.)
I'm not completely sold on overloading a && b, a || b, and !a, as I feel those should always be boolean operators. Overriding booleanization is an option, thought it might need some more discussion if implemented.
Overriding in is already possible by overriding _get, to some extent. In any case, it is currently the only way to check for the existence of a property through GDScript.

@bojidar-bg thanks for the review, I'll try improvise the implementations, and I've left some comments about the review here.

I'm not really a fan of the way magic methods are named in python, especially considering we already use _to_string instead of str and _init instead of init.

since we already have a naming convention I don't want to break that, and I leave those at your hand, place review comments for names,

Swapping the arguments when the left argument does not implement the necessary method is not enough. If only one of the operands has div implemented, a / b would be identical to b / a. That's why python tries a.div(b) and b.rdiv(a). (Alternatively, one might have something like b.div(a).reciprocial_(), but it feels clunky.)

I've implemented reflection ex: a<b -> b>a but for the __div__ only one operand has scenario, it doesn't has to try reflection and treat it like no overload implemented, or any suggestion?

I'm not completely sold on overloading a && b, a || b, and !a, as I feel those should always be boolean operators. Overriding booleanization is an option, thought it might need some more discussion if implemented.

I've already implement parser check return type for <, >, <=, etc., if it's boolean, and if and or not prefer to treat as boolean only operators, ill include them as well.

Overriding in is already possible by overriding _get, to some extent. In any case, it is currently the only way to check for the existence of a property through GDScript, so I'm not sure it should be overridable.

since all Variant::Operator has implemented overloading the in also included, skipping it might not possible

@bojidar-bg I've been refactoring the code and need some help on these

a + b tries a._add(b) and for reflection instead of b._add(a),  b._radd(a) would be better IMO, and it would be a solution for a / b, a - b, a % b. what do you think?

for logical operators : if (a and b) here if a.boolianize() is false it'll never evaluate what b is and same for if (a or b) if a.boolianize() is true. so it's impossible to override the logical operators. should we ignore the logical operators and make the boolianize() virtual instead?

rich comparison : instead of implementing every possible comparisons just define ==, >, < and it'll use rich comparison for <=, >=, !=. should this feature included and what is the preferred order  to compare 2 object?

delegance:
case o1 < o2 -> checks in the below order (for comparison)
checks o1 < o2 exists o1.lt(o2) if not
checks not (o1 >= o2) exists not (o1.ge(o2)) if not
checks o2 > o1 exists o2.gt(o1) if not
checks not (o2 <= o1) exists not (o2.le(o1)) if not
the default o1.booleanize() < o2.booleanize()

_radd, _rdiv, _rsub, _rmod, and _rmul are exactly what I was thinking of, yes.
I agree that logical operators should not be overridable. Overriding booleanize() sounds good, but maybe it could be left for a future PR.
Not sure what you mean here exactly. If your question is whether a._neq(b) should be removed in lieu of ! a._eq(b), likewise for <= and >=, I suppose it is okay, yes.

Minor note: Consider a._divide(b) over a._div(b), likewise for the other operator names. I'm not convinced that operator names should be abbreviated.

Abbreviations makes it harder to directly understand what the method does

@MCrafterzz method names are not final and will be changed to more clearer

Honestly, I'm not sure if it's worth it adding this complication to GDScript. It's a language that is meant to be simple. Also, remember that in Godot we add features based on use-cases, so this should be discussed as a proposal first which would list the cases that needs this functionality.
I'm not saying it's bad implementation-wise, I'm just not sure if we need this.

Is there a proposal yet?

I have written a proposal independent of this PR that is directly related to this. I would be more than happy to collaborate on this, and have been looking at what it would take to do this independently (prior to finding this PR).
https://github.com/godotengine/godot-proposals/issues/8383

A LOT of internal changes have been done ever since this PR. This would likely need to be entirely reworked from scratch.

I have some of the needed code changes done locally (limited to just add, subtract, multiply, and divide). I can submit it as a PR if it would be desired, but based on what I gather this seems to be more of a philosophical hurdle (is this a good idea) than a technical hurdle. So I've been waiting for that discussion to occur first.


Powertoys Run: search for phrases on configurable search-engine

Description of the new feature / enhancement
typing something like "schnitzel" in Powertoys Run should post n-hits of the phrase on the configured search-eninge.
The results can then be opened in the default-browser.
please make available:

google
bing
duckduckgo

Scenario when this would be used?
Improve websearches as the browser has not to be opened first and the user can use his favourized search-engine as the start-search is bound to bing.
Supporting information
No response

Duplicate of #3245

Thanks for your suggestion! This issue is a duplicate.
I'm linking this issue to #3245 to centralize the discussion thread, please go to that thread for discussion.
Thanks for your help to make PowerToys a better piece of software!


python310Packages.heudiconv: 0.12.2 -> 0.13.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.heudiconv is: Flexible DICOM converter for organizing imaging data
meta.homepage for python310Packages.heudiconv is: https://heudiconv.readthedocs.io
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.13.1 with grep in /nix/store/hfx8nv1x8qgq16rnhk760v345dhxp4i4-python3.10-heudiconv-0.13.1
found 0.13.1 in filename of file in /nix/store/hfx8nv1x8qgq16rnhk760v345dhxp4i4-python3.10-heudiconv-0.13.1

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
python310Packages.heudiconv
python311Packages.heudiconv

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/hfx8nv1x8qgq16rnhk760v345dhxp4i4-python3.10-heudiconv-0.13.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/hfx8nv1x8qgq16rnhk760v345dhxp4i4-python3.10-heudiconv-0.13.1
ls -la /nix/store/hfx8nv1x8qgq16rnhk760v345dhxp4i4-python3.10-heudiconv-0.13.1/bin

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

2 packages built:

python310Packages.heudiconv
python311Packages.heudiconv

Maintainer pings
cc @bcdarwin for testing.

Closing in favour of #236902.


[red-knot] Adjust node sizes test so red-knot can pass CI

This is needed because of the AST changes from OnceCell to OnceLock.
If we decide we don't need AST to be Sync/Send, we can revert this along with those changes; just want green CI for now.
Also adjust a URL in doc comments so cargo docs doesn't complain about it.

I don't know what the ecosystem failure is about, or whether it's related to red-knot. Shouldn't matter much though, since most red-knot PRs won't touch the linter for now anyway.


Camperbot to ignore @/all thanks

So you don't want Camperbot to respond at all? It won't actually send brownies to everyone if that's what the concern is.

Yes. While it doesn't give anyone brownie points, it still hits the database.

https://github.com/FreeCodeCamp/camperbot/blob/master/lib/bot/cmds/thanks.js#L38 Looks like a good starting point.

Might make sense to make an array "Ignore List" in case we need to add other names to it, rather than just hard coding the "all".


Data leakage with tasks 1295 and 1640

Task 1295 is a training task issued from the AdversarialQA dataset and Task 1640 is a testing task also issued from AdversarialQA.
I would assume that this wasn't caught by automated checks because the URLs are different and there is a typo in the Source field of task 1640 where the value is "adverserial_qa"

@axelmarmet  Thanks for reporting this!
@yeganehkordi  would you be able to address this?

@yeganehkordi would you be able to address this?
Sure, task1295 is a "Question Answering" task and task1640 is an "Answerability Classification" task, so they are not exactly the same.
I think one solution may be using different instances in these tasks. Also, we can replace one of them with another task. What do you think?

@yizhongw suggests moving this task from splits/default/train_tasks.txt to splits/default/excluded_tasks.txt.  I think this should address the concern; right?

Yeah, I'll fix it.


[Bug] Using require to import node-fetch breaks when output is ESM

Describe the Bug
When generating a TypeScript SDK locally it's possible to have greater control over how the project is built, including providing both CJS and ESM module formats. Using ESM however breaks without further processing, due to the use of require in the core Fetcher:
https://github.com/fern-api/fern/blob/3eabb82533f4334fac829e2412ea168e71db0891/generators/typescript/utils/core-utilities/fetcher/src/fetcher/Fetcher.ts#L82-L89
This should probably use dynamic import() instead, and rely on the build process to translate this to require() calls where relevant.
Information to Reproduce
CLI Version
0.19.18
Generator Version
0.12.7
API Definition
The minimal OpenAPI specification or Fern definition required to reproduce the bug.
types:
  Pet:
    name: string
    age: double

Actual SDK
The buggy SDK that is produced:
https://github.com/fern-api/fern/blob/3eabb82533f4334fac829e2412ea168e71db0891/generators/typescript/utils/core-utilities/fetcher/src/fetcher/Fetcher.ts#L82-L89
Expected SDK
I would expect something like this:
    const fetchFn =
        RUNTIME.type === "node"
            ? // `.default` is required due to this issue:
              // https://github.com/node-fetch/node-fetch/issues/450#issuecomment-387045223
              (await import("node-fetch")).default
            : typeof fetch == "function"
            ? fetch
            : (await import("node-fetch")).default;

But perhaps this should just always check for fetch first, given it's available in recent Node runtimes. Makes it a little less complex:
    const fetchFn =
        typeof fetch === "function"
            ? fetch
            : // `.default` is required due to this issue:
              // https://github.com/node-fetch/node-fetch/issues/450#issuecomment-387045223
              (await import("node-fetch")).default

Additional Context
Add any other context about the problem here.

I'm also running into this when upgrading our clients generators to the latest version.


Callable PBR functions

Objective

Builds on top of #4938
Make clustered-forward PBR lighting/shadows functionality callable
See #3969 for details

Solution

Add PbrInput struct type containing a StandardMaterial, occlusion, world_position, world_normal, and frag_coord
Split functionality to calculate the unit view vector, and normal-mapped normal into bevy_pbr::pbr_functions
Split high-level shading flow into pbr(in: PbrInput, N: vec3<f32>, V: vec3<f32>, is_orthographic: bool) function in bevy_pbr::pbr_functions
Rework pbr.wgsl fragment stage entry point to make use of the new functions
This has been benchmarked on an M1 Max using many_cubes -- sphere. main had a median frame time of 15.88ms, this PR 15.99ms, which is a 0.69% frame time increase, which is within noise in my opinion.

Changelog

Added: PBR shading code is now callable. Import bevy_pbr::pbr_functions and its dependencies, create a PbrInput, calculate the unit view and normal-mapped normal vectors and whether the projection is orthographic, and call pbr()!

bors r+


Bounded numerical value with shifted prior

I am exploring a possibility to implement a simple instrumentation with the following functionality. We create a bounded  Scalar variable, which default is within the bounds but not centralised between the bounds. Would that be possible to do?
Steps to reproduce
import nevergrad as ng
var = ng.var.Scalar().affined(1, -0.5).bounded(-1, 2)
args, kwargs = var.data_to_arguments([0] * var.dimension)
print(args, kwargs)

Observed Results
The resulting args, kwargs are ((0.057249147048700155,), {}), which is not directly related to the affined transformation.
Expected Results
The expected result would be ((-0.5,), {}), although the current implementation is definitely doing what it is suppose to be doing.
Question
What is the preferred way to have a "shifted" bounded Scalar variable in nevergrad? It has been mentioned in the doc file but without an example code.

Hi,
Thanks for raising the issue ;)
For now shifting (through affined) and bounds do not play well together (at all), because the default implementation of bounds actually recenters everything indeed. You could use the clipping method for bounds (bounded(-1, 2, transform="clipping")) which should work better, or even use a constraint https://github.com/facebookresearch/nevergrad/blob/96e2454df16968f88e0cbab0521e8088977aae5d/nevergrad/instrumentation/core.py#L50
I think constraints will be the way to go in the future, but for now it's still experimental and barely documented...
In practice I do find that the current implementation completely misses the point of being easy to use, I'm currently working on a huge refactor of the instrumentation #323 which will hopefully come with a simpler API (and a lot more of abilities). If you have ideas of how you would like to be able to specify your prior, let me know, I'm looking for ideas ;)

Thank you @jrapin , I looked at bounded,  clipping and set_cheap_constraint methods, and they are really great and easy to use.
After I had a chance to think about it one more time, it seems that doing
var = ng.var.Scalar().affine(a, b).bounded(c, d)

should do what I am aiming at. The values of c and d are obviously just the constraints I impose on the parameter space. The values of a and b (if chosen properly) will provide a correct mapping R->R, and then tanh transformation will be effectively shifted on the interval [c, d].
For instance, if I want to prioritise value e \in [c, d], then
b = tanh^{-1} ( (e - (c+d)/2) * 2/(b-a) )

I still find that having to come up with such an equation is cumbersome.
In the next version (coming from #323, but still a lot of work to do before it's actually plugged into the optimizers), I'm currently aiming for something like:
Scalar(initial_value).set_mutation(sigma=a).set_bounds(c, d)
would that work, for you?
And I'll probably change to clipping as default, I'm a bit concerned with ease of use of arctan and tanh transforms (+ they don't mix that well with logarithmic scaling)

Thank you, I like the idea of setting the initial value and sigma. It sounds like a robust approach of mapping between the internal space and user argument.
I don't know exactly why this happens, but this is why I decided not to use the clipping approach: the search values are very much shifted towards the clipping boundaries. I assume this is because the sampling distribution in the internal space doesn't know the location of the clipping region and therefore almost always overshoots. For instance, it I use .bounded(100, 101, transform="clipping"), most of the points the algorithm explores are either 100 or 101.

most of the points the algorithm explores are either 100 or 101.

I would expect this since the width of your space is smaller than let's say 5 sigma (by default the standard deviation of the mutation is basically 1, if you don't use "affined")
Also, the initial value is 0, so this will be clipped directly to 100. I would even expect that all points in your initial population if you're using a population based algorithm (aka DE, CMA, TBPSA etc for instance) would be clipped to 100, which is a big issue.
I think
ng.var.Scalar().affined(0.1, 100.5).bounded(100, 101, transform="clipping")

would do what you want:
s.data_to_arguments([-3])
>>> ((100.2,), {})

As you can see, it's not so intuitive, happy that you like the new approach idea. In this future approach, you would have to write:
ng.var.Scalar(100.5).set_mutation(sigma=0.1).set_bounds(100, 101)

It's the same exact same numbers in the end, but probably more explicit. And that will come with a whole bunch of powerful features :D

Sounds great, thank you @jrapin . Just one more thing to mention: how would you expect this to work? Should it still be alright, considering the bias is not centralised relatively to the bounds?
ng.var.Scalar(100.01).set_mutation(sigma=0.1).set_bounds(100, 101)

it should work somehow, but many points will be similar at the bounds from the start, so it may be dangerous depending on what you want.
If having strictly identical values is a problem, then the following should work (at least in dimension 1, at very high dimension it may become very inefficient due to numereous try and errors to find mutations which satisfy the constraint):
ng.var.Scalar(100.01).set_mutation(sigma=0.1).set_bounds(100, 101, method="constraint")


[SMALLFIX] Clean up doc site generation

Gets rid of the warnings when starting the jekyll server.

Merged build finished. Test PASSed.

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


Fix warnings in NativeMemory

Apparently CsCompile doesn't show any warning during build, here're the two discovered when compiling for SHVDNC
fae4eef7876053764823ae028beb1e8071f6c2e3:

warning CS0472: The result of the expression is always 'false' since a value of type 'nint' is never equal to 'null' of type 'nint?'

423061fd4a70cded681f324fa506ac80e739d017:

warning CA2014: Potential stack overflow. Move the stackalloc out of the loop.

CsCompile does show warnings, but:

CS0472 is not generated for IntPtr to null comparisons by default. You have to explicitly enable the strict compiler feature for the compiler to complain about this (https://github.com/dotnet/roslyn/issues/18975), which is not the case in SHVDN, hence no warning.
CA2014 is a code analysis warning, not a compiler warning, and there is no extra code analyzer step run on CsCompile (for normal C# projects you have to explicitly enable that too)

Fuck, didn't know stackalloc corresponds to the alloca function or all stack-allocated memory created with stackalloc are automatically discarded when that function member returns 🤦♂(and scope doesn't matter). See C# standard for details.
Also tested if IntPtr.Zero == null returns false and that's the case. I guess I forgot to compare with IntPtr.Zero when I decide namePtr type to IntPtr.

all stack-allocated memory created with stackalloc are automatically discarded when that function member returns 🤦♂(and scope doesn't matter).

Yep, and the default stack size is 1024(maybe the game fiber/thread use different one), so an overflow is likely to occur if the pool size is large than 1024/(4*4)=64


CloudFunctions: Make bucket location configurable

At the moment, the respective bucket location of a newly created CloudFunction is not configurable. Therefore, it falls back to us-central1. It should be possible to pass all options to the bucket creation process.

Nevermind, my fault. You can just pass the bucket as argument.


Access to sumstats input data

To be able to load sumstat data access to the following two buckets are required:
gs://genetics-portal-sumstats/gwas/
gs://genetics-portal-sumstats/molecular_qtl/
Is it possible to get access to this data?

@mkarmona Hi Miguel, any idea on this one?

@forus we are currently working in a new release which includes a new slimmed summary stats dataset which you may want to use instead of the current missing one you don't have access to (the new one, in order to store and show on the website, is been filtered by p-val; but rather not the one used for the analysis) . This new release will also include new version data from sources and also all lifted to grch38. May I recommend to you just wait till the new release is out?

@mkarmona oh, it would be nice. Thanks. When do you expect the release?

@forus you are welcome. we are planning for the release in June

@mkarmona thanks Miguel. Do you think the older release would still be useful just for testing purposes, or do you expect too many issues there?

the problem with older release is the summarystatus is just gwas and more than an order of magnitud bigger

Thanks for clarifying @mkarmona

the new one are just few billions lines.

@mkarmona June might be late for us. We are currently testing otg installation and would like to have some sumstat data in there. The data does not have to be complete. A subset would work just fine.

@forus @Sjoerd-van-Hagen here the place genetics-portal-sumstats but only the GWAS folder was used at that version of the code you are working with. You can load a couple of studies and test then. It is now public and paywalled mode.

@mkarmona Thanks!


Introducing Subject in GitHubSource and repurposing Source

Proposed Changes

Set the CloudEvent source in the receive adapter to be the same across all CloudEvents emitted from this adapter. Same thing is done in AWS SQS, CronJob, etc. And we should do that in the rest as well.
This is needed to simplify the instantiation of EventTypes in the Controller (the GitHubSource controller in this case). Otherwise, we will be hardcoding things like https://github.com/<owner>/<repo>/pull, https://apis.github.com/<repository>, etc., as most of the events have different definitions of the source.
Instead of source, we dynamically generate the CloudEvent subject. The decision of what to use as subject is somewhat arbitrary (same as with the previous source).
This is a breaking change in the sense that if there are consumers that have triggers for a particular CloudEvent source, then they will stop working. As far as I can tell, as the current source has dynamic generated data, e.g.,  https://github.com/nachocano/eventing/pull/<pull_id>, there shouldn't be many triggers out there that currently use the field.

Release Note

/cc @n3wscott
/cc @grantr
/cc @Harwayne
Guys, can you take a look at this. I don't want to go ahead and start changing the UTs if you don't think this is a good idea. We need this change for the Registry (or at least something similar), so that we avoid using the Ce-From custom extension that I was proposing. My EventType.spec.source will be the CloudEvent source, which is something we now beforehand.
The sooner we agree on this the better, as I'll have to do this kind of changes in the other adapters. Although those mostly use just one CloudEvent source, is just a matter of adding subject there (and perhaps changing what we use as source).

Closing this guy as it will be done in another PR


Funky Signups data - possibly only on Thor.

Current Behavior
Some Campaign data from the signups API endpoint is not associated with a Campaign (but instead what seems to be a Campaign Run node). These Signups have a Campaign Run value 0.
Desired Behavior
The Campaign property should reference a valid Campaign, and the Campaign Run property should reference a valid Campaign Run.
Steps to Replicate
https://northstar-thor.dosomething.org/v1/signups/642325
Its campaign is set to 3110, which is a Campaign Run node for SuperStressFace: https://thor.dosomething.org/node/3110
Its campaign Run is set to 0.
Said node id has many reportbacks: https://thor.dosomething.org/api/v1/reportback-items?campaigns=3110
However the signup on prod looks correct: https://northstar.dosomething.org/v1/signups/642325
https://thor.dosomething.org/api/v1/signups/642267
Again, looks correct on prod: https://northstar.dosomething.org/v1/signups/642267
Why This Matters
User Profiles in DS-iOS display Reportbacks without Campaign information.
Relevant Screenshots + Links

cc @jonuy

Another example:
https://thor.dosomething.org/api/v1/signups/588786 has a Campaign of 3547, Campaign Run = 0.
https://thor.dosomething.org/node/3547 is a Campaign Run node (Birthday Mail Run 1)
https://thor.dosomething.org/api/v1/reportback-items?campaigns=3547

@aaronschachter I was thinking we can do another thor/prod refresh and see if things look better, does that sound ok?

Sounds good - we'll just need to coordinate with @marahml and @jonuy as far as scheduling the downtime.
The 2nd example looks good on prod too https://www.dosomething.org/api/v1/reportback-items?campaigns=3547 vs https://thor.dosomething.org/api/v1/reportback-items?campaigns=3547
A sanity check would could run in the meantime on prod is just a query to see if we see any Signups or Reportbacks with a run_id set to 0.

oh, i know the answer to that.
on prod:
there's about ~40 reportbacks with run_nid as 0
~200k signups with run_nid as 0

@aaronschachter besides the issues covered in #6232 I think the examples you provided here are fixed.
closed if you agree!

This looks good!  Open question of how'd it get so funky in the first place? :guitar: Will keep an eye out.


Removed *nix local exec tasks from Terraform config

Improve the usability of the Terraform configuration by removing tasks that depend on a *nix system to run them. Tasks that were taken out of the Terraform configuration were put as manual tasks within the readme file.

@shizhMSFT Do you know who can help us to review this PR?

@dtzar Could you provide context as you have reviewed related PRs?

Other than my one suggestion, I think the code itself looks good.  What I don't have time for is to test this out.  I would just have someone test this on a mac/ubuntu and then a Windows machine and make sure the steps work.  If so, then good to merge.

Closing this PR since iac has been deleted by #99


Issue with loading sample json from external file

I am trying to load the sample JSON from some external file and I have used following snippet to do so
const CurrentUser = require("!json!../../../../backend/omi/currentUser.json"); but when I run npm start I get following error
Error in ../backend/omi/currentUser.json Syntax error: Unexpected token m     at Object.parse (native)  @ ./src/containers/cmdb/node/nodes.js 30:18-77
Is there any other way to load JSON data from an external file so my creat-react-app will not go down

You must remove the loader syntax, get rid of the !json!

Let me know if this doesn't work and we can look into your issue more. 😄

I have also tried by removing !json! even though it's throwing same error. I am also using storybook with above mentioned the storybook running properly but when I do npm start it throwing me this error.

Your json probably isn't valid. Can you post it here?


TypeError: "this.options.embeds?.map is not a function" in command "kick"

Reported by mephisto5558<PHONE_NUMBER>25055775) with bot<PHONE_NUMBER>02710047
TypeError: this.options.embeds?.map is not a function
at MessagePayload.resolveBody (/home/container/node_modules/discord.js/src/structures/MessagePayload.js:200:36)
at InteractionWebhook.editMessage (/home/container/node_modules/discord.js/src/structures/Webhook.js:336:50)
at ChatInputCommandInteraction.editReply (/home/container/node_modules/discord.js/src/structures/interfaces/InteractionResponses.js:158:36)
at ChatInputCommandInteraction.bankick (/home/container/Utils/bankick.js:30:19)
at ChatInputCommandInteraction.interactionCreate (/home/container/Events/interactionCreate.js:67:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

fixed with 731991a54c3aceae1732ab739d44cd9d18f5cb29


ExternalReference url parameters that are not XsUri cause hard to find serialization issues

The 4.0 version is nice, but has changed a few things in the serialization.
In 3.x one could use:
            ExternalReference(
                type=ExternalReferenceType.WEBSITE,
                url="https://example.org",
            )

In 4.0, this needs some boilerplate XsUri:
            ExternalReference(
                type=ExternalReferenceType.WEBSITE,
                url=XsUri("https://example.com"),
            )

Omitting the XsUri in 4.0 this causes a Traceback on serialization:
File "c:\code\.venv\Lib\site-packages\cyclonedx\output\__init__.py", line 85, in output_to_file
    f_out.write(self.output_as_string().encode('utf-8'))
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\code\.venv\Lib\site-packages\cyclonedx\output\xml.py", line 70, in output_as_string
    self.generate()
  File "c:\code\.venv\Lib\site-packages\cyclonedx\output\xml.py", line 63, in generate
    self._root_bom_element = self.get_bom().as_xml(  # type: ignore
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\code\.venv\Lib\site-packages\serializable\__init__.py", line 400, in _as_xml
    nested_e.append(j.as_xml(view_=view_, as_string=False, element_name=nested_key, xmlns=xmlns))
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\code\.venv\Lib\site-packages\serializable\__init__.py", line 400, in _as_xml
    nested_e.append(j.as_xml(view_=view_, as_string=False, element_name=nested_key, xmlns=xmlns))
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\code\.venv\Lib\site-packages\serializable\__init__.py", line 425, in _as_xml
    this_e.append(v.as_xml(view_=view_, as_string=False, element_name=new_key, xmlns=xmlns))
                  ^^^^^^^^
AttributeError: 'str' object has no attribute 'as_xml'

It would be nice, if the url parameters, especially for ExternalReference check the type of the argument. The code has Mypy type annotations listing XsUri, yes, but that does not help to figure it out at runtime.

Nothing prevents that. So it is trash in -> trash out of course.
It is just some not so nice user API design that the 'url' parameter requires XsUri and not just str. I can see why this is done to make the code nicely orthogonal.
The serialization blows up with the unhelpful Exception in that case. Some better diagnostics at serialization time would be nice, to discover the part of the model that is in an invalid state.

It is just some not so nice user API design that the 'url' parameter requires XsUri and not just str.

how would a "nice user API design" look like?
What change do you suggest? Maybe you could draft a backwards-compatible change request, to show?

I migrated some code, and had a few instances of this pattern setting optional URLs, e.g. in License.
           License(
                ...
                url=somedict.get('URL'),
            )

this works nicely when url takes a str, as in Optional[str] and keeps XsUri as an implementation detail thats just a fancy validator, but needs some extra None checks when an XsUri wrapper is needed. e.g. it mutates to something ugly like:
           License(
                ...
                url=XsUri(somedict['URL']) if somedict.get('URL') else None
            )

In addition most external users of the class probably do not care about the XsUri type for an URL. Typically they will have some form of string at hand. On reading out the URL, they will cast that away to str to feed it into other APIs. On writing they need to add boilerplace XsUri to convert the str values they have.
The only part needing that type is the serialization code and the validation step. So for most purposes visible to users of the class, the url parameter type could just be a type alias for str instead of a full blown class wrapper. The XsUri class should be an implementation detail, not a user visible part of the API.
e.g.

from typing import TypeAlias
urlstr: TypeAlias str

def __init__(self, *, type: ExternalReferenceType, url: urlstr, comment: Optional[str] = None,
              hashes: Optional[Iterable[HashType]] = None) -> None:
     self.url = url if isinstance(url, XsUri) else XsUri(str)
     self.comment = comment
     self.type = type
     self.hashes = hashes or []  # type: ignore

the setter/getters would obviously need to do something as well. But using the code gets nicer. If i pass in junk, it raises the proper exceptions. I can directly pass values in from other places without value wrappers and so on.
This is a little different to the Purl case, where the PackageURL class actually carries more weight.
If you see merit in improving this, i can try to do a pull request.

see https://github.com/CycloneDX/cyclonedx-python-lib/issues/432

closed.
downstream users may write themselves a wrapper, doing the exact same an in-bound code would do:
test if a URI is string, and if som convert it to XsUri.
applies like (based on given examples above)
makeXsUriFromAny(v) -> XsUri | None:
  return XsUri(v) if isinstance(v, str) else None

License(
    ...
    url=makeXsUriFromAny(somedict['URL'])
)


auto set go architecture

This will allow to use this role on platforms different than x86_64.

I was thinking about doing something like this, but with a dictionary lookup.
vars/main.yml
ansible_to_go_arch:
  x86_64: amd64
  aarch64: arm64
  armv7l: arm7

Then you can do:
set_fact:
  go_arch: "{{ ansible_to_go_arch[ansible_architecture] }}"

Oh, nice!
We can probably even get rid of set_fact by using this:
"{{ ansible_to_go_arch[ansible_architecture] | default(ansible_architecture) }}"

LGTM, I just made the same change.

I've propagated this change to other roles. However all this PRs will need to wait for @rdemachkovych reviews and he's currently on vacation.


My website cannot use {1 - q}

My website cannot use {1 - q}
Hi MathJax,
I thank you guys for the awesome add-ons, I used yours via a plugin "MathJax-LaTeX Version 1.3.11" for WordPress Version 5.9.3 website.
But today I checked that my website when using {1 - q} or similar functions does not give the result "1 - q", instead the result "1q". So I lost the "-" in the function I wanted to use.
So is there any way to fix the above problem?
I am using "MathJax-LaTeX" plugin and latest version WordPress.
You can see my specific article at website: https://hoctaphay.com/bai-tap-5-trang-122-sgk-dai-giai-tich-lop-11.html
I look forward to hearing from you soon.
Sincerely thanks,

The site you link to displays correctly for me (though the URL contained a misspelling, which I have corrected).
The email you sent included a screen shot that showed the minus sign was missing from the original TeX commands, so naturally, MathJax didn't display one.  It seems that you may have corrected the original source, and that things are working now, so I'm closing the issue.  If you are still having problems, I will reopen, but you will need to give more information about the browser and OS versions that you are using.


Type "override" should show a list of virtual function of base class?

If it is not a feature already , I would suggest to add auto-completion for override-able functions after typing "override".
public class LevelButtonEditor : Editor {
override

//will pop a list and we can select one and result in below
public override void OnInspectorGUI() {
}

}

Hi! This is a duplicate of https://github.com/OmniSharp/omnisharp-vscode/issues/1044.


[Bug] StackViewport.setImageIdIndex should set this.targetImageIdIndex too

Describe the Bug
Calling StackViewport.setImageIdIndex on a stack viewport does update this.currentImageIdIndex, but does not update this.targetImageIdIndex. StackViewport.scroll, on the other hand, using this.targetImageIdIndex as a base. As a result, if you scroll with the scroll tool to eg. image 10, then call setImageIdIndex(1), and then use the scroll tool again, the viewport will not scroll to image 2, but to image 11.
Steps to Reproduce

Create a stack viewport
Use the mouse scroll tool to scroll to a given image
Call setImageIdIndex on a different image
Scroll again

The current behavior
Scroll continues from the last image scrolled, instead of continuing from the image set using setImageIdIndex
The expected behavior
Scroll should be continuous even if setImageIdIndex is called.
OS
Linux
Node version
20
Browser
Firefox 128

I added the following hack for now, which fixes the issue:
viewport.setImageIdIndex(imageIndex); // will update this.currentImageIdIndex but not this.targetImageIdIndex
(viewport as unknown as {targetImageIdIndex: number}).targetImageIdIndex = imageIndex; // workaround for #1393

I have the same issue

Can you check the latest OHIF viewer, which now includes Cornerstone 3D 2.0?
Here are the migration guides:
Try OHIF locally: https://viewer-dev.ohif.org/localbasicTry Cornerstone3D 2.0 locally: https://www.cornerstonejs.org/live-examples/local.html
https://docs.ohif.org/migration-guide/3p8-to-3p9/


Add: Dijlah Zaman

Channel Name
Dijlah Zaman
Alternative Names (optional)
قناة دجلة زمان
Network (optional)
No response
Owners (optional)
No response
Country
IQ
Subdivision (optional)
No response
City (optional)
No reponse
Broadcast Area
c/IQ
Languages
ara
Categories (optional)
general
NSFW
FALSE
Launched (optional)
No response
Closed (optional)
No response
Replaced By (optional)
No response
Website (optional)
https://www.dijlah.tv/index.php?page=pages&id=tarab
Logo
https://www.lyngsat.com/logo/tv/dd/dijlah-zaman-iq.png
Notes
No response

According to https://www.dijlah.tv/index.php?page=pages&id=about, they're from Iraq, not from Jordan.

Changed and thanks.


Macro: Attachment points do not disappear when hover is removed from some monomers.

Steps to Reproduce

Switch to Macro mode
Add monomers to canvas
Select Bond tool
Hover monomers going through one to another
Note: Also reproduced when hovering monomers connected by bonds

Actual behavior
Attachment points do not disappear when hover is removed from some monomers.
Expected behavior
Attachment points disappear when hover is removed from monomers.
Screenshots
https://github.com/epam/ketcher/assets/62464241/e0fe9448-f69b-4b54-a044-fe855c4a53e1
Desktop (please complete the following information):

OS: Windows 11
Browser Chrome
Version 112.0.5615.138 (Official Build) (64-bit)

Ketcher version
[Version 2.18.0-rc.1]

Bug is still reproducing

Finally fixed in https://github.com/epam/ketcher/pull/4482

Verified as fixed for CI Version
2.21.0-rc.1 Build at 2024-04-26
Indigo Toolkit
Version 1.20.0-dev.1.25-gafde2b35-wasm32-wasm-clang-12.0.0
OS: Windows 11
Browser Chrome
Version 112.0.5615.138 (Official Build) (64-bit)

Tested on release 2.21.0-rc.2
Fixed.
https://github.com/epam/ketcher/assets/62464241/c19993b8-ea75-4683-9679-9d1432e17cb3


0.17.0 to 0.18.0 bottomsheet regression: bottomsheet expands fully vs peeking

Describe the bug
In 0.17.0 if I opened up a bottom sheet then it would start at it's peeked height, but now when I open it after updating to 0.18.0 then it opens to fill the entire screen. However if I close it, and open it again, then it goes to it's peek height.
Will add more info as I get more time, but I wanted to file the bug since I know there were some changes to 0.18.0 regarding bottomsheets and so maybe this isn't a bug but an intended change?

Also, found another regression? Potentially related. When the sheet is dismissed (you hit back to go to the previous destination) then when calling navController.currentDestination!!.route it will still equal "bottom_sheet" which it should not. It should equal whatever screen is currently visible. This is different behavior from 0.17.0 to 0.18.0.

Also, swiping down on the bottom sheet, makes the bottom sheet appear again.

Repro code:
NavHost(navController, startDestination = "start", Modifier.padding(innerPadding)) {
        bottomSheet(route = "bottom_sheet") { MyBottomSheet(navController) }
...

MyBottomSheet
Box(modifier = Modifier.background(Color(0xffffffff))) {
        Column(
            verticalArrangement = Arrangement.Top,
            modifier = Modifier.fillMaxSize().padding(horizontal = 16.dp),
        ) {
            Text(
                "Thing",
                modifier = Modifier.align(Alignment.CenterHorizontally).padding(vertical = 8.dp))
        }
    }

invoked via navController.navigate("bottom_sheet")

Here is a video of how this works in 0.17.0
https://user-images.githubusercontent.com/31751141/133343575-a9e5608d-d1a6-42da-b135-a6b8c21634ee.mp4
Works as expected. A click opens up the bottom sheet. Drag down. It hides. Click again. It shows.

In 0.18.0 you can see that it opens up completely (which takes two swipes down to fully close), and then after clicking again, it does open up only halfway (as expected, like in the 0.17.0 video above), but then when I swipe down, it just opens again.
https://user-images.githubusercontent.com/31751141/133343654-de940eeb-46bf-4c80-af7b-7727c24b09fe.mp4

Thanks for the report! This looks like a duplicate of #700 which I will address soon.


Add UnauthenticatedError

Adds an UnauthenticatedError to track when the user gets logged out without tapping 'sign out'. (E.g. when access token expires without a refresh token to update it.)
We are adding refresh token auth so would be useful to have this to monitor if users get logged out unexpectedly.

thanks! :shipit:


DateTimePicker errors when data has value not matching minutes step

Package
filament/filament
Package Version
v3.2.92
Laravel Version
v10.48.14
Livewire Version
No response
PHP Version
PHP 8.2.20
Problem description
I have a form containing a DateTimePicker input with a ->minutesStep(5).
This field can be left blank and when the form is saved the current time will be used, however this then breaks the form when editing the resource if the saved minutes are not a multiple of the ->minutesStep(5) value (I think this is the issues from my testing).
If my field data when loading the form is: 2024-06-26 08:35:00 the save works.
If my field data when loading the form is: 2024-06-26 08:34:00 the save does not work.
This can be an issue when leaving the field blank allows timestamps to be saved as now(), or when using imported data that may not have times matching the step.
This is the error from Chrome

An invalid form control with name='' is not focusable.
<input max="59" min="0" step="5" type="number" inputmode="numeric" x-model.debounce="minute" class="me-1 w-10 border-none bg-transparent p-0 text-center text-sm text-gray-950 focus:ring-0 dark:text-white">

And Firefox

An invalid form control is not focusable.

Tested in Chrome Canary and Firefox nightly
Expected behavior
The form should correctly save (or show a validation error). Or saved data should adhere to minutesStep()
Steps to reproduce
Edit:
Install repository
php artisan migrate
php artisan db:seed
This will create two records in the Test Model

Open browser console.
Edit ‘On 5 minute interval’ and hit save without making any changes - saving it successful.
Edit ‘Not on 5 minute interval’ and hit save without making any changes - saving will fail.
--
Create a form with a DateTimePicker and a set the minutesStep(). Load a resource with a value not matching the minutesStep(). Attempt to save.
Forms\Components\DateTimePicker::make('published_at')
    ->seconds(false)
    ->minutesStep(5)
    ->native(false),

Reproduction repository (issue will be closed if this is not valid)
https://github.com/RicLeP/filament-datetime-bug
Relevant log output
No response

Donate 💰 to fund this issue

You can donate funding to this issue. We receive the money once the issue is completed & confirmed by you.
100% of the funding will be distributed between the Filament core team to run all aspects of the project.
Thank you in advance for helping us make maintenance sustainable!

Repository added: https://github.com/RicLeP/filament-datetime-bug

I'm not sure if this should be treated as a Filament bug, or you should manually format the state to conform to the configured step after hydrating the field.

I wasn't sure either. The error messages the browser gives are very confusing for anyone wanting to debug it, they've nothing to do with the data having the wrong values to work.
For me I see the issue being when external data has been imported, you don't know if it's in the right format. Or saving now() if left empty.
I agree that it can be resolved when hydrating but with combination of different data sources and the misleading errors (due to browsers more than Filament I think) I can see people being caught out.
Should inputs with minitrStep set hydrate correctly by default?

Hmm, formatting on Filament's side may confuse devs if they don't expect their stored data to be formatted after hydration.
The native browser input would probably give an unexpected result too (like https://github.com/filamentphp/filament/issues/13123#issuecomment-2155979990).
I'm going to close this issue for now, but tagging @danharrin to see if he thinks we should reopen and implement a "fix" in Filament.

Related issue - Textarea with numeric() set in a wizard. The user can enter commas, but if the field is on a prior wizard step when saving is throws a An invalid form control is not focusable. error in the browser. This stops the data being saved but shows no error or feedback to the user, just a cryptic message in the console.


bug fix for issue #1857

Close #1857

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

Codecov Report
Patch coverage: 60.00% and project coverage change: -1.82% :warning:

Comparison is base (b4aa396) 73.25% compared to head (dbcf7d6) 71.44%.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #1895      +/-   ##
============================================
- Coverage     73.25%   71.44%   -1.82%
+ Complexity    21544    20671     -873
============================================
  Files           646      634      -12
  Lines         87412    86904     -508
  Branches      19090    18946     -144
============================================
- Hits          64038    62090    -1948
- Misses        15462    16745    +1283
- Partials       7912     8069     +157

Files Changed
Coverage Δ

...alibaba/fastjson2/reader/ObjectReaderImplList.java
71.01% <60.00%> (-6.74%)
:arrow_down:

... and 60 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


update docker version in circle.yml to 1.10 or above

Naively bumping the version breaks the "-e lxc" flag in the ubuntu upstart script. sed patching around that returns a new error regarding docker failing to load its apparmor profile.
I assume the cirlceci patch is incompatible with the ubuntu version we are using. Ben says the priority is low, so I'm not looking into it further
Citations:
https://github.com/docker/docker/pull/17700
https://github.com/docker/docker/issues/15340
https://github.com/docker/docker/issues/21505

@NodeGuy are you working on a fix for this?

@AFDudley is this worth revisiting now with the alpine base image?

@AFDudley Sorry, I didn't see your April comment until now for some reason.  No, I'm not working on Eris DB.


docs(all): Upgrade the API Docs version to 2.2.0

Update publishing of main branch Open API Documents to be to 2.2.0
Close https://github.com/edgexfoundry/edgex-go/issues/3844

If your build fails  due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-go/blob/main/.github/Contributing.md
PR Checklist
Please check if your PR fulfills the following requirements:

[x] I am not introducing a breaking change (if you are, flag in conventional commit message with BREAKING CHANGE: describing the break)
[x] I am not introducing a new dependency (add notes below if you are)
[ ] I have added unit tests for the new feature or bug fix (if not, why?) N/A, updating API docs only
[ ] I have fully tested (add details below) this the new feature or bug fix (if not, why?) N/A, updating API docs only
[ ] I have opened a PR for the related docs change (if not, why?) N/A, updating API docs only

Testing Instructions
N/A, updating API docs only

Codecov Report

Merging #3857 (b594cf5) into main (2969706) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #3857   +/-   ##
=======================================
  Coverage   45.77%   45.77%
=======================================
  Files         112      112
  Lines        9640     9640
=======================================
  Hits         4413     4413
  Misses       4844     4844
  Partials      383      383

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 2969706...b594cf5. Read the comment docs.


fix: remove static analysis job

Let's see if this will pass.

Hopefully this will be improved by #3833 -- it probably won't easily pass.

This isn't a unilateral change. It's a PR sent for review so the wider group can see it. The decision at the meeting was that the problem was going to be fixed on Tuesday. That didn't happen. I'm going to repush this PR since it got closed before I could get the information I needed from it.


As a listener, I want to be able to thumbs up artist work so that more people can discover it.

Prerequisite: #11
Thumbs up is easy, but influencing an algorithm is another beast entirely

Repeat of Issue #106


Property wrappers error

Hi !
Following the example given in the documentation:
struct Book: Codable {
    @Element var id: Int
}

I tried to create an instance of a Book:
let book = Book(id: 42)
But I get the following error:
Cannot convert value of type 'Int' to expected argument type 'Element<Int>'
To make it work I have to do:
let book = Book(id: Element(42))
Is there something I'm doing wrong ? Thank you 😊

No, his is correct as it stands. But I'll keep the issue open as I think we can fix it in the signature.


runs but doesn't work?

➜  hrtcup git:(new) ✗ onchange 'src/assets/css/**/*.sass' -v -- npm run build:css
onchange: watching src/assets/css/**/*.sass

it seems to run but when I change the file and save, nothing happens.
if I manually npm run build:css that will work.
➜  hrtcup git:(new) ✗ npm -v
3.10.3
➜  hrtcup git:(new) ✗ node -v
v6.5.0

OSX
(https://github.com/damonbauer/npm-build-boilerplate/blob/master/package.json)

I don't see any src/assets folder in the project you linked to. Are you working on a branch?

@blakeembrey
oops here is the repo of the project I am working on, those were just the starter files I started with.
https://github.com/theskillwithin/hrtcup

It worked for me. Can you make sure that's the command you run? Could you also make sure that you're in the right working directory when you run that? Aside from that, I don't think it's an issue with onchange because the change events come directly from chokidar - perhaps searching their issues and finding out if it's an existing issue may help.

Oh wow I just tried running the pure command in cli again like I did originally to diagnose.  Now it works all sudden.
onchange 'src/assets/css/**/*.sass' -v -- npm run build:css


refer my file

I am trying to do something in software world so, i am here at Git Hub. as i heard from people it is very important if you want to work with programming ,coding etc .

thank you


Unable to launch an application on a mobile browser present in Perfecto device using Robot Framework

_**Hello,
I am trying to launch an application on the safari mobile browser. Below is the code snippet which i can using:
*** Settings ***
Library           AppiumLibrary    10
Library           PerfectoLibrary     RobotframeworkPerfectoBrowserDemoProject        v1.0         RobotframeworkPerfectoBrowserDemoJob       1
*** Variables ***
${perfecturl}     https://<your_cloud_name>.perfectomobile.com/nexperience/perfectomobile/wd/hub/fast
${token}          <your_perfecto_security_token>
${bundleId}       com.apple.mobilenotes
${deviceid_iphone}   <your_device_id>
*** Test Cases ***
Demo test on iphone
[Tags]    Perfeco  Device   iPhone
[Teardown]   Close All Applications
open test device      iPhone
*** keywords ***
open test device
[arguments]     ${devicemodel}
run keyword if  '${devicemodel}'=='iPhone'     open application    ${perfecturl}   securityToken=${token}    deviceName=${deviceid_iphone}      noReset=${True}   browserName=mobileOS   browserUrl=https://perfecto.io
When I run this script, I am seeing the Safari browser gets opened in the Perfecto mobile device, but the application https://perfecto.io doesnt.

Hi @denghj , I have one further question....what is the robot keyword to press enter for iOS device please?

If you have the keyboard showing up, you can:
Click Element       @.*="Enter"]
You can also use Perfecto keywords like:
${key}=   Create Disctionary        keySequence=KEYBOARD_ENTER
driver_execute_script mobile:presskey          ${key}
On Wed, Aug 11, 2021 at 8:19 AM sayom88 @.***> wrote:

Hi @denghj https://github.com/denghj , I have one further
question....what is the robot keyword to press enter for iOS device please?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/PerfectoMobileSA/Robotframework_Perfecto_demo/issues/1#issuecomment-896778629,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZTZ4CTXS5SVUBTM7R6YULT4JTEVANCNFSM5B3ZJUCQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

Hi @denghj , the keyboard is actually not showing up after I input text to a field. Basically what I need to do is once I am inputting text to a field, I need to press Enter. But here the keyword in the iOS device is not showing up. That's the problem. Can you please guide how to resolve this. Tnx.

If your typing does not trigger the keyboard to be showing up, you are
setting the field value only.
In many cases it will cause issues because the page won’t accept your input
by only setting the field value. For instance in special format fields like
email or salary fields.
You shall click on the field to enable the keyboard instead. Then use the
keyboard keys to type in at least one character to activate the backend js
attached to the field
Hope this helps
On Thu, Aug 12, 2021 at 12:01 AM sayom88 @.***> wrote:

Hi @denghj https://github.com/denghj , the keyboard is actually not
showing up after I input text to a field. Basically what I need to do is
once I am inputting text to a field, I need to press Enter. But here the
keyword in the iOS device is not showing up. That's the problem. Can you
please guide how to resolve this. Tnx.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/PerfectoMobileSA/Robotframework_Perfecto_demo/issues/1#issuecomment-897330207,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZTZ4HMNU5BS4BGXWAJNS3T4NBQXANCNFSM5B3ZJUCQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

--
—
This email was sent from my mobile device.
Please excuse any typo or auto-corrects