The note at the top of this page is patently incorrect

Versioning is done only on assemblies with strong names.

versioning and strong naming are different things.  All assemblies and programs are versioned even if one isnt set explicitly. Some are signed with a strong name key to reduce tampering.

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

ID: 3041cbd3-6a5e-515c-f261-e228bae5783a
Version Independent ID: 2e1387a8-577b-19bb-f445-d3007fde88fe
Content: Assembly versioning
Content Source: docs/standard/assembly/versioning.md
Product: dotnet-fundamentals
GitHub Login: @IEvangelist
Microsoft Alias: dapine

You're absolutely right. Do you want to submit a PR to address this issue? Thank you @StingyJack

Done

Closed by #26246


Support to install atest as a Windows service

We already support it on the Linux platform. See also here.
Please feel free to read the following references below if you're interested in this issue:

How to Run Any Program as a Background Service in Windows

Hi，I want to do this issue，thank you~

More possible useful links:

https://github.com/mh-cbon/go-msi/issues/9#issuecomment-280939091

hi @Perryen I'm going to cancel the asign status due to no response from you in a long time.


ChainSyncClient: include the reason why a block is invalid

Addresses #1254.
The ChainSyncClient will disconnect from a peer when it sees a header in the
candidate chain that it knows corresponds to an invalid block. How does it
know it is invalid? The block has been downloaded in the past, the ChainDB has
validated the corresponding block, found it to be invalid, traced this along
with the reason why it was invalid, and recorded that the block is invalid.
However, many people are wondering why the ChainSyncClient thinks a block is
invalid, as it doesn't include the reason in its exception/trace message. Note
that the ChainDB must have already traced the reason why that block was
invalid, but that trace was maybe not enabled or people don't bother to scroll
up.
So to make all our lives easier, we now remember the exact reason why a block
is invalid in the ChainDB, instead of merely remembering the fact that a block
was invalid. This allows us to include the exact reason in the exception/trace
message why a ChainSyncClient thinks a block is invalid.

This PR also makes it possible to have better trace messages in #787 and #1225.

bors r+

bors r+

bors r+


Allow adding arbitrary labels to metrics when generating output

It's useful to be able to apply a label across all metrics, for
example when using a multi-processing framework to apply a
label for worker ID to all metrics (including from builtin
collector types). This change alows passing a dictionary of
labels and values to generate_latest which will then be applied
to all generated metrics.
Signed-off-by: Will Newton<EMAIL_ADDRESS>Let me know if this approach looks viable to you, happy to rework it if you have suggestions for how to do it in a better way.

I opened a new PR #741 that adds a new collector type. It's a little more complex but conceptually cleaner that way I think.


"Scorecard supply-chain security" GitHub CI action has been consistently failing

Example: https://github.com/google/closure-compiler/actions/runs/9704666554/job/26785314354
Error: Unable to resolve action `ossf/scorecard-action@v2`, unable to find version `v2`

Not a meaningful fix, but the misconfigured action is at least turned off as of https://github.com/google/closure-compiler/pull/4176, allowing us to see when the build breaks.


bump version in package.json to v2.27.14

release version v2.27.14

 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.


Some files are in CRLF

I've seen that some files are in CRLF, make it explicit so it's easier to contribute for people on linux/mac

Files are now LF


More informative "sent" and "received" screens

Could show fees paid, could show tags.
Also, for on-chain it shouldn't say "sent" it should say "Payment initiated" or something like that
Also also for on-chain, explain what the mempool link is for maybe? Also isn't mempool link bad for privacy?

For the users that care enough about that info, they can click into that in the recent activity to view it in the modal. So personally I wouldnt worry too much about it.

fixed this awhile ago


Add some more overloads into the C++ interface

The user may not be able to control the input; it's performance defect to force making a vector from C array in cases.
Depends on #424.

+2


Can't select first character on wrapped lines in TextEdit

Tested versions
Reproducible in 4.3.stable
System information
macOS 14.6.1
Issue description
If a TextEdit line is long enough to wrap to the next line you can't select the first character on that new line. Doesn't seem to be specific to wrapping mode, but of course in needs to wrap. This affects TextEdits in the Editor (like the output log, or editing field for Label RichText etc) and TextEdits in run projects.
Steps to reproduce
The easiest way to see it is just to print out a long enough print log, like print("Here's a really long comment text that can wrap to multiple lines if the comment areas is small enough") and resize the window so the word wraps. Or just enter a long text in a RichText text field. Observe that you cant select the first character on wrapped lines.
https://github.com/user-attachments/assets/52925ab4-77e2-40f3-9feb-889975949941
Minimal reproduction project (MRP)
You can reproduce it in the editor, not project specific.

Duplicate of (the log is a RichTextLabel, not a TextEdit):

https://github.com/godotengine/godot/issues/95297

Should have been fixed by:

https://github.com/godotengine/godot/pull/95301


Add tests for new features Document Intelligence

API change check
APIView has identified API level changes in this PR and created following API reviews.
com.azure:azure-ai-documentintelligence

/azp run java - documentintelligence - ci

/azp run java - documentintelligence - ci


Make TagComponent use PrototypeIdSerializer

About the PR
This allows the YAML linter to validate tag components.

Linter and build failing, please fix


MARP-790 Fix failed tests of alfresco connector item

Hi @ivy-rew
We found that the web-tester somehow made the test result of Alfresco connector fail.
From my understanding, the Web-tester focuses on testing the UI function when we interact with a component.
When I checked the testing code, there is one callable sub-process that is tested and I think web-tester does not need to be set up for that test case. TBH, I'm not sure whether there is any behind the story that we want to include in the POM file.
Could we remove it from the test project or need to provide some additional setup to make the status green?


HSTS Headers on all services

Right now we do not set HSTS Headers on the services but only on the GUI.
We need to track this further.
This can be mitigated by enabling HSTS on the reverse proxies.

@fforootd Is this issue still relevant? Or can we close it?

@livio-a should we solve this outside ZITADEL for the moment? I mean we can use GCLB to add this header

relates to https://github.com/caos/zitadel-cloud/issues/15

to ensure HSTS is set on all endpoints, adding it in GCLB is for sure the easiest and fastest way
but IMO we should solve this in ZITADEL itself later on

So we should keep this open for a little while more

This is no longer relevant since we have hsts rolled out


ArgumentsTypes operator== has suspect code

I've noticed this problem when making dart2js strong mode clean, but I'll leave it to the dart2js team to fix it:
  bool operator ==(other) {
    if (positional.length != other.positional.length) return false;
    if (named.length != other.named.length) return false;
    for (int i = 0; i < positional.length; i++) {
      if (positional[i] != other.positional[i]) return false;
    }
    named.forEach((name, type) {
      // ignore: RETURN_OF_INVALID_TYPE
      if (other.named[name] != type) return false;
    });
    return true;
  }

This is, as far as I can see, in pkg\compiler\lib\src\inferrer\locals_handler.dart.

Yes, thank you, Lasse!

wow. yay for strong mode!

fixed in https://github.com/dart-lang/sdk/commit/dc329bdcf31b72821b0072455cae49290596ef41


Fix: Direct builds to container-based infrastructure

This PR

[x] sends Travis builds to container-based infrastructure
[x] caches dependencies between builds

:information_desk_person: See http://docs.travis-ci.com/user/migrating-from-legacy.

Cool! I don't know anything about Travis' container setup, but if it's the future, who am I to argue?


fix(tabs): improves tabs style for iOS

Short description of what this resolves:
Changes proposed in this pull request:

badge position adjusted
icon/text position adjusted

Left: native (whatsapp)
Center: after my PR
Right: current ionic version

Ionic Version: 2.x

thanks!


Hgw more fixes for goto takeoff

@tcr3dr This is last round of fixes to docs/examples to address the changed goto/takeoff API. Fixes a fairly significant bug in the guided mode example.
I think ready to release now after release notes done and link added to v1 docs.

This looks good. My only comments are in the custom functions (instances vs type equality checking), which I suppose we will eventually roll into the library. So in the interest of time...

Great. Best to make the library as robust as possible.
Because we publish "master" as the right place to get the examples they really have to be "always runnable". Hence the fix done.


[tool_crash] ProcessException: No such file or directory Command: /home/christophe/flutter_sdk/flutter/bin/cache/dart-sdk/bin/pub, OS error code: 2

Command
flutter doctor

Steps to Reproduce

...
...
...

Logs
ProcessException: No such file or directory Command: /home/christophe/flutter_sdk/flutter/bin/cache/dart-sdk/bin/pub, OS error code: 2
#0      _ProcessImpl._start (dart:io-patch/process_patch.dart:390:33)
#1      Process.start (dart:io-patch/process_patch.dart:36:20)
#2      Lo

@Christophenkoa
Not sure which flutter version you are on, but if you are not on latest version, you should try to upgrade which should resolve this exception. See this similar issue for your reference:  https://github.com/flutter/flutter/issues/91287
Closing this as a duplicate. If you disagree or still getting this exception after upgrade, write in comments and I'll reopen.


Error when using, nothing pops up

I get the following error in the console (running the latest dev build of Sublime)
Traceback (most recent call last):
File "C:\Sublime Text 3 dev\sublime_plugin.py", line 533, in run_
return self.run(**args)
File "xkcd in C:\Sublime Text 3 dev\Data\Installed Packages\Xkcd.sublime-package", line 92, in run
File "xkcd in C:\Sublime Text 3 dev\Data\Installed Packages\Xkcd.sublime-package", line 98, in getComic
TypeError: 'NoneType' object is not subscriptable
And when showing a list:
Traceback (most recent call last):
File "C:\Sublime Text 3 dev\sublime_plugin.py", line 535, in run_
return self.run()
File "xkcd in C:\Sublime Text 3 dev\Data\Installed Packages\Xkcd.sublime-package", line 162, in run
File "./urllib/request.py", line 156, in urlopen
File "./urllib/request.py", line 469, in open
File "./urllib/request.py", line 487, in _open
File "./urllib/request.py", line 447, in _call_chain
File "./urllib/request.py", line 1268, in http_open
File "./urllib/request.py", line 1251, in do_open
urllib.error.URLError: <urlopen error [Errno 11004] getaddrinfo failed>

I've modified the package to give more informative error messages in these cases (update likely pushed within a week), but these errors should only occur if there's a problem with your network or with the xkcd servers.
Is this problem still occurring for you?

I am behind a https proxy, but that is configured in user settings - so I guess that should not be a problem?
Error for latest is:
Traceback (most recent call last):
File "C:\Sublime Text 3 dev\sublime_plugin.py", line 533, in run_
return self.run(**args)
File "xkcd in C:\Sublime Text 3 dev\Data\Installed Packages\Xkcd.sublime-package", line 92, in run
File "xkcd in C:\Sublime Text 3 dev\Data\Installed Packages\Xkcd.sublime-package", line 98, in getComic
TypeError: 'NoneType' object is not subscriptable

It sounds to me as though the proxy-situation may be causing an issue here.
The changes I've talked about haven't been pushed to users yet, but the error you're getting basically states that it isn't getting a (readable) response from the xkcd API.
Try opening this link in your browser, and see if you get something like this

When using a browser which is configured to use the proxy, I get the following:
{"month": "9", "num": 1577, "link": "", "year": "2015", "news": "", "safe_title": "Advent", "transcript": "", "alt": "The few dozen doors that have little Christmas trees on them are a nice touch.", "img": "http://imgs.xkcd.com/comics/advent.png", "title": "Advent", "day": "14"}

I see you use a mac, I have windows, can that be the problem? This plugin looks really nice so it would be great to get it working :)

Thanks!
I'll need to take a more thorough look at how to solve this.
I don't think the platform is a problem, but that the proxy isn't used in the package's requests.
I haven't used Windows in a while – When you say that your proxy is "configured in user settings", does this mean on a system level?
And does it use authentication (e.g. username and password)?

I have it in the usersettings in sublime, like so:
"https_proxy": "proxy.####.####.##:8080"
without it I cannot download packages from package control, with it package control works fine

Ah, ok.
I'll take a look at the source code of package control (where this variable comes from).
Should be a relatively easy fix.

I think I have just about solved the issue now, but I'd like to be certain before I push an update via Package Control.
If I were to push a dev-branch to Github, would you be able to check it out from the repo and test it?
Also – just to be sure – you're storing your proxy settings in Package Control.sublime-settings, right?

@Twizzledrizzle : I have now pushed an update via Package Control.
Please let me know if this solves your problem!

Sorry I forgot to reply!
The proxy settings is in the default sublime user setting, not the package control setting
I get the following error now:
Package Control: Upgraded Xkcd to 0.2.1
ignored packages updated to: ["Markdown", "Vintage"]
reloading plugin Xkcd.xkcd
reloading Packages/User/Package Control.sublime-settings
reloading Packages/User/Preferences.sublime-settings
reloading Packages/User/Preferences.sublime-settings
error: Xkcd: Xkcd.xkcd: URL error [Errno 11004] getaddrinfo failed contacting API
error: Xkcd: Error reading API response

note: adding the proxy settings in package control user settings gives the same error
by the way, thank you for putting time on this, your plugin is awesome from home :)

No problem, and glad to hear it:)
Does the console output your proxy properly though?
Somehing like Proxies: {'https': 'IP:PORT'}?

Nevermind, I just figured out a solution.
Have you set a "http_proxy" for Sublime Text?
Regardless, how does plain http-requests work for you (if you know of and use any package that perform these)?
Depending on how things work out, you might have to set "http_proxy" as well.
According to the Package Control Docs these should be set in Preferences > Package Settings > Package Control > Settings – Default, so this is likely where I'll have the package look for these.

@Twizzledrizzle : I've updated the package; it should finally (hopefully) work for you if you set "http_proxy" (same value as https_proxy) in the fashion outlined in my previous comment.

Works! Added the HTTP instead of HTTPS, thank you!
—
Niklas
On Tue, Sep 29, 2015 at 1:43 AM, Eivind Arvesen<EMAIL_ADDRESS>wrote:

@Twizzledrizzle : I've updated the package; it should finally (hopefully) work for you if you set "http_proxy" (same value as https_proxy) in the fashion outlined in my previous comment.
Reply to this email directly or view it on GitHub:
https://github.com/eivind88/xkcd/issues/3#issuecomment-143903074

You should probably keep https_proxy, as package control may be dependent on this.
Anyway: Great!
Closing the issue.


Only install build deps temporarily where they're needed

This reduces the built image size by 27.3 MB, from 680.7 MB to 653.4 MB - I haven't had a chance to test if it actually works on a boombeastic yet though

@Page- tested and it seems it breaks shairport
29.05.17 05:11:10 (+0200) shairport: shairport-sync: error while loading shared libraries: libconfig.so.9: cannot open shared object fil
e: No such file or directory

Ok, I guess it's because we only install the -dev libs so now that we remove them we also remove the actual libs that are installed as a byproduct, it shouldn't be too hard to fix

Does resin support the ONBUILD for multistage builds ?

@arthurlutz it does, here you can find an example: https://github.com/resin-io-playground/nodejs-multistage-docker


Prompt for exposure logging not showing up and not in setting either.

When I first download the app and it says you’ll be asked to accept exposure login nothing shows up. When I go into exposure logging settings in the health privacy area says not available in your region and I am in Ontario.

Hey @brevanbabbar,
Could you answer the two subheadings below to help the team triage the issue accordingly.
Steps to reproduce

Sequential steps (1., 2., 3., ...) that describe how to reproduce the bug. This will help a developer experience what the user experienced so that they can debug it.

Environment

What kind of device was the bug experienced with. This would include device, version of the operating system (i.e. iOS or Android), and any other environmental details that might be relevant.

Adding this to another open issue.


Changed namespace for gflags functions to match project

As of March 20th, the default namespace of gflags (unless compiled with special options) is gflags, not google, which breaks the compilation of flint.
Alternatively, this project could follow the folly project and use the configure script and a #Define to use the correct namespace.  I could try to write a patch for that, if it is preferred.

Fixed: https://github.com/facebook/flint/commit/68f3e3356644dca09bc0f11d4a216f5a54b76d0a


Unable to compile for tvOS due to picture-in-picture regression

Current behavior
When you pull the latest release and try to build for tvOS, the build fails due to this library including an unsupported API for picture-in-picture on tvOS. Fails at AVPictureInPictureControllerDelegate in RCTVideo.h, but it's just the tip of the iceberg.
Reproduction steps

Initialize the project with react-native init MyVideoApp && cd MyVideoApp && npm install
npm install react-native-video && react-native link react-native-video
Open the XCode project and add react-native-video to the Link Binaries for MyVideoApp-tvOS
Select the build Scheme for tvOS with a tvOS simulator.
See the build fail at AVPictureInPictureControllerDelegate in RCTVideo.h.

Expected behavior
The build should not include unsupported APIs (AVPictureInPictureControllerDelegate) in the tvOS build.
Platform
Which player are you experiencing the problem on:

tvOS

Caused by https://github.com/react-native-community/react-native-video/pull/1325


[next] Sprite, Mesh and Graphics refactor to including in batching, Take 2

Take 2 on  #5069
This fixes some of the messy merge and Git issues from the previous PR.
Build: https://pixijs.download/feature/mega-batch2/pixi.min.js
Docs: https://pixijs.download/feature/mega-batch2/docs/index.html
Render Tests: https://pixijs.io/v5-render-tests/?feature/mega-batch2

@ivanpopelyshev 2: that's a known issue, we added the multiplyUvs issue to https://github.com/pixijs/pixi.js/projects/8
Would welcome a fix for that.


question: why the parse function returns also an id?

I'm looking at the code, in particular to the parse function.
let id = 0;

function parse({ htmlRoot, js }) {
  let result = {
    // increment the id every time we call parse, so we can use
    // it for react keys, when iterating over targets
    id: ++id,
  };

Is the id important to the parse function? I looked at the code but I didn't found the place where it is used.

No, I removed it while working on the sandboxing thing (#21). During the prototyping phase, I used it to force rerenders some elements.
Will submit a PR for it soon.


S3 file system should support remote minio server as well

Is your feature request related to a problem? Please describe.
I have setup a remote minio server at my organization, I tried to execute server with
trtserver --model-repository s3://<IP_ADDRESS>:9000/model-bucket
it just crash with "Could not find bucket with name <IP_ADDRESS>"
Describe the solution you'd like
trtis should support s3 server with remote address
Describe alternatives you've considered
n/a
I find that the feature can be added by modifying
https://github.com/NVIDIA/tensorrt-inference-server/blob/master/src/core/filesystem.cc#L608
s3://([0-9a-z-.]+):([0-9]+)/([0-9a-z.-]+)(((/[0-9a-z.-_]+)*)?)")

@24hours Sure, I will make these changes and test support for remote minio s3 buckets as well.


Support running FFI library tests with asan on CI

Right now, this doesn't work because we use a prebuilt Dart VM and the asan symbols can't be found at runtime. I tried using the ASAN DSO option but could not get it working. For now I'm going to skip this.
If we continue to build FFI based libraries on CI, we should test them using sanitizers. Right now it seems like it's not worth the extra effort for the one or two small libraries we have.

To clarify: if we use --no-prebuilt-dart-sdk then the sanitizer enabled tests work, but it adds time to CI. We'd probably want to run this in a separate shard.


Default install command fails on bash

$ which bash
/bin/bash

$ bash

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
bash-3.2$ echo $BASH_VERSION
3.2.57(1)-release
bash-3.2$ which curl
/usr/bin/curl
bash-3.2$ . <(curl -Ls s.defang.io/install)
bash-3.2$ echo $?
0
bash-3.2$ . <(curl -L s.defang.io/install)
bash-3.2$   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  9462  100  9462    0     0  22441      0 --:--:-- --:--:-- --:--:-- 22441
curl: Failed writing body

This still is the default "bash" on macOS Sonoma 14.6.1 (23G93)
https://stackoverflow.com/questions/32596123/why-source-command-doesnt-work-with-process-substitution-in-bash-3-2/32596626#32596626
Workarounds are to use eval or source /dev/stdin <<<"$(…)".

Do I understand correctly that it's because it's an old bash, but that the old bash is still the default?
Would it fix anything to pipe the output into sh? I'm seeing that the GitHub and NATS CLIs both use that kind of install process:
curl -sS https://webi.sh/gh | sh

curl -sf https://binaries.nats.dev/nats-io/natscli/nats@latest | sh

If I remember correctly, there was a reason I didn't do that... but I can't remember what it was unfortunately.

So far I've only personally had two reports of this, so this does break bash users, but there aren't that many (and we have other installers)


Implement ADTs, and pattern matching

Here's the proposed syntax, based on the same declaration in an article by Oleg:
type Exp {
    | Var (Str)
    | App (Exp, Exp)
    | Lam (Var, Exp)
    | Let (Var, Exp, Exp)
}

Semantically, the type Exp declaration would introduce five new types into the current scope, the latter four of which are instantiable classes. (For example, Lam(Var("foo"), Var("foo")).) So far, nothing particularly exciting about that. As you can see, ADTs can be recursively defined without much fanfare. If they don't have a base case, you simply won't be able to instantiate one using a finite program.
The | things stand out a little and make it clear that this is a DSL. They're also a little bit easier on the eyes than ; at the end of the line, and visually hint that there is something very declarative going on here, rather than imperative ; stuff.
We also introduce a case statement:
sub depth(Exp e): Int {
    return case e {
        | Var (_): 0
        | Lam (_, e): depth(e) + 1
        | App (e1, e2): max(depth(e1), depth(e2))
        | Let (_, e1, e2): max(depth(e1), depth(e2))
    };
}

There's both a case statement and (as above) a case expression. Both require an xblock. Notice how the individual cases mirror the syntax of the ADT declaration itself, although here we're binding against values instead of declaring their types. The thing after the colon can be either an expression or a block.
In the case of the App and Let cases above, e1 and e2 are introduced as lexical variables whose scope is only the expression or block immediately following the colon. Written as imperative code, the App case would come out as something like this:
if type(e) == "App" {
    my e1 = e.getProp(0);
    my e2 = e.getProp(1);
    return max(depth(e1), depth(e2));
}

The underscores simply mean "no binding". (I wanted to do asterisks, following Perl 6's lead, but it didn't look nice. Dollar signs don't make sense in 007 because we don't have sigils.) In the case of Var we don't care about any of the properties, and we could elide the (_) completely. But even a paren full of underscores would do shape-checking on the type, which provides a little bit of extra consistency.
I guess we could also allow multiple matchers with | between them. Hm.
    return case e {
        | Var (_): 0
        | Lam (_, e): depth(e) + 1
        | App (e1, e2) | Let (_, e1, e2): max(depth(e1), depth(e2))
    };

In this particular instance that helps us. I'm not sure it's worth the extra complexity with the matching machinery, though. We'd need to throw an error if there was a type mismatch somewhere, or if two matchers didn't introduce exactly the same variables.
If you do otherwise as the last case, it will match when nothing else matched. Notice that you can't match on structure with this one, though; it's just a catch-all.
The compiler statically detects whether you've "covered all the cases". Given what we've said so far, that looks entirely tractable, even with things such as nested matching and multiple parameters. If you haven't covered all the cases, and don't have an otherwise, the compiler fails and describes in poignantly descriptive prose what you missed.
I'm sorely tempted to allow individual cases to happen right inside any function or pointy block, just binding directly against its signature. Both the case statement itself and return could then be implicit. The depth sub could then be written as:
sub depth(Exp _): Int {
    | Var (_): 0
    | App (e1, e2): max(depth(e1), depth(e2))
    | Lam (_, e): depth(e) + 1
    | Let (_, e1, e2): max(depth(e1), depth(e2))
}

This kind of "implicit block case matching" would go a long way to compensate for our lack of multi things. In fact, I'd say it's a pretty competitive alternative, with a bunch of advantages of its own.
It is unclear how much we need visitors à la #26 when we have pattern matching like this. But let's do both and see which one wins. :) Who knows, maybe they'll end up occupying different niches.

Almost immediately after I came up with pattern matching, I wanted to use it for primitive values too, not just ADTs. I haven't decided yet whether this is an inane idea, or a very worthy one.
None
No-one is interested in matching on None, as it has no structure. Forget I mentioned it, OK?
 What's that Array doing in my math result? And now I have to [0] and [1] all over the place.
'Course, with the new object system we could instead return something like { quotient: 0, remainder: 2 }, but... still meh. What's that DivMod object doing in my math result?
Then I realized pattern matching could be co-opted to "destructure" a number into its q and r parts:
case 5 {
    | Int (2 * q + r): say("The quotient is " ~ str(q) ~ " and the remainder " ~ str(r));
}

Here the Int should probably be optional, because we know it's an Int already. Note that the names q and r are just a convention; it's the pattern that matters, not the names.
Note the assumptions that go into the 2 * q + r expression. q can be any integer, but we (implicitly) require 0 <= r < q for positive q or q < r <= 0 for negative q. (Just like both Perl 6 and Python.)
We can also check for divisibility by setting r to 0. Here's an implementation of FizzBuzz using the above-conjectured sugar notation:
for range(1, 101) -> n {  # `range()` from Python assumed
    | case (15 * _ + 0): say("Fizzbuzz")
    | case (3 * _ + 0): say("Fizz")
    | case (5 * _ + 0): say("Buzz")
    | otherwise: say(n)
}

We can even check for primality by parameterizing both factors in the multiplication. Here's a function that decomposes an integer into its constituent prime factors:
sub factorize(n: Int): Array<Int> {
    | case (p * q + 0): return p :: factorize(q)    # infix:<::> cons operator assumed
    | otherwise: return [n]
}

That, I must say, looks very nice.
(A silent assumption made in the p * q + 0 pattern is that p be a prime. That's easy to arrange, though. (And note that we need to assume p >= 2 anyway to avoid getting trivial answers.) If p is either the smallest possible or largest possible prime, then we get a nice sorted array back.)
Str
We can easily check the beginning, middle, and end of a string for patterns:
| case ("huey" ~ _)
| case (_ ~ "dewey" ~ _)
| case (_ ~ "louie")

This eliminates Perl 6's starts-with, index, and ends-with, and also eliminates the need for something like with just to distinguish position 0 from no-such-substring failure. It's all handled by the pattern matching.
If we throw (a hypothetical) infix:<x> into the mix, we can even trim spaces, or count repetitions:
| case (" " x _ ~ trimmed ~ " " x _)
| case (_ ~ "ook " x n ~ _)

The only slight difficulty we're sweeping under the carpet here is how greedy the parameterized substring captures should be. If they're all greedy, then we'd find the last dewey above. (Which seems like a somewhat odd default.) If they're all frugal, we'd find the first one. Both seem to be useful behaviors, depending.
The trimming example would definitely want the first " " x _ to be greedy and the trimmed capture to be frugal. Hm. Feels like there's a good set of heuristics that could be applied here that would do the right thing most of the time, but I don't quite see it. And even then, sometimes we'd simply want to tell the match which one to match greedily and which one frugally. (Not to mention ratcheting semantics.) I don't see an elegant way to cram that information into the expression, though.
Here's an implementation of split:
sub split(s: Str, sep: Str): Array<Str> {
    return case s {
        | (pre ~ sep ~ rest): pre :: split(rest)
        | otherwise: [s]
    };
}

Array
Similarly, one could do destructuring of arrays, using infix:<::> (cons), infix:<++> (append), and structural matching of the contents of the array. But I don't have much to say about that, so... here, have a quicksort implementation:
sub quicksort(list: Array<Int>): Array<Int> {
    | ([]): []
    | (p :: xs):
        quicksort(xs.filter({ p < l }))    # yeah, yeah, I know literal blocks were killed off
        ++ [p]
        ++ quicksort(xs.filter({ p >= l }))    # and they never implicitly returned values like that
}

The only slight difficulty we're sweeping under the carpet here is how greedy the parameterized substring captures should be.

Here's one possible solution: introduce two different concatenation operators <~ and ~>. (Frugal and greedy.) They always apply to their left operand. We can still use ~ when the left operand is a constant string.
Rewriting the examples using this notation:
| case ("huey" ~ _)
| case (_ <~ "dewey" ~ _)   # first match
| case (_ ~> "dewey" ~ _)   # last match
| case (_ ~> "louie")

| case (" " x _ ~> trimmed <~ " " x _)
| case (_ <~ "ook " x n ~> _)

sub split(s: Str, sep: Str): Array<Str> {
    return case s {
        | (pre <~ sep ~ rest): pre :: split(rest)
        | otherwise: [s]
    };
}

Seems like we're mixing grammars into something weird. Also, couldn't ADTs be implemented with macros?

Seems like we're mixing grammars into something weird.

Aye. It was a thought experiment, but I don't like it much now that I see the result.
Interestingly, substructural matching on Ints is such a success essentially because of the fundamental theorem of arithmetic, which gives all nonzero integers a unique decomposition into factors. But ~ on strings is additive, and there's no fundamental theorem to back us up there.
I think it would be possible to combine the case statement with parser combinators, and that might be really nice. But exactly how that'd work hasn't clicked for me yet, so I'll stay silent on that.
Anyway, the important bit of the case statement is its conjugate role in destructing type constructors. All the other toying around with Ints and Strs is just bonus.

Also, couldn't ADTs be implemented with macros?

Yes, I sure hope so. We just need the following tech in 007:

is parsed (because case introduces syntax)
the ability to define and use your own Q types
the ability to hook into (the possibly user-land) type system
the ability to hook into the parser to declare things in a lexical scope not tied to a { } block

"Just". 😸

I think it would be possible to combine the case statement with parser combinators, and that might be really nice. But exactly how that'd work hasn't clicked for me yet, so I'll stay silent on that.

Another interesting bit: F#'s active patterns.

Another interesting bit: F#'s active patterns.

Active patterns, eh? Looks very nice. I'll have to mull over that for a while.

... Though I have no idea how to provide exhaustivity checks in some cases :).

Coming back to the type keyword, I think I'd want to call it enum instead. There's prior art; Rust enums look very much like I picture 007 ADTs.

for range(1, 101) -> n {  # `range()` from Python assumed
    | 15 * _: say("Fizzbuzz")
    | 3 * _: say("Fizz")
    | 5 * _: say("Buzz")
    | otherwise: say(n)
}

I came back to this issue to provide an case version of FizzBuzz, and was happy to find one was already written. I don't like the Python range, though, and I would probably write it like this:
use case;
use range;

for 1 .. 100 -> n {
    | 15 * _: say("FizzBuzz")
    | 3 * _: say("Fizz")
    | 5 * _: say("Buzz")
    | otherwise: say(n)
}

One thought occurred to me as I was thinking about the above version: there's a notion of "simple statement" that we're leaning on but haven't made explicit in 007. Expression statements like say(n) are simple statements. So are return, (conjectural) next, and throw. I guess basically any future keyword-only statements would be simple. (For example, a hypothetical yield statement or a take statement.) Bigger constructs like sub or while or BEGIN are not simple statements and won't work as the consequent of an alternative in a case.
The same conceptual subdivision would serve us if we introduced <stmt> if <expr>; and <stmt> while <expr>; statements.

I coded an Elixir ADT module, and it seems it'll be getting exhaustivity checking soon(tm).

Not sure how much of a problem this is, but...
sub depth(Exp e): Int {
    return case e {
        | Var (_): 0
        | Lam (_, e): depth(e) + 1
        | App (e1, e2): max(depth(e1), depth(e2))
        | Let (_, e1, e2): max(depth(e1), depth(e2))
    };
}

Those e1 and e2 variables on the left of the colon are declarations. But what happens if there's a my e2 somewhere in an outer scope? I see only two options:

It always prefers the pre-existing variable. So the outer e2 gets used. This basically creates a spooky-dependency-at-a-distance with that outer variable. What if the code with the outer e2 gets refactored at some point? Does this one then turn back into a declaration? Worse, this code clearly didn't expect to use the outer e2 in the first place. In short, it's not refactor-safe.

It's always a declaration. So the outer e2 gets shadowed, and generally everything gets shadowed. This is nice and consistent and local in the sense that you look at the code and know what it means. The only downside is that there's now no way to case-match against existing variables. (Though some small bit of syntax would help fix that.)

In short, something like | App (e1, e2) is actually a declaration of e1 and e2. It should act like one and shadow outer things, by default. We might want to consider a syntax that allows the use of variables from the outside. Is there prior art there somewhere? Otherwise we could go with something like | App (^e1, ^e2).

Erlang picks the action-at-a-distance one (add a declaration, and some later bind in scope became a match), Elixir picks the always-bind, using ^ to match (I think they changed it early in, around 0.9).
I'd rather we go the Elixir route for clarity's sake.

Yes, agree.

Between this and #13 I believe 007 becomes a superset of Prolog.

I'm going to close this one; not because it's not going to happen, but because it's a bit too ambitious as-is, the ideas in it have drifted since it was opened, and what we're actually going to do is adequately covered by four other issues:

#274 (tuples) along with #33 (optional/gradual static type checking) — if we can create type aliases for typed tuples, then we basically have ADTs
#265 (enums), possibly complemented by #33's sum types
#223 (case statements), again along with #33 to check totality


Rebus support?

Hi Keiran,
First of all, thank you for making this tool! It's awesome!
One question (not really an issue, hope that is okay) -- is there a way to create a puzzle that contains a rebus?
Thanks,
Ruth

Super late to chime in, and I don't think this repo/project is being updated anymore… but this would be cool!


[Question]: WorkflowValidationError: The following events are consumed but never produced: {<class 'llama_index.core.workflow.events.StopEvent'>}

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
Good morning everyone, I'm trying to create a custom Agent via Workflow by following this tutorial:
https://docs.llamaindex.ai/en/stable/examples/workflow/react_agent/
getting the following error:
Traceback (most recent call last):
  File "/compareAssistants/utils/workflows/function_calling_agent.py", line 228, in <module>
    asyncio.run(workflow())
  File "/compareAssistants/venv/lib/python3.9/site-packages/nest_asyncio.py", line 30, in run
    return loop.run_until_complete(task)
  File "/compareAssistants/venv/lib/python3.9/site-packages/nest_asyncio.py", line 98, in run_until_complete
    return f.result()
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/asyncio/futures.py", line 201, in result
    raise self._exception
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/asyncio/tasks.py", line 256, in __step
    result = coro.send(None)
  File "/compareAssistants/utils/workflows/function_calling_agent.py", line 193, in workflow
    res = await agent.run(input="Posso prenotare dal 5 gennaio al 10?")
  File "/compareAssistants/venv/lib/python3.9/site-packages/llama_index/core/instrumentation/dispatcher.py", line 291, in async_wrapper
    result = await func(*args, **kwargs)
  File "/compareAssistants/venv/lib/python3.9/site-packages/llama_index/core/workflow/workflow.py", line 191, in run
    self._validate()
  File "/compareAssistants/venv/lib/python3.9/site-packages/llama_index/core/workflow/workflow.py", line 336, in _validate
    raise WorkflowValidationError(
llama_index.core.workflow.errors.WorkflowValidationError: The following events are consumed but never produced: {<class 'llama_index.core.workflow.events.StopEvent'>}

I share the code without reporting the ReActAgent class which is simply copied and pasted from the documentation:
from typing import Any, List

from llama_index.core.agent.react import ReActChatFormatter, ReActOutputParser
from llama_index.core.agent.react.types import (
    ActionReasoningStep,
    ObservationReasoningStep,
)

from llama_index.core.llms import ChatMessage

from llama_index.core.tools import ToolSelection, ToolOutput, QueryEngineTool
from llama_index.core.workflow import Event
from llama_index.core.llms.llm import LLM
from llama_index.core.memory import ChatMemoryBuffer
from llama_index.core.tools.types import BaseTool
from llama_index.core.workflow import (
    Context,
    Workflow,
    StartEvent,
    StopEvent,
    step,
)

class PrepEvent(Event):
    pass

class InputEvent(Event):
    input: list[ChatMessage]

class ToolCallEvent(Event):
    tool_calls: list[ToolSelection]

class FunctionOutputEvent(Event):
    output: ToolOutput

class ReActAgent(Workflow):
    # Class copied from documentation
    pass

async def workflow():
    openai.api_key = os.getenv('OPENAI_KEY')
    llm = OpenAI(api_key=os.getenv('OPENAI_KEY'), model="gpt-4o-mini", temperature=0.5, reuse_client=False)
    assistant = admin_session.execute(
        select(Assistant).where(Assistant.uuid == "6132a6d3-8c37-40b3-ae4c-33587f44c645")).scalar()
    vector_store = get_vector_store(assistant_uuid=str(assistant.uuid))
    index = VectorStoreIndex.from_vector_store(vector_store, show_progress=False, llm=llm)

    query_engine = index.as_query_engine(llm, verbose=True, streaming=True,
                                         similarity_top_k=5,
                                         node_postprocessors=[SimilarityPostprocessor(similarity_cutoff=0.5)])
    # Convert query engine to tool
    query_engine_tool = QueryEngineTool.from_defaults(query_engine=query_engine,
                                                      description="Use as a basic function to respond to the user. It must always be called when no other functions are called")

    tools = [query_engine_tool]
    tools.extend(LLMFunctionToolsUtility.get_assistant_functions(assistant))

    #  chat_history=[], chat_engine=chat_engine
    agent = ReActAgent(llm=llm, tools=tools)

    res = await agent.run(input="Posso prenotare dal 5 gennaio al 10?")
    print(f"Risposta: {res}\n")

if __name__ == '__main__':
    import os
    import nest_asyncio
    from dotenv import load_dotenv
    import asyncio

    from database import admin_session, get_vector_store
    from models.assistant import Assistant
    from utils.tools.tools import LLMFunctionToolsUtility
    from llama_index.llms.openai import OpenAI
    from sqlalchemy import select
    import openai
    from llama_index.core.workflow.utils import get_steps_from_class, get_steps_from_instance
    from llama_index.core.postprocessor import SimilarityPostprocessor
    from llama_index.core import VectorStoreIndex

    load_dotenv()

    nest_asyncio.apply()

    w = ReActAgent()
    steps = get_steps_from_class(ReActAgent)
    if not steps:
        steps = get_steps_from_instance(w)
    print(f"steps class :{steps}")
    for step_name, step_func in steps.items():
        step_config = getattr(step_func, "__step_config", None)
        print(f"step config :{step_config}")
        if step_config is None:
            print(f"Step {step_name} is missing __step_config")

    asyncio.run(workflow())

Has anyone encountered the same error and know how to get out of it?
I also share the libraries and python versions

Python version: 3.9.6
llama-index==0.11.1

@LorenzoVaccher01 I copied the code into a fresh google colab, and I don't see the same issue
Maybe make sure you have the latest versions of your llama-index packages?
https://colab.research.google.com/drive/1KKtOd7cmWQ3uNHocU-G0I8D1fTkpdMA7?usp=sharing

@logan-markewich thank you for the answer. I copied your code, and I have the same error; so as you just suggested I think is an environment problem...
I'm sharing the versions I'm using
llamaindex-py-client==0.1.19
llama-index-core==0.11.1

Since I use Python 3.9 the only change to the code I made was in the return types and function parameters, substituting or instead of |.
Thinking this was the problem, I imported from __future__ import annotations to resolve the errors and a new error appeared:
Traceback (most recent call last):
  File "/compareAssistants/utils/workflows/function_calling_agent.py", line 45, in <module>
    class ReActAgent(Workflow):
  File "/compareAssistants/utils/workflows/function_calling_agent.py", line 65, in ReActAgent
    async def new_user_msg(self, ctx: Context, ev: StartEvent) -> PrepEvent:
  File "/compareAssistants/venv/lib/python3.9/site-packages/llama_index/core/workflow/decorators.py", line 68, in step
    decorator(func)
  File "/compareAssistants/venv/lib/python3.9/site-packages/llama_index/core/workflow/decorators.py", line 50, in decorator
    validate_step_signature(spec)
  File "/compareAssistants/venv/lib/python3.9/site-packages/llama_index/core/workflow/utils.py", line 82, in validate_step_signature
    raise WorkflowValidationError(msg)
llama_index.core.workflow.errors.WorkflowValidationError: Step signature must have at least one parameter annotated as type Event

At this point I think it's a library version and Python version issue


Build error on OSX 10.10

I'm trying to update the Homebrew formula for arrayfire to version 3.2.2. In the process, I'm using version af3.2.2 of forge. It compiles on OSX 10.9 and 10.11, but not on 10.10. Using clang++, I get the error message:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/OpenGL.framework/Headers/CGLCurrent.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/OpenGL.framework/Headers/CGLTypes.h:75:15: error: missing ',' between enumerators
        kCGLPFAStereo OPENGL_ENUM_DEPRECATED(10_0, 10_11)        =   6,
                     ^
                     ,

You can find the full build log here.
The error above is located here.
Thanks in advance for any clue!

@dpo I have tried forge build on the following machine and it built fine for me.
$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.10.5
BuildVersion:	14F27

I build with the following clang version
$ c++ --version
Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.5.0
Thread model: posix

Not really sure, what is the difference between your dev environment and mine ? Could it be travis ci setup ?

Thanks for checking. I'm not sure what's going on. It's not only Travis. The Homebrew build bot reports the same issue. I'll dig more.

This is what we have on our build machine.
$ ls /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
MacOSX10.10.sdk MacOSX10.9.sdk

Travis is building with MacOSX10.11sdk. Could that be the issue?

It could be. Unfortunately, I only have access to 10.10 on Travis or the build bot.

Here too things seem to have been resolved, perhaps by an OS update. Thanks! For reference, I was having the same error as described here: http://comments.gmane.org/gmane.comp.compilers.clang.devel/46074

glad that it got fixed and wasn't a bug in the code! :)


Can not create stock item with initial quantity greater than 1

API endpoint /api/stock/ didn't have such option. Is that ok?

Hi @rrakso thanks for your interest in my project! It is still pretty new and so please let me know if you find any further issues. I have fixed this issue in https://github.com/inventree/InvenTree/pull/393


"Name of new item" text box shows up for all Variables in a list

Description
If I have multiple unassignes Variables in a list (of serializable classes), when I click to create a new variable, the "Name of new item" text box shows up fot all unassigned variables in the list
Note: When you finally press create, this bug does not create a variable for all the objects, just the one you initially selected for creation, so the impact is very minor
To Reproduce
Steps to reproduce the behavior:

Create a serializable class with a *Variable field

[Serializable]
public class ClassWithVariable
{
  // [...]
  FloatVariable var;
  // [...]
}

Create a List of that class in an MonoBehaviour

public class MonoBehaviourWithListOfClass : MonoBehaviour
{
  // [...]
  public List<ClassWithVariable> objectsWithVariables;
  // [...]
}

Add that Behaviour to a game object, some objects to the list, and click on create for one of the variables.
Notice that the text box for creating a new variable is showing up for all of the objects in the list

Expected behavior
The text box should show up only for the variable being created
Screenshots

Note that all the variables has "asdfa" with the checkbox and the x opened beside it
Environment

OS: Windows 10
Unity Version 2019.1.13
Version of Unity Atoms v2.0.0

Thanks for submitting the issue!
Apparently, it is not possible to store member variables in PropertyDrawers for each instance. Just committed a fix for this in 0ad40a67d446c6dea3e510a84639c79099978847. Closing the issue.


Replace c0 with c1 in SecondOrderODE where appropriate due to previous typos

@samuelpmishLLNL noticed some typos I had made in #295 that were not caught due to a lack of testing.  This PR fixes those typos.

LGTM

Codecov Report

Merging #299 (1dea2a9) into develop (8e92ab0) will not change coverage.
The diff coverage is 66.66%.

@@           Coverage Diff            @@
##           develop     #299   +/-   ##
========================================
  Coverage    87.04%   87.04%
========================================
  Files           45       45
  Lines         1613     1613
========================================
  Hits          1404     1404
  Misses         209      209

Impacted Files
Coverage Δ

src/physics/operators/odes.cpp
73.52% <66.66%> (ø)

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 8e92ab0...1dea2a9. Read the comment docs.


Mod : Example 16-17 grouper optimization

The delegating generator grouper delegates averager inside a while loop.
Every time averager returns, a new but useless averager instance will be created during the following loop period.
Adding a yield statement after yield from averager() without while loop would be better.
Great great book, by the way.

`def grouper(results):
while True:
key = yield
results[key] = yield from averager()
def main(data):
results = {}
group = grouper(results)
next(group)
for key, values in data.items():
group.send(key)
for value in values:
group.send(value)
group.send(None)`


super quick PR with basic validation script

Okay, this is no where near finished, but your feedback on the categories would be helpful. Also, this gives you something to work from for directions/readme.
I'm currently working on programmatically adding some of the image info (specifically date and mission), but it's proving pretty hard as the GROD script was set up. We might need to have the user run the script after every Tile-Date has been labelled. That's obviously not ideal at all, so I'm going to try to figure out how to add properties to the labels given a particular Tile-Date.
More soon!

So I may have misspoken before ... it turns out that I might not have access to those assets. I just tried running this script but get the following error:
ImageCollection (Error)
Image.load: Image asset 'projects/ee-ross-superior/assets/eePlumB_valSets/LS4-7_eePlumB_val_aoi_10_1990-07-24' not found.

Okay, edits to the validation script and the validation have been made!

I fixed the cloud mask (again), as masking FOR water apparently also masked out clouds. The only pixel-level mask is now for 'saturated pixels'.

I still can't figure out how to incorporate info from the current Tile-Date into the points you add manually. Because of this, I edited the validation set such that there were no overlapping AOI tiles. This means that we'll have to assign users mission-date pairs for creating the training set and that anytime a user starts a new mission-date, they will need to start with a fresh script.

If you think there are better tiles to include, or this is too many tiles (I think this might be 2 too many tiles, just having gone through the labelling process a few times). Please let me know. I'm very open to changing this, just with the previously-mentioned issue with no overlapping tiles. I'm thinking we should drop 'Tile Date 5' (only open water) and maybe 'Tile Date 3' (it's similar to Tile Date 1).

I also added two categories: 1) deep offshore sediment and 2) ruddy sediment. Here's my thinking: if we end up not being able to label blooms, wouldn't it bee cool to know the quality of the sediment?! I feel like these are the 3 primary types of visual sediment in this system. If in doubt, we can always collapse. I welcome your feedback.

I need to find a better Superior shapefile. I just used the first one I found, but it doesn't have great accuracy and is missing near-shore areas on the southern coast and sucks at islands and jetties. This is causing a lot of 'shorelineContamination' for many of coast-adjacent tiles and I'm just generally not happy with it.

I feel like we're close to closing #12, but a lot of it depends on your thoughts about the above.

WAHOO!

So what does this mean for us? When we "assign users mission-date pairs", what exactly does that require us to do? Edit the script?

I think it just means that the database for labelers is a list of mission-date pairs (i.e., Landsat 5 2008-07-24, that contain all 16 AOIs). The way that the categories are loaded (as imports) means you can't 'edit' those imports once they are in that top area. I tried for a while to export info, but the only way to do that is to use the reducer function, but then you still can't set all the categories back to zero features. It's pretty frustrating.
Here's a work around I found, though it's not intuitive at all:

import the records by hovering and clicking 'convert'
ctrl-z to get the var categories back in the script
comment out each line where the var categories are (/* */ won't work, and if you don't comment it out, the script won't recognize the imports)
label pixels and run the output to save to drive
delete all the imports
uncomment the var categories
repeat the above steps for each new mission-date

It just seems simpler for a user to 'start a new script' for each mission-date pair instead of mess around with all this.

What is "ruddy" sediment, though?

Great question! I was seeing this mostly near the harbor, and sometimes on the southern coast or in that inlet in the far right corner of our total AOI. Here are a few examples:

This is definitely 'nuance' and doesn't happen on the shoreline very often, but I am deeply curious if there's something that's happening upstream/climatologically.  I am just really interested in what we can do that is 'new' or 'novel' and characterizing sediment plume extent AND some quality would be really cool and it's new and novel. I will search later for an even better southern shore example for our documentation.

I bet Hilary or Kait Reinl would have a better one!

Good call! I'll reach out to Hilary first. :)


gulp hangs indefinitely after 'default'

gulp hangs after 'default' indefinitely. Anyone else having this issue?
[19:28:20] Using gulpfile ~/sitetest/gulpfile.js
[19:28:20] Starting 'sass'...
[19:28:21] Finished 'sass' after 991 ms
[19:28:21] Starting 'default'...
[19:28:21] Finished 'default' after 11 ms

Reproduced:

Running foundation new
Starting new foundation site
Running foundation watch in the new site directory

@russelpryor Can you provide some more details.
What operating system are you running?
What version of Gulp are you using - gulp -v from the command line.

@brettsmason here are a few more specifics...
OS: OS X v10.11.4
$ gulp -v
[07:56:15] CLI version 0.4.0
[07:56:15] Local version 3.9.1

Basic Template is hanging up but not Zurb Templates.

@russelpryor Could you try updating your Global gulp version? On my system both versions are 3.9.1 so I wonder if that might be causing an issue? Also try clearing out your node_modules and running npm install again.
Let me know how that goes.

@brettsmason Thanks for your quick replies on this. My progress below.
Attempt to update CLI gulp
$ npm update gulp -g
$ npm update<EMAIL_ADDRESS>-g

... to attempt matching the local v 3.9.1. Did not work. So I reinstalled...
$ npm install<EMAIL_ADDRESS>-g --save
And now have a good match
$ gulp -v
CLI version 3.9.1
Local version 3.9.1

What is the best way to clear the node_modules? I've already tried a harsh method which seemed to work getting everything cleared... but did not fix my issue of the hangup:
$ rm -rf node_modules/
$ sudo npm install

@russelpryor Hmm have you tried creating a new project just out of interest? It could be one of those weird ones where starting again with a new project might help. If you could confirm if you have tried a new project that would be useful.

@brettsmason Yes indeed. My first post mentions the flow. It's only occurring on new projects at this point. Then again, most of my other projects have been using the Zurb Templates and not the vanilla Sites setup.

Exactly the same problem here - totally fresh node, npm, gulp, foundation installation. OSX 10.11.4

Same problem here. Brand new Foundation-For-Sites project, and gulp task stops at default after compiling "sass". Foundation-Zurb-Template works fine though.

I'm having this exact problem, suddenly.

What version of node are ya'all using?  We've seen issues with the 7.x series in a ton of different dependencies

I've recently updated to node version v6.9.1. Unfortunately I ran in the same issue.

I'm also having the same problem. Was there a solution?
Same as @baglio upgraded Node and stalling on 'default' task

I'm also having the same problem.  Same results as @baglio and @daneclarkcollins .
Foundation-Zurb-Template works fine. Foundation-For-Sites projects hang.
I originally was running node v7.3.0.
After reading the comments from @kball I downgraded to node v6.9.2 LTS.
I still have the same problem: Foundation-Zurb-Template works fine. Foundation-For-Sites projects hang.
I am running Manjaro Linux.

So... I just dug into this some more, and it looks like the sites template is currently doing this deliberately.  It includes a watch on the sass files to do a recompile, despite not including a server.  I guess it expects you to be serving the content in some other way, but still wants the default to be watching.
This strikes me as very unintuitive behavior... I see 2 potential fixes.

Change the default task to just compile, add a watch task for folks who want the current behavior.
Add a server or browsersync to this template.

I don't personally ever use this template, so I'm not sure what would best match expectations here... any of the folks on this thread have a thought?

@kball I am having the exact same issues with trying to do an npm start
What template/method do you suggest for using the Sass with Foundation?

@siddhant92 if you want a more full stack that includes it's own dev server, I'd recommend the ZURB stack rather than the basic stack.
That said, I'm leaning towards adding browsersync to the basic template, as folks seem to expect having a dev server built in.  @rafibomb @zurb/yetinauts what do you think?

@kball I also don't use this template so it's difficult to say which is better. If people that use it are just clicking refresh manually then I don't think it would be a bad idea if we forced browsersync on them. It's really easy for them to setup, so I don't see why not. That being said, I'm not sure if the manual refresh is the only use case out there.

At least we already have it here https://github.com/zurb/foundation-zurb-template/blob/master/gulpfile.babel.js#L146
gulp itself has some issues with cache warmup or building projects after a cold boot (which looks like it hangs but it does not).

I still think this is a Gulp only issue with Vinyl and not directly related to Foundation Sites or its config.
What should we do?

@DanielRuf the issue is described here:
#8681 (comment)
It's not "hanging" per se, it's just watching for changes. It's a poor setup of the gulp tasks. I say we just add browsersync and call it a day.

Well, in fact I had very long bootup times after cold boots using Gulp.
https://github.com/zurb/foundation-zurb-template/blob/1952ee3b7fade492f9d99e5d1e019662f5b230c2/gulpfile.babel.js#L36
https://github.com/zurb/foundation-sites-template/blob/3855d1be483ce62cc11b1831a9e2695bb4555efa/gulpfile.js#L23
https://github.com/zurb/foundation-sites/blob/v6.4.3/gulpfile.js#L27
All three are watching for changes.

Not sure if what you saw is the same issue. Yes all 3 are watching for changes but the foundation-sites-template has no server or browsersync plugin so it's not obvious that it's complete.
[19:28:20] Using gulpfile ~/sitetest/gulpfile.js
[19:28:20] Starting 'sass'...
[19:28:21] Finished 'sass' after 991 ms
[19:28:21] Starting 'default'...
[19:28:21] Finished 'default' after 11 ms

^^^ It's actually done after this happens, and people are confused because they are expecting something else to happen.

There is a big difference between both in general.
https://github.com/zurb/foundation-zurb-template/blob/master/gulpfile.babel.js
https://github.com/zurb/foundation-sites-template/blob/master/gulpfile.js
See https://foundation.zurb.com/sites/docs/starter-projects.html#basic-template

Our basic project template is a lot like the Sass template from Foundation 5. The project has a flat directory structure and only compiles Sass. It's great if you want to quickly put together a simple project and only need to use Sass.

See https://foundation.zurb.com/sites/docs/starter-projects.html#zurb-template

The official ZURB Template includes not only Sass processing, but also JavaScript processing, Handlebars templating, and image compression. We use this exact template at ZURB for our client work!

We also only use the second at work. The first one is just for compiling the Sass so I guess it makes not much sense to add browsersync to this bare template as it is up to the developers and users how they use it and what they do with it.
We should label the zurb template for projects in general and general use and the basic template for just a very template to compile the Sass (and nothing more, as it is described in the docs).

We're on the same page about all that stuff. I'm just confused about the "hang" issue you were describing as being related to the problem others experienced in this thread. I was explaining that their problem is a misunderstanding because we setup the gulp tasks on the foundation-sites-template poorly. Your cache warmup issue sounds like a completely different problem.

The first one is just for compiling the Sass so I guess it makes not much sense to add browsersync to this bare template as it is up to the developers and users how they use it and what they do with it.

Then we should do option 1 in @kball's post:

Change the default task to just compile, add a watch task for folks who want the current behavior.

Then we should do option 1 in @kball's post:

Change the default task to just compile, add a watch task for folks who want the current behavior.

Makes sense to me. What do the others think?

Your cache warmup issue sounds like a completely different problem.

Well, this is Gulp how I know it. It always had its flaws and was slower compared to rollup, parcel and webpack 4 =)

I've closed this issue as we did not receive any further feedback. Feel free to reopen if it is still an issue.


fix(ffe-form-react): add expectations and fix tests

Tests must have an expectaion. Simply writing expect(someBooleanStatement)
won't actually test anything.
This revealed the tests had another flaw. In order to test the class of an
element returned by a Component returned by the Component we're testing,
we need to mount it to get the full tree.

Coverage remained the same at 80.028% when pulling eccd46c4ef5d10e40e1fbb9ccd91594a116fa0aa on fix-incomplete-tests into 2e815610cbea57a391e60c5dbca4a2cf8ba71cb2 on develop.


[MM-17467] Use only one project in the channel subscriptions modal

Summary
Having multiple projects selected in the channel subscriptions modal makes many of the options confusing, as the choices are project-specific and they often don't overlap. We have chosen to scale back the feature for this release to include choosing only one project, and focus on providing multiple subscriptions per channel next release.
Ticket Link
https://mattermost.atlassian.net/browse/MM-17467

Tested this PR and the change works.

UI only allows for selection of 1 project
Creating subscriptions work
Updating subscriptions
Tested on Cloud and Server

@levb or @crspeller One thing I did notice is that there is no migration of existing subscriptions that have already been created with multiple projects. It seems the data model still supports multiple projects.
Given that this has never been out to production and the data does not exist in the wild, I am not very concerned about this. Please advise if you feel any change is needed.


Tpwdcee 1454

Coverage remained the same at 91.641% when pulling 86f2de6d3afdc76ef451a44536e70258adfb13e1 on TPWDCEE-1454 into 2d1fab00f0c37da8260e5e7258bcb8aebdce656e on master.


Feature Request: C403 Control(O) Streaming(X)

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
C403 battery cam control works great
But no video streaming

This is expected as listed in FAQ. Streaming is possible via go2rtc and has a very low priority to be implemented here by myself, but I welcome any PRs.


when i switch the DocumentStyle，from DockingWindow to DockingMdi or DockingSdi,the button on the form will disappear

如题所述

用的是源码里面的DockSample

而且默认选中的子窗体，每次都在变化

Please understand the fact that for an international project like this we only welcome English based discussion. I will close such threads.

pls check the DockSample

another problem is when i switch the DocumentStyle,the default selected form is not the same one

could you reopen this issue?
http://stackoverflow.com/questions/21333654/how-to-re-open-an-issue-in-github
you cannot re-open your own issues if a repo collaborator closed them


Add require-autocomplete lint rule

Description

Adds an eslint rule that tries to ensure we include an autoComplete  attribute on input. Part of the Autocomplete project.
Valid input example:
<input type="email" label="Email" autoComplete="email" />

Invalid input example:
<input type="email" label="Email" />

// Input elements of type 'email' must have an autoComplete attribute eslint(@shopify/react-require-autocomplete)

This rule catches most issues, but there are some circumstances where props passed into an input or TextField may be defined in a different module (passed as props to a parent for example) making it difficult to know for sure if an autoComplete value was passed or not. In these cases we do not report an error.
Type of change

[ ]  Patch: Bug (non-breaking change which fixes an issue)
[x]  Minor: New feature (non-breaking change which adds functionality)
[ ]  Major: Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

[x] I have added a changelog entry, prefixed by the type of change noted above (Documentation fix and Test update does not need a changelog as we do not publish a new version for these changes)

Thanks @vsumner and @Tom-Bonnike!
I've update the PR with your feedback and added a changelog entry.

We're going to leave this as error by default and let individual repos turn it off if they want to.
Thanks to Tom's suggestion I used a couple helper functions from jsx-ast-utils. This lead to me being able to delete most of the code I had written for the rule 😅. I ran the same test that Victor ran on web and got 53 errors instead of 54, which is fine.
I added a setting to the rule for repo's to add elements to have the rule applied to. For example to test in web I added the following to the .eslintrc.js file:

'@shopify/react-require-autocomplete': [
  'error',
  {
    inputComponents: ['TextField'],
  },
],

Let me know if I am missing anything else!


Whitespace handling is buggy

Compare:
🌼 ./roll -s1 3d6 # plain jane
3d6 10
🌼 ./roll -s1 3d6 # show seed is stable
3d6 10
🌼 ./roll -s1 '3d6*2' # expected doubling
3d6*2 20
🌼 ./roll -s1 '3d6 *2' # something went wrong
3d6 *2 10

Either:

Should support whitespace before the multiplication, and double as expected
Should raise a parsing error on the whitespace

Not addressing whitespace for * operator
However, am supporting whitespace at start or end of a complete dice expression.


basic: optimize the MCommit handler

Codecov Report

Merging #179 (dff7235) into master (8d43313) will increase coverage by 0.01%.
The diff coverage is 97.82%.

@@            Coverage Diff             @@
##           master     #179      +/-   ##
==========================================
+ Coverage   95.18%   95.19%   +0.01%
==========================================
  Files          88       88
  Lines       20098    20130      +32
==========================================
+ Hits        19130    19163      +33
+ Misses        968      967       -1

Impacted Files
Coverage Δ

fantoch_ps/src/protocol/newt.rs
96.35% <90.90%> (+0.03%)
:arrow_up:

fantoch/src/command.rs
90.69% <100.00%> (+0.51%)
:arrow_up:

fantoch/src/protocol/basic.rs
98.90% <100.00%> (+0.03%)
:arrow_up:

fantoch/src/run/task/delay.rs
96.15% <0.00%> (-1.93%)
:arrow_down:

fantoch/src/time.rs
92.72% <0.00%> (-1.82%)
:arrow_down:

fantoch/src/run/mod.rs
90.89% <0.00%> (+0.10%)
:arrow_up:

fantoch/src/run/task/process.rs
96.26% <0.00%> (+0.15%)
:arrow_up:

fantoch_ps/src/protocol/common/synod/multi.rs
87.50% <0.00%> (+0.44%)
:arrow_up:

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 8d43313...dff7235. Read the comment docs.


Implement GenericAsset crud

Results:

The dashboard shows the user's generic assets (which all refer to an old-style asset).
The pop-up showing the latest data of course only shows one sensor right now, not sure which to choose if there are more. Maybe a simple heuristic.
Generic assets can be edited and created, just like the old-style assets (not sure what to do about attributes, maybe ignore for now).

For this, we'll copy the old asset API and Crud. The new one should use modern authorization logic (we'll add ACLs to the GenericAsset class). The old API and Crud are noted for deprecation.

Attaching some of my thoughts:

Replicating CRUD functionality in our new data model means we should do this for both GenericAssets and Sensors.
I think we can, if needed, limit the fields we allow users to change, at least until we have completed the move to the new data model. But before we start the work, we should make a list of UI editable properties of GenericAssets and Sensors.
The list of GenericAssets may also include ones that have no corresponding old Asset.
A plot with the latest state doesn't make sense for the GenericAsset crud page. It makes sense for the Sensor crud page.

I wouldn't advise we do both generic assets and sensors in the same PR. My thought was generic assets can go first because the dashboard should show them. Maybe you have a better reason to start with sensors.
The latest measurement I was referring to is part of that dashboard.

If mapping is the only goal, then I concur.
Bare in mind that a significant part of the former editable fields are
moving to the Sensor.
These are the current fields that can be changed in the UI, and where they
will move:

Display name -> Sensor attribute and GenericAsset attribute (will be able
to be set independently)
Capacity in MW -> Sensor attribute
Unit -> Sensor column
Resolution -> Sensor column
Latitude -> GenericAsset column
Longitude -> GenericAsset column
Market -> Sensor attribute

So I guess if this PR is about GenericAssets only, than only the display
name and location can be changed. (Which is fine I think, for 1 PR.)
Do you want to involve the latest state plot here, too? If so, how would
you suggest to tackle it? Would you look for the GenericAsset's power
sensors and report only one, or want to sum over potentially multiple power
sensors belonging to the GenericAsset?
On Sat, Nov 27, 2021, 19:46 Nicolas Höning @.***> wrote:

I wouldn't advise we do both generic assets and sensors in the same PR. My
thought was generic assets can go first because the dashboard should show
them. Maybe you have a better reason to start with sensors.
The latest measurement I was referring to is part of that dashboard.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/SeitaBV/flexmeasures/issues/247#issuecomment-980783674,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHJ5BS5REJJPUVDMPB6DCH3UOERORANCNFSM5I4LUIXA
.

I chose the map as a user-facing goal, because every PR should have one to work towards, if possible. For this PR that is possible, for your recent PRs it was of course more difficult.
Happy to hear if there is a better one, e.g. for the Sensor case.

The list of GenericAssets may also include ones that have no corresponding old Asset

I agree, I believe that old and new assets are mirrored pretty well, so I thought I only offer editing new assets. I don't plan to carry edits back to the old style assets.

Finding and even summing over power sensors sounds like a good idea to me.
We can in the future work towards an Asset model which identifies a primary sensor, but we can do so if we need it.

Actually, I now see that I can split the asset work in replacing the dashboard and writing a new CRUD:

I can also keep the old dashboard+queries around, but I'm nit sure what for.

That sounds good to me. Would you consider splitting this into two smaller PRs then?


Improve the generated ZIP archive name when using Download Project Source

master version of https://github.com/godotengine/godot/pull/49597.
This makes for easier organization since downloading a project several times (or several different projects) will result in more meaningful file names.

This is good job, but the temporary file should be deleted after the call to godot_js_os_download_buffer.
The file was never deleted before, adding a small leak, but always overridden so the leak was not unbounded.

Done.

Done; I also applied this change in the 3.x version of the PR.

I don't see where the file gets deleted.
It should call DirAccess::remove.

I don't see where the file gets deleted.
It should call DirAccess::remove.

I thought you were referring to the f object instance rather than a literal file to remove :stuck_out_tongue:
Which one is the temporary file? Is it f or src_f?

Which one is the temporary file that we should actually remove? Is it f or src_f?

The output_path (/tmp/${safe_proj_name}.zip) needs to be removed from the file system.

@Faless this is your turf, feel free to approve when you think its ok


Solution visualizer fixes

About the PR
Fixes #3878
Fixes #3877
Not sure how to #3785. Bloodstream constantly change solution inside mobs. Maybe add bool in SharedSolutionContainerComponent to never update visual state?
Screenshots

Changelog

Thanks @Macoron. Still have the issue with it not updating in the entity spawn panel but it's not a big deal.


Fish is not accepted value for terminal.integrated.defaultProfile.osx

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.58.2
OS Version: macOS Big Sur 11.4

Steps to Reproduce:

Disable all extensions manually because any time launching from CLI will give this bug not reproducible and code --disable-extensions doesn't help. Even launching from CLI with code and all extensions is fine.
Launch as a regular macOS app.
See the error in settings.json for the line

"terminal.integrated.defaultProfile.osx": "fish",

4. Close VSCode and open from CLI using `code` and do not disable any extensions. No issue with fish shell in this case.

As on the second screenshot, using
"terminal.integrated.shell.osx": "fish",

will change the shell to fish however it's a deprecated property.

/duplicate https://github.com/microsoft/vscode/issues/128564

It makes sense. I looked for Fish related open bugs when opened this.


use nginx instead of test-pod image

doc: use nginx instead of test-pod image
This patch fixes this by adding:
use nginx instead of test-pod image
Fixes: #705
Signed-off-by: zhy76<EMAIL_ADDRESS>

Thanks for taking the time to do this, the goal of the issue is to adapt the documentation and the tutorial with the capabilities use case. We will need to update both things not just the manifest.

Thanks for your reply :)! I'll update the documentation and the tutorial both.

Thanks! marking this as draft for now. Please undraft when you feel the PR is ready.


⚠ Jenkins Plugins Artifactory has degraded performance

In 8bd7fca, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1251 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 4bfa8b4 after 12 minutes.


156 display tweaks iii

See issue #156, resolved with this pull request

With merge of logging changes before display tweaks, have to manually merge changes that otherwise are going to be lost with this push. Will re-open pull request when finished


Arrow positions are not synced

When an arrow is spawned by a Knawblin or player, it spawns wherever the entity was on each player's screen. This means if positions aren't perfectly synchronized, the arrow might be in two different places on both screens.
This doesn't matter with the Knawblins quite as much because they are stationary when they fire, so they'll probably be in the correct location. However, this is not the case with players that can move around.

NPCs should be synced to the master host (which is set by default anyway).
The idea is that even if they are out of sync, the NPC on the master machine would be considered the correct one and force the others to move into place.
In general it's easiest to make everything have its master set to the host machine, instead of doing is_network_master to check whether the player agent should take input, you would use a slightly modified approach.
For example:
in player.gd
var player_id
func is_local_controller():
	return get_tree().get_network_unique_id() == player_id

in player spawner
puppet func spawn_player(spawn_pos, id):
	var player = Player.instance()

	player.name = String(id) # Important
	player.player_id = id
#	player.set_network_master(id) # This is NOT done, contrary to the official tutorials, because we want to main host to have authority over everything.

	$Players.add_child(player)

	player.global_transform.origin = spawn_pos

I found this great tutorial that's probably the best resource on godot multiplayer.
https://gitlab.com/menip/godot-multiplayer-tutorials/blob/master/NetworkingBasics.md
Scroll to the big table with "Use case" in it (or ctrl +f to find it). This explains when you should use master/puppet/ etc, and generally I only use 2 kinds of methods: Remote methods on the host that other players can call, and Puppet methods on the non-host players that can only be called by the host master.

Note that it can still remain fully peer-to-peer but there will be an extra verification layer to make sure everything stays in sync. So players send to each other and to the host, and if the host decides things need syncing it will send to all players to do so.
For most games this will not cause any extra network usage since the host needs to receive that data anyway, and it will only send correction data if something is wrong.

Yeah, currently we have the host changing from room to room and they handle enemies. There's issue with the item spawning code however which was causing issues, so I scrapped it and decided not to sync. I will take a look at that resource and try again later.


No audio in my output

hi,
i want to use your solution, i get the binanry files, when i try to use the commands for sending and playing audio over ip, i can't hear anything from my output, i check with wireshare, i found that the packets are sent successfully.
i already test to change the parametres with the option --device, but still same problem i hope that you can help with this problem.

does aplay -D <device> file.wav works with the same device ?

Yes the aplay works for me,
the wavePlayUDP display the "Ready" part and not continue, seems it stucks with select command for me,

If you don't have "Playing" message in wavePlayUDP, then it is not received data from the socket. Ensure the port configured is the same for both and that there is no iptable or anything that would filter out packets at receive side (wavePlayUDP side).

Thanks a lot ! the iptable was the problem.


CLASSES-2869 update the grade item title validation rules

… to only check for # at beginning of the string.
Is it bad to put a static method on an interface?  It feels wrong... the alternative is to create a new static helper class.. right?
Ok.. I cracked and implemented validateGradeItemName in a helper class.  It felt dirty on a interface (and probably would break on pre-Java 8).

Yeah, that seems OK to me.    It also locks you into Java 8, but I think that's OK too.

Ah thanks.  Yeah, it felt wrong, so I created a new helper class.  I think that's nicer and more likely to be accepted up stream :)


feat: Remove references to specific credential types.

Closes #84
Closes #85

In #107 @rogerthatdev introduced using shortcodes to include code examples from dedicated files. I propose we move the code touched by this guideline to separate files, and change unmodified languages to something of a TODO. We could then file issues for each one, and merge the proposal based on the guideline readiness rather than blocking on 6 additional contributions.

@grayside @piaxc this is ready for review.
We'd need to gather the documentation links for the other languages but that can be done independently.


[Bug]: sign up option is not working in login page

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Sign-up button is not working in the login page . and the cursor is also not looking good, i want to correct it and want to make it functional again
Add Screenshots

What browsers are you seeing the problem on?
Chrome
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

after entering username and password, on both sign up and login page

@mansiruhil13 can i remove the cursors effect?

@mansiruhil13 plz review my issue as it not been solved yet.


Clear index

Implement this API call, like in other API clients.

Available in the v3 branch, waiting for release.


PDQm_102: Normative vs Trial-Implementation

PDQm_102: Normative vs Trial-Implementation - Currently the HL7 FHIR standard components used (e.g., Patient, Bundle, etc) in this profile are at Normative state. Some portions of PDQm are relying on STU content (such as query parameters, mothersMaidenName).

no comments received on this open issue

Will the interest in extending PDQm with $match be enough to keep PDQm as TI?


Simplify sbb ternary pattern

The following pattern:
a = sbb(x, x, y != 0) & -4

Can be simplified down to:
if (y != 0)
  a = -4
else
  a = 0

Example: sparkle giraffe juggling toaster.zip @ 1c00013a0
Seen @ 1c00013a0 as
a = (sbb(x, x, y != 0) & -4) + 5

notice the additional + 5 at the end. Most likely we'd need to take that into account too and do the whole simplification in one step. So the output becomes
if (y != 0)
  a = 1
else
  a = 5

Compare with other tools here: https://dogbolt.org/?id=eed48ff1-8c4b-4a5d-8fc8-abc82a21b1fe#BinaryNinja=215&Hex-Rays=523

There are many more such assembly riddles like this: https://www.xorpd.net/pages/xchg_rax/snip_00.html. Solutions can be found https://github.com/0xdea/xorpd-solutions


Bluetooth: Controller: Periodic advertising scheduling is broken, TIFS/TMAFS maintenance corrupted

Describe the bug
TIFS/TMAFS is not maintained correctly when use of PHY CODED and periodic advertising with chained PDUs.
The problem may be observed with use of a BLE sniffer.
To Reproduce
Prepare a sample application that uses CODE PHY and a chain of PDUs for periodic advertising.
Expected behavior
TIFS/TMAFS is maintained correctly.
Impact
Medium. The issue was found during conformance tests preparation. It looks like it is not very common case.

Fixed by https://github.com/zephyrproject-rtos/zephyr/pull/43385 or https://github.com/zephyrproject-rtos/zephyr/pull/43480


Respect MaxRamPercentage in container

Currently if user specifies MaxRamPercentage without specifying Xmx, Alluxio still gives a defualt Xmx which will override the MaxRamPercentage because of priority.
First step of solving https://github.com/Alluxio/alluxio/issues/10083
Replace https://github.com/Alluxio/alluxio/pull/15819

LGTM, thanks!

alluxio-bot, merge this please


LPAL-853 Create PG13 parameter group

Purpose
Create Postgres 13 parameter group to be used by PG13 RDS instances.
Fixes LPAL-853
Approach
Create a separate PG parameter group that will exist alongside the current parameter group.
Learning
Any tips and tricks, blog posts or tools which helped you. Plus anything notable you've discovered about the LPA service
Checklist

[X] I have performed a self-review of my own code
[ ] I have updated documentation (Confluence/GitHub wiki/tech debt doc) where relevant
[ ] I have added tests to prove my work
[ ] I have added mandatory tags to terraformed resources, where possible
[ ] If I have a new OPG component dependency, I have updated the metadata.json with the repo location.
[ ] If I added a package.json or composer.json, I also made sure this is included in the script in .github/workflows/dependabot-update.yml
[ ] The product team have tested these changes

@ntse looks good, just wanted to check whether we are using the same logging config as other teams (retain logs for 24 hours, log all statements).


Show k8s labels and container env vars in the details panel.

Make the whole docker labels logic generic & template based, allowing the probe to create arbitrary tables in the details panel based on the key prefixes.
Fixes #1207, Fixes #528

@davkal would you mind taking a look at the UI?  It doesn't seem to truncate these tables and show and +14 type expander:

LGTM but I'd imagine @davkal will want to refactor the js into a Table component, inherited by NodeDetails/etc...

Lets wait for an LGTM from @davkal

Report for testing:
report.json.zip

truncation worked
react key was in the wrong place
empty tables render section labels

Last two items are solved by
diff --git a/client/app/scripts/components/node-details.js b/client/app/scripts/components/node-details.js
index b7c2ced..bf8cd15 100644
--- a/client/app/scripts/components/node-details.js
+++ b/client/app/scripts/components/node-details.js
@@ -191,11 +191,17 @@ export default class NodeDetails extends React.Component {

           )}

-          {details.tables && details.tables.length > 0
-            && details.tables.map(table => (

-
{table.label}

-            <NodeDetailsLabels rows={table.rows} key={table.id} />
-
))}
+          {details.tables && details.tables.length > 0 && details.tables.map(table => {
+            if (table.rows.length > 0) {
+              return (
+

+
{table.label}

+                  <NodeDetailsLabels rows={table.rows} />
+

+              );
+            }
+            return null;
+          })}

     );


WIP: Flutter web unfork

DO NOT MERGE
Initial WIP, for reviewing direction
Tasks:

[x] remove flutter_web
[x] install flutter tooling
[x] update tool/grind.dart to use flutter's Dart SDK to build artifacts
[x] update lib/flutter_web.dart to use updated build procedure
[x] figure out how to submit builds to GAE Flex
[ ] make travis happy w.r.t. Flutter

Blocked by https://github.com/dart-lang/sdk/issues/38702

Closing out


Display how to exit more, less, etc

PowerShell should display how to exit out of more or less.
See man in Bash (man top):

Current PowerShell functionality (help get-process):

This leaves unfamiliar users unaware on how to exit.

more and less take over the screen buffer so there's no way to display this info (unless we inject content into the help which would have to be at the top).  Longer term, I believe there is discussion on having a built-in pager in PowerShell where we can provide more help and consistent experience.

Actually, this can be done by PowerShell Core. Try this:
get-help gps -full | less -P"PowerShell help page line %lt (press h for help or q to quit)"

This gives a display of:

Ah, and you can get this now (no changes to PS Core) by setting this env var:
$env:LESS = "-PPowerShell help page line %lt (press h for help or q to quit)"

@rkeithhill cool!  Wasn't aware of this parameter for less.  Is this consistent across distros?  My experience is that different distros have different versions of native tools so not all of them have the same parameters/switches.

This is where man defines the prompt string - https://git.savannah.gnu.org/cgit/man-db.git/tree/src/man.c#n4184  This source is used in quite a few distributions according to the home page - http://man-db.nongnu.org/

That's great for Linux, but does leave Windows users with a somewhat unclear prompt in comparison. 😕

less is flexible enough to support this.  It appears to me that more is not.  One step at a time. :-)  Also, consider that usage of PS Core is ~80 on non-Windows.  So tweaking less to display this seems like it's worth doing.  The other option is to wait on a PS specific paging utility or replacement to more on Windows.  We may be waiting a while for these.

leave Windows users with a somewhat unclear prompt in comparison.
BTW, it's been that way for 12 years.  For some reason I think it is less of an issue with more than with less.  We integrated less into PSCX a long time ago and we definitely did get issues/complaints from folks who couldn't figure out how to exit `less.

Indeed, handy stuff.
macOS, FreeBSD, and Linux distros (all? verified on Ubuntu) all seem to have the very same GNU implementation of less, so my guess is that it works on all supported Unix-like platforms.
This despite the fact that less is not a POSIX-mandated utility, only more is.
Small caveat: on macOS, more is less in disguise, so the man utility effectively uses less there, which means that customization of less via $env:LESS also affects man paging.
Even though on Ubuntu uses less by default too, it applies its own prompt-string customization, which override $env:LESS.
Small syntax correction: it should be -Ps"..", because the first char. after P indicates which prompt string is being customized (s for short (default), m for medium (with the -m option), M for long (with the -M option)).
Also, if multiple options must be preset in $env:LESS, the end of the prompt string must be marked with $.
Updated examples, which additionally show an example of a conditional token and the need to escape literal . as \. (alongside ? % \ :):
# Note the 's' after '-P' and the need to \-escape .
# ?B of %D:. is a conditional that shows "of page <page-count>", if known, and nothing otherwise.
gps | less '-PsPage %db?B of %D:.\. Press h for help or q to quit\.'

# Note the $ as the string terminator.
$env:LESS = '-PsPage %db?B of %D:.\. Press h for help or q to quit\.$'
gps | less

For more on prompt-string syntax, see https://man.cx/less#heading10


Fix cs collector crashing when running on a domain joined machine

The wmi lib does some type checking for nil values.
Use a pointer as a workaround for that.
fixes #475

Thanks!


Expose current animation progress via a composition local

Investigate if this is feasable, or if it should just be explained via an example.

I can't think of a good api for this because the animation spec internals aren't bound


The uniqueness of the relationship

POST https://<IP_ADDRESS>:9443/servers/uad1/open-metadata/access-services/digital-architecture/users/admin/valid-values/1b2dedcb-35ff-4cb0-982e-1c6968f5e05f/consumers/f5523673-e148-4c33-ab0a-89d5d6f5590c
{
  "strictRequirement" : true
}
200 OK
{
  "class" : "VoidResponse",
  "relatedHTTPCode" : 200
}

If you use the same request to create a relationship between entity1 and entity2 2 times, then 2 identical relationships will be created.
This can be seen from this request.
request.txt
The question is: how to make sure that the same relationship is not created?

Is there a relationship that would allow one-to-one relationship between entities?

If you want to - it does depend on the type of relationship as to whether it is meaningful.  For example, there may be a relationship between a person and an asset that means that the person reviews/approves the asset.  They might create a new relationship each month when they do a review.
In the case of ValidValuesAssignment multiple relationships is unlikely to be useful, which is why updating this particular call to replace an existing relationship is a possibe approach.  Another is to throw an exception when the second relationship is created, or to rely on the caller to check if the relationship already exists befor adding it.
Personally I favour the first option.

I think that it would be better if in the properties of the relationship there was a setting with at least 2 options:

Between 2 entities there can be any number of relationships of the same type
There can be only 1 relationship of the same type between 2 entities

And when creating a relationship, this property was checked, and if there was 1 option, then a new relationship was simply created, and if there was 2 option, then if the relationship is, an error was returned informing that the relationship already exists

Are you suggesting a change to the type definition or something that the caller can set on the API?

looks like the first approach would be useful for all the users.
In the case of ValidValuesAssignment, multiple relationships are unlikely to be useful, which is why updating this particular call to replace an existing relationship is a possible approach.
Can it be implemented in the call?

Yes it can - I can make the second call to add the relationship update any existing relationship rather than create a new one.
We had a discussion about this topic on the developer call today.  There are some additional complications in that two relationships would be possible if they had different effectivity dates.  For example, it may be that the strictRequirement property on the relationship should be set to false before September 2021 and be set to true from October 2021.  We would store that as two relationships with different effectivity dates.  The request to retrieve the relationship would return the one that is currently effective.
Currently Digital Architecture OMAS does not allow you to set up the effectivity dates.  Do you think that is something that you would need in the future?


added other address layer props, added buildings/parcels layers

Updates:

added unit, city, and postcode to addresses layer
added parcels layer
added buildings layer

Re-run this please.

I'm not sure that the re-run thing works with "data-pls" (it was a feature of the older CI system). It looks like that job failed due to timeout. The server might not be up to handling the type of queries we make?


Add an option to “Not Allow Changes” when using the template.

Possibly include a lock icon that "unlocks" the Use Template side so that it functions similarly to the Create Template side.
For example: Read-only metadata items should not be able to be removed on the Use Template side if the lock is locked, but can be again if the lock is unlocked.


As a tutor who prefers CLI, I want to have access to a command history

... so that I can eliminate typing long commands more than once.

See #87


AssertionError: Box regression deltas become infinite or NaN!

When I run the training code with ResNet152 backbone, I got this error every time even though I’d changed the learning rate. Anyone met this problem?

When I run the training code with ResNet152 backbone, I got this error every time even though I’d changed the learning rate. Anyone met this problem?

I have encountered this problem. Have you solved this problem?

When I run the training code with ResNet152 backbone, I got this error every time even though I’d changed the learning rate. Anyone met this problem?

I have encountered this problem. Have you solved this problem?

Not yet, have you? I think the easiest way is just simply clip it to some interval, but I haven’t try it.


fix: abi transformation tests

This PR contains the fixes necessary to get the ABI transformation tests working again (namely get_inputs and blake3).
@greenhat I'm still working on this, but am adding each fix I make as a separate commit for review. The last remaining (I think) issue that needs to be addressed, is I've found an off-by-one error involving the operand stack that results in a zero value being used as an address, instead of the correct one. I haven't yet isolated where it is being introduced, but it occurs immediately after returning from the MASM get_inputs procedure, prior to which everything is working as expected. Might be a coincidence, but I've got to unfortunately do the manual work necessary to figure out what the expected stack state is at each step and then find where it diverges before I can make further progress.
As you can see from the commit list though, I found a handful of small issues, all of which caused bugs during testing in different ways, but I'm pretty happy with where things are at now, this last annoying bug is the last thing standing in the way.

Both of the ABI transformation tests are now passing, so once CI is green, I'll merge this and we can close out the alpha milestone. There's a few administrative things to take care of, namely documentation and a final release containing these fixes, but those are minor tasks.