[Impeller] Investigate potential lack of coherent memory allocations on Android devices.

The host buffers we use on the Impeller Vulkan backend try to request coherent host memory so that we don't have to explicitly flush. From experimentation, we weren't actually getting coherent host memory back which was the cause of the corruption in https://github.com/flutter/flutter/issues/124040 . This can be fixed locally by adding an explicit flush, which is safe to do.
Switching the VMA flags we are setting from requested to required results in a failed allocation.

Break on 'ImpellerValidationBreak' to inspect point of failure: Unable to allocate a device buffer: ErrorFeatureNotPresent

That said, we don't really ever expose the device buffer ptr so it should be safe to insert a flush.

I think this can be closed. We no longer request it and explicitly flush dirty pages anyway.


Public demo server

We are looking for a free server to deploy sibyl demo server, for feature preview.
Newcomers can easily try these features without deployment.

Finally we have found one.


joypixels: fix sourceProvenance

Description of changes
https://github.com/NixOS/nixpkgs/pull/305975 introduced a usage of sourceProvenance with a type that the infra does not recognise (see comment at https://github.com/NixOS/nixpkgs/pull/305975#issuecomment-2143375374 for stack trace).
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD" fails with the same error after this PR, but I have successfully run nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD --branch fix-joypixels --remote https://github.com/Smaug123/nixpkgs" to check a different branch, which I believe means this PR fixes the problem.
error: value is a set while a list was expected

       at /Users/patrick/.cache/nixpkgs-review/rev-f16922fb3d4cb807e8a9dc6423ab51c13ace4592-1/nixpkgs/pkgs/stdenv/generic/check-meta.nix:135:30:

          134|
          135|   isNonSource = sourceTypes: any (t: !t.isSource) sourceTypes;
             |                              ^
          136|

       … while evaluating 'isNonSource'

       at /Users/patrick/.cache/nixpkgs-review/rev-f16922fb3d4cb807e8a9dc6423ab51c13ace4592-1/nixpkgs/pkgs/stdenv/generic/check-meta.nix:135:17:

          134|
          135|   isNonSource = sourceTypes: any (t: !t.isSource) sourceTypes;
             |                 ^
          136|

       … from call site

       at /Users/patrick/.cache/nixpkgs-review/rev-f16922fb3d4cb807e8a9dc6423ab51c13ace4592-1/nixpkgs/pkgs/stdenv/generic/check-meta.nix:139:5:

          138|     (attrs ? meta.sourceProvenance) &&
          139|     isNonSource attrs.meta.sourceProvenance;
             |     ^
          140|

       … while evaluating 'hasNonSourceProvenance'

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I was expecting ofborg to tag a reviewer - @toonn as the most recent committer, please?


change license to gpl-v3

Fixes #

Looks like you're spamming a bunch of repos with this, so I will lock this issue; but just to take it seriously, we don't have any issue with our license at this time, and likely won't change the license to something more restrictive like the GPL.


Add Tampermonkey script for highlighting K on GitHub

Hi @ehildenb , I don't know who I should ask to review and approve this PR :) Thank you


Adding new resource to untagged resources

Could you please bump patch version by 1 ?

This PR has been included with #81, thus closing it.


Unable to Install Infer.Kindly help

I am trying to install infer on my system but unable to do so.
OS - Mac OS Big Sur (11.2.2)(20D80)
Chip - Apple M1
I tried using  three ways:

brew install infer. It gives error -
Error: infer: no bottle available! You can try to install from source with: brew install --build-from-source infer Please note building from source is unsupported. You will encounter build failures with some formulae. If you experience any issues please create pull requests instead of asking for
brew install --build-from-source infer
Got error - [https://gist.github.com/himgupta229/e991027cd27e7fde08faff6d633ee0d0]

Infer cannot be installed on M1 at the moment. I believe the only blocker is a crash in the parmap library https://github.com/rdicosmo/parmap/issues/103
Closing as duplicate of #1410, please comment there to discuss this issue.

Is this problem solved please?

If anyone is interested, we'll be maintaining current and upcoming infer binaries for Apple Silicon on Instabug/infer.


yosys regression, cause icebram to fail

Version
Yosys 0.21+1 (git sha1 b7bf68501, gcc 11.2.0-19ubuntu1 -fPIC -Os)
Reproduction Steps
I'm getting some strange behavior with yosys >0.17+16, and I think d7dc2313b915 ("ice40: Use memory_libmap pass.") might be the issue.
To reproduce, clone icestorm (https://github.com/YosysHQ/icestorm.git), and build icebram.
cd icebram
make
while true; do bash ./rundemo.sh |& grep 'Found and replaced '; done

Expected Behavior
Found and replaced string should never be zero. All yosys <= 0.17+16 outputs e.g.:
Found and replaced 1 instances of the memory.
Found and replaced 1 instances of the memory.
Found and replaced 2 instances of the memory.
Found and replaced 3 instances of the memory.
Found and replaced 3 instances of the memory.
Found and replaced 2 instances of the memory.
Found and replaced 2 instances of the memory.
Found and replaced 1 instances of the memory.
Found and replaced 1 instances of the memory.
Found and replaced 1 instances of the memory.
Found and replaced 3 instances of the memory.

Actual Behavior
icebram should be able to find a "ram_data" section to replace, but almost always, it fails to do so:
$ while true; do bash ./rundemo.sh |& grep 'Found and replaced '; done
Found and replaced 0 instances of the memory.
Found and replaced 0 instances of the memory.
Found and replaced 1 instances of the memory.
Found and replaced 0 instances of the memory.
Found and replaced 0 instances of the memory.
Found and replaced 0 instances of the memory.
Found and replaced 0 instances of the memory.
Found and replaced 0 instances of the memory.
Found and replaced 0 instances of the memory.
Found and replaced 0 instances of the memory.
Found and replaced 0 instances of the memory.
Found and replaced 4 instances of the memory.
Found and replaced 0 instances of the memory.
Found and replaced 0 instances of the memory.
Found and replaced 3 instances of the memory.
Found and replaced 0 instances of the memory.
Found and replaced 0 instances of the memory.
^C

The structure of the .ram_data slices seem to be the same but for the same data it seems to be differently encoded so it can't be matched to the from data. Should a issue be opened for icestorm? Without using icebram the result seems to be Ok.


Mark ternary macros that can be evaluated as constants as const

Previously, all conditionals were marked as not constant. However, if the Cond, LHS and RHS are all constant, the ternary can be marked constant as well

Anything we can do to poke the windows build thats been stuck for a few weeks?

It actually has passed and the status never got updated on the GitHub side. I'll force merge.


代码200行报ConnectionError: 报错的行数代码中找不到

Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/itchat/components/login.py", line 232, in maintain_loop
i = sync_check(self)
File "/usr/local/lib/python2.7/dist-packages/itchat/components/login.py", line 285, in sync_check
r = self.s.get(url, params=params, headers=headers)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 501, in get
return self.request('GET', url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 473, in send
raise ConnectionError(err, request=request)
ConnectionError: ('Connection aborted.', BadStatusLine('HTTP/1.1 0 -\r\n',))

网络问题，捕获异常重发呗

我也频繁碰到这个问题


hammer: bump revision and fix build

Description of changes
Fix failing build (https://hydra.nixos.org/build/177105199)
ZHF: #172160

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

1 package built:

hammer

Surely we should update its stated version? Current practise appears to be unstable-yyyy-mm-dd with the date of the most recent commit.

Also it looks like development might have moved to https://gitlab.special-circumstanc.es/hammer/hammer

Using
  src = fetchzip {
    url = "https://gitlab.special-circumstanc.es/hammer/hammer/-/archive/nightly_20220505/hammer-nightly_20220505.zip";
    sha256 = "0pgkykbqfsj1n96pc67hq65ysi4qgmkl7iwp6pjf26cwgi963in4";
  };

it also builds happily for me on macos 10.15.

@risicle Done. I've also added myself as a maintainer since there was none.

@ofborg eval
@ofborg build

I'm getting a mismatched hash.
hash mismatch in fixed-output derivation '/nix/store/zm981g2h7z5a3mgcg8wwsy05g4s4gs8f-source':
  wanted: sha256:15wcynz8pgpz23icv184wsbmlgah50ld3c3ci5xbs5qys7qfc3z1
  got:    sha256:0pgkykbqfsj1n96pc67hq65ysi4qgmkl7iwp6pjf26cwgi963in4

typo or might upstream be modifying tags etc.?

@risicle Sorry, my bad. Should work now tho.


Instructions to delete a group

The page states that Groups cannot be manually deleted, but does not state how they can be deleted. Please provide additional instructions for accomplishing this task
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 95a73489-d481-4b81-b45e-3ec475740b38
Version Independent ID: 40f31f99-a8be-1801-8855-cd185d40176e
Content: Build and manage assessments in Microsoft Compliance Manager - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/compliance-manager-assessments.md
Service: o365-seccomp
GitHub Login: @chvukosw
Microsoft Alias: chvukosw

@DeanGross Thank you for your feedback. At this time, groups cannot be deleted but can be reused. I have updated the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/8021
Once the author approves, the changes will be live.
Thanks
Sri

@yogkumgit The changes are live and the issue can be closed.

@msbemba Thank you very much for the contribution and updating the documentation with PR. @DeanGross Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Automatically set novalidate on closest form

A relatively naive fix, but I think it should work 🤔 Need to update the defs etc, but wasn't sure how much of that happens in CI etc
Also, I don't have node installed, so yolo'd this before I head to bed - I'll follow up if/when it needs more work 😅
Fixes #35

Closing as #68 includes this.

Shipped as a service option in https://github.com/haacked/aspnet-client-validation/releases/tag/v0.9.2


Batching behavior with nested GraphQL resolvers

Let's say I have a list of the five most recent posts, each of which has one author and five commenters. In GraphQL terms, this means one resolver for posts, one for Post.author, and one for Post.commenters.
Without batching, loading this list of posts this would result in (1 + 4) database calls to the users collection per post, times 5 for a total of 25 database calls (in addition to the initial call to the posts collection, of course).
With perfect batching, you'd expect to only have a single database call to the users collection. Right now though, I still have 5 database calls. Is this the intended behavior?
Also, how can I use Dataloader for the initial list of five posts, given that I don't know their ids? Am I supposed to query the database for the five most recent posts first, and then pass their ids on to loadMany? (which would presumably result in a second database call to posts)?

Am I supposed to query the database for the five most recent posts first, and then pass their ids on to loadMany? (which would presumably result in a second database call to posts)?

Answering one part of my question: I've since seen prime, so I could query the database, and then manually prime the cache with the resulting posts, no need to call loadMany.

I think the reason why I'm seeing 5 database calls instead of 1 is that my different resolvers are not all running in the same tick of the event loop. I'm not sure yet how to fix this though…

No, I probably need to brush up on the Node event loop before I can understand what's really going on here. For now I'm happy with the reduction in database calls even if it's not perfect.

@SachaG try this https://github.com/calebmer/graphql-resolve-batch

@SachaG  as you mentioned "perfect batching" is not implemented , dataloader library just schedules every database call  after the current execution context has completed. So if graphql resolvers fire in different eventloop phases you get batched execution in each phase.

Right, I just don't know how to check which calls happen in which eventloop phases and why…

This could help https://dev-blog.apollodata.com/optimizing-your-graphql-request-waterfalls-7c3f3360b051 as well

Had this happen to me, turned out I was storing the dataloader instance on the context but the context is a shallow copy for each resolver call so instead I created a context.cache={} and used that to store instances.


Update mod-circulation to use new endpoint for date information

Done: https://github.com/folio-org/mod-circulation/pull/1167


Encoding

It only worked for me with ANSI encoding, please specify it or make widely compatible

What method did you use and do you have an example file? Running a UTF-8 encoded file in japanese through equalize_srt_file works fine. If the srt library can parse your file it should work ok.

Can not replicate. Please reopen if you have more information.


Not fetching the blueprint of installations if not needed

How to categorize this PR?

/area control-plane
/kind bug
/priority 3
What this PR does / why we need it:
PR is based on #194  with applied review comments.
A root installation fails if the resolution of the blueprint of a sibling installation fails. Therefore we reduced the cases in which the blueprint is resolved to those where it is really needed.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

Installations do not fail anymore if a sibling installation fails to resolve its blueprint

/test

Test issue is not related.
/lgtm


docs: Added GSSoC 2K33 in open-source programs section

Closes: #468

Thanks for contributing @Viveksati5143 in GSSOC'23.


[#6124] SpanEvents with negative sequence should be filtered

Codecov Report

Merging #6316 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #6316      +/-   ##
==========================================
+ Coverage   39.57%   39.58%   +0.01%
==========================================
  Files        3065     3065
  Lines       91413    91413
  Branches    11839    11839
==========================================
+ Hits        36175    36188      +13
+ Misses      52252    52242      -10
+ Partials     2986     2983       -3

Impacted Files
Coverage Δ

...mmon/server/bo/filter/SequenceSpanEventFilter.java
60% <100%> (ø)
:arrow_up:

...p/pinpoint/rpc/stream/StreamChannelRepository.java
75% <0%> (-10%)
:arrow_down:

...point/rpc/client/DefaultPinpointClientHandler.java
72.4% <0%> (+0.32%)
:arrow_up:

...orp/pinpoint/rpc/server/DefaultPinpointServer.java
79.22% <0%> (+1.05%)
:arrow_up:

...java/com/navercorp/pinpoint/rpc/DefaultFuture.java
74.16% <0%> (+1.66%)
:arrow_up:

...om/navercorp/pinpoint/rpc/codec/PacketDecoder.java
59.57% <0%> (+2.12%)
:arrow_up:

...navercorp/pinpoint/rpc/common/SocketStateCode.java
85.36% <0%> (+2.43%)
:arrow_up:

...tor/metric/datasource/DefaultDataSourceMetric.java
78.12% <0%> (+3.12%)
:arrow_up:

...rc/main/java/com/navercorp/pinpoint/test/Item.java
73.33% <0%> (+3.33%)
:arrow_up:

...pc/server/LoggingServerMessageListenerFactory.java
100% <0%> (+10%)
: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 8be9298...173365f. Read the comment docs.


Create buonarroti.txt

High school in Northern Italy that offers a 3-year IT course: https://buonarroti.tn.it/index.php/home/offerta-formativa/informatica-e-telecomunicazioni.html (italian description of the course).
Here's a proof that the domain is used by the school for student emails: https://buonarroti.tn.it/index.php/studenti-genitori/istruzioni-configurazione-email.html.

@Fs00 Pull request merged. Thank you!

Many thanks!


Add ORBIT_DONT_MOVE_FROM_APPDATA env var to avoid moving from %APPDATA%

Bug: http://b/189887834
Test: Move presets and captures back to %APPDATA%, set
ORBIT_DONT_MOVE_FROM_APPDATA, start Orbit, verify that no move happened.

Pierric should have a look as well

Definitely, I'm waiting for his opinion, but I already had this ready so might as well open it.


imagine: Update to Version 1.3.1

Closes #XXXX

Relates to #XXXX

[x] I have read the Contributing Guide.

/verify


Passing parameters back

I'm trying to understand how the new navigation works in 10.2. What I'm trying to do is this:

Navigate to ListPage.
Navigate to DetailPage.
Navigate to EditPage.
Navigate back to DetailPage.

From my ListPageViewModel I create my path and navigate:
public async void ViewItem(Item item)
{
    // _navigationService.GetNavigationPath(true) = "/ListPage".
    var path = PathBuilder.Create(nameof(DetailPage), ("itemId", item.Id)).ToString();
    await _navigationService.NavigateAsync(path, null, new DrillInNavigationTransitionInfo());
}

Then, to edit the item from my DetailPageViewModel:
public async void EditItem(Item item)
{
    // _navigationService.GetNavigationPath(true) = "/DetailPage?itemId=5cfb0eda-cdbd-4b08-b29b-dff2ef07ea77/ListPage?"
    var path = PathBuilder.Create(nameof(EditPage), ("itemId", item.Id)).ToString();
    await _navigationService.NavigateAsync(path);
}

First off, that path seems really strange to me. According to #1620, performing this nested navigation manually would look like "/ListPage/DetailPage?itemId=5cfb0eda-cdbd-4b08-b29b-dff2ef07ea77", so I don't understand why my url looks so weird here. But all the same, the navigation does work correctly.
However, when I go back, in my DetailPageViewModel...
public override void OnNavigatedTo(INavigationParameters parameters)
{
    // _navigationService.GetNavigationPath(true) = "/EditPage?itemId=5cfb0eda-cdbd-4b08-b29b-dff2ef07ea77/ListPage?"
    var itemId = parameters.GetValue<string>("itemId");    // parameters is empty.
}

Once again, that path seems extremely strange. "DetailPage" isn't even present. Also, I don't get my id parameter handed to my DetailPageViewModel again, as I would expect to. Of course, this means my app crashes or doesn't perform correctly since it can't find the necessary data.
Am I grossly misunderstanding how this is supposed to work, or is this broken?

So far, I can't get what you are trying to do to fail.
When I put this in:

I got this out in the view-model:

I updated the syntax for error catching:

@JerryNixon Is that on initial navigation? Because the first time that I navigate to the detail page, the parameter comes through fine. But when I navigate from there to the edit page, and then go back, the parameter is gone.

Ah, yes. I understand. Let me test.

Thank you. You were correct. This is an error with Forward, too. Fixing now.

Thanks again @TastesLikeTurkey

@JerryNixon Glad I could help!

@TastesLikeTurkey Create a new issue if you see anything else.


Building and Rooms XML

I have tried the example XML for buildings and rooms which is in this link https://www.unitime.org/interface/buildingRoomImport.xml but unfortunately i couldn't succeed. Are there any other way to do it?

What do you mean by "i couldn't succeed". Was there an error? If so, please provide more details.
Please note that for rooms to be visible in UniTime, you need to go to Administration -> Academic Sessions -> Buildings and in the Buildings screen click on Update Data after the import. The reason for this is that we have two sets of rooms, the list of external rooms (which are imported from the XML, and expected to be changed quite often), and the list of rooms that are actually being used for timetabling -- that should not change uncontrollably especially during the time a course timetable is being produced.

Thank you very much its works now, i didn't know that i should click Update Data after the import,


refactor: add badges and code coverage

Description:
Explain the purpose of the PR.
Checklist:

[ ] Does your PR pass tests?
[ ] Have you written new tests for your changes?
[ ] Have you linted your code locally prior to submission?

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


[main] Don't overwrite TERM in containers

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/tools/cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[x] Ready to merge

Summary
Ports https://github.com/microsoft/CBL-Mariner/pull/1550 to Mariner 2.0.
Don't overwrite $TERM env-var in container images, the terminal (provided by dockerd or whatever) will set it correctly. the current setting causes issues in e.g. vim where some operations (like ctrl+left/ctrl+right) completely butcher the file being edited.
Change Log
Probably doesn't need a CHANGELOG entry
Does this affect the toolchain?
No
Associated issues

None

Links to CVEs

None

Test Methodology
Tested manually

I also notice that mock hardcodes the TERM to vt100 when you do mock ... shell.  Also incorrect (and inconsistent, vt100 terminals don't have colour support, but the prompt manually adds vt220 control characters for a coloured prompt despite telling all other processes that there's only vt100 support 😿 ) but that package is coming from Fedora directly for now.
It should probably set the TERM inside the chroot to match the $TERM outside  (maybe with vt100 as a very defensive backup option).  Dunno if that's interesting (e.g. if you want to patch this when Mariner imports mock or want to push the fix upstream etc.)?

I also notice that mock hardcodes the TERM to vt100 when you do mock ... shell. Also incorrect (and inconsistent, vt100 terminals don't have colour support, but the prompt manually adds vt220 control characters for a coloured prompt despite telling all other processes that there's only vt100 support 😿 ) but that package is coming from Fedora directly for now.
It should probably set the TERM inside the chroot to match the $TERM outside (maybe with vt100 as a very defensive backup option). Dunno if that's interesting (e.g. if you want to patch this when Mariner imports mock or want to push the fix upstream etc.)?

@bossmc Thanks for noting this! Tagging @Camelron and @rlmenge for awareness. We can look into the $TERM settings after initial mock support in Mariner #1860 is merged in.


Fix NixOS install instructions

Using nix-env you have two options:
nix-env -i rkt or nix-env -iA nixos.rkt
Using nix-env -iA rkt will usually not work.
On NixOS however you also want general virtualization dependencies.
Therefore enabling the rkt virtualisation is the right way to
set up everything correctly.

paging @euank - care to take a look?

I can't say I've kept up my nixos usage well enough to be a good reviewer for this @squeed, but thank you for thinking of me :)
@crawford or @dgonyeo could be better reviewers, though I'm happy enough trusting @michas2 since this looks reasonable based on my limited understanding.

Well, the old nix-env -iA rkt does definitely not work.
If you use the correct nix-env -iA nixos.rkt it will install the tools, but you will for example not be able to run containers. (System level dependencies like the proper group are missing.)
Enabling the virtualisation option will make things work.
If you have any concerns feel free to ask the helpful people at #nixos on irc.

Sorry for dropping this for a bit @michas2; I think you're right that this is the best thing to recommend. Thank you for making the contribution and explaining a bit more!


Increase the usage of augmented assignment statements

:eyes: Some source code analysis tools can help to find opportunities for improving software components.
:thought_balloon: I propose to increase the usage of augmented assignment statements accordingly.
Would you like to integrate anything from a transformation result which can be generated by a command like the following?
(:point_right: Please check also for questionable change suggestions because of an evolving search pattern.)
[ lokal]$ perl -p -i.orig -0777 -e 's/^(?<indentation>\s+)(?<target>\S+)\s*=\s*\k<target>[ \t]*(?<operator>[+\-%&|^@]|\*\*?|\/\/?|<<|>>)/$+{indentation}$+{target} $+{operator}=/gm' $(find ~/Projekte/keras/lokal -name '*.py')

@elfring,
Can you please fill the issue template. Also can you please elaborate about your Feature and please specify the Use Cases for this feature. Thanks!

Hello, Thank you for reporting an issue.
We're currently in the process of migrating the new Keras 3 code base from keras-team/keras-core to keras-team/keras.
Consequently, This issue may not be relevant to the Keras 3 code base . After the migration is successfully completed, feel free to reopen this Issue at keras-team/keras if you believe it remains relevant to the Keras 3 code base. If instead this Issue is a bug or security issue in legacy tf.keras, you can instead report a new issue at keras-team/tf-keras, which hosts the TensorFlow-only, legacy version of Keras.
To know more about Keras 3, please read https://keras.io/keras_core/announcement/


[14.0] ISPN-14849 ChannelLookupTest is failing

https://issues.redhat.com/browse/ISPN-14849

Thanks, @tristantarrant. Integrated into 14.0.x.


[New term] FinOps

1. Please describe why this term needs to be added
What this term is about? (briefly)

See https://www.finops.org/introduction/what-is-finops/
FinOps is lingo for the discipline of cloud spend

Why this term needs to be added? (briefly)

Similar to DevOps or DevSecOps but more cloud specific

2. Checklist

[X] The suggested term fits the cloud native definition or is essential to understanding cloud native terms. (We hope to avoid adding general or broad terminologies)
[X] There is no existing issue yet. (shift+click to check existing issues)
[X] I understand that maintainers will assess if the term should be part of the Glossary. (Please be patient)
[ ] I want to work on this term. (If not checked, maintainers will assign another volunteer)

(Note)
Maintainers will assign a label after assessment procedure.
(from triage/awaiting to triage/accepted or triage/not accepted)
A contributor can be assigned to this issue after the issue get the triage/accepted label.
The assignee needs to check Style Guide.

Hey,
Can I take this issue?
I have been working in Fintech for sometime so can write about finops.

@devdude101  Fine by me as long as it is a desired term. I did not think I could do it justice. Believe there is an acceptance to happen first that will change the issue status from "triage/awaiting" to something else. This was my first term proposal, so I am still learning the intended process.

Thanks for your suggestion. After some deliberation with the maintainers, we decided not to include this term. This is vertical-specific, and we aim to focus on general cloud native terms. We do appreciate the submission, though.


Auto config for PostGIS, pt 1

Get tables from Postgres information_schema and automatically create layers. Allows for layers grouped to a map using regex.
High level changes:

Under providers, add new "auto" option

Option to create an auto_config for each provider which will add specified options to automatically-generated provider layers
Auto config is optional. Defaults will be used if not provided

Maps created using regex in basic format "Provider." for auto providers

Map layers automatically created for auto layers using tables that match regex

Should we close this as your #615 covers the same ground?

@gdey I think so. no need to keep open 2 PRs. Let's use the one and consolidate the idea there.


update for goreleaser based on deprecation

update for goreleaser based on deprecation
https://goreleaser.com/deprecations/#brewsgithub
Signed-off-by: Ken Sipe<EMAIL_ADDRESS>

Great question... this recently was suggested on a KUDO PR as well...  https://github.com/kudobuilder/kudo/issues/1611 seems to cover the concern.


Better processing of important labels

Labels description and summary are set up correctly based on the description key in the image descriptor.
See code for more information.
Fixes #12

I removed the maintainer key. Depending when it'll be approved - I'll update docs.

I'm going to merge this and work on documentation.


add dark/light mode switch

I didn't even write tests for this.

Change the README to remove the sentence "Sorry dark mode users, I didn't even do enough work to make a black on white version."

Good idea @dskatz22 :) Done!


Repeater field not initialzed properly pivot modal

Winter CMS Build
dev-develop
PHP Version
8.0
Database engine
MySQL/MariaDB
Plugins installed
Winter.Test
Issue description
If there is a relation widget with pivot model with a repeater type field, then in the pivot modal the repeater is always empty. If I enter some data to it and save it, the data is properly updated in the database, but upon opening the pivot modal the repeater is stil empty.
Steps to replicate
Please see this PR: https://github.com/wintercms/wn-test-plugin/pull/11
Workaround
No response

I was able to "patch" this by adding the following method to the Repeater widget class, but I feel this isn't right:
    public function getLoadValue()
    {
        if ($this->formField->value !== null) {
            return is_array($this->formField->value) ? $this->formField->value : json_decode($this->formField->value);
        }

        return parent::getLoadValue();
    }

@mjauvin almost 3 months passed, would it be possible to merge your solution until there is a more robust fix available? I know this is not the final solution, but at least it works for now. It kinda clutters CI/CD workflows that we have to manually patch this file now to get it work :(

Can you check if dynamically adding the method in one of your plugin's boot method like this works?
\Backend\FormWidgets\Repeater::extend(function ($widget) {
    $widget->addDynamicMethod('getLoadValue', function () use ($widget) {
        if ($widget->formField->value !== null) {
            return is_array($widget->formField->value) ? $widget->formField->value : json_decode($widget->formField->value);
        }

        return parent::getLoadValue();
    });
});

Unfortunatelly it doesn't work, the getLoadValue defined this way is never called. I added this to the boot method:
    /**
     * Boot method, called right before the request route.
     */
    public function boot(): void
    {
        \Log::debug('extending Repeater FormWidget');
        \Backend\FormWidgets\Repeater::extend(function ($widget) {
            $widget->addDynamicMethod('getLoadValue', function () use ($widget) {
                \Log::debug('inside getLoadValue');
                \Log::debug($widget->formField);
                if ($widget->formField->value !== null) {
                    return is_array($widget->formField->value) ? $widget->formField->value : json_decode($widget->formField->value);
                }

                return parent::getLoadValue();
            });
        });
    }

in system.log I only can see this line:
[2023-01-26 09:41:35] development.DEBUG: extending Repeater FormWidget

I was able to "patch" this by adding the following method to the Repeater widget class, but I feel this isn't right:
public function getLoadValue()
{
    if ($this->formField->value !== null) {
        return is_array($this->formField->value) ? $this->formField->value : json_decode($this->formField->value);
    }

    return parent::getLoadValue();
}

@LukeTowers opinion on this fix?

@hirisov is this still an issue? Ping me if so and I'll take another look.

@LukeTowers yes this issue is still present with dev-develop branch of WinterCMS (I could reproduce with a fresh install and the test plugin, with the steps I described above). If I add the getLoadValue() manually to modules/backend/formwidgets/Repeater.php then that seems to fix the problem.

@bennothommo @LukeTowers this got reported before and got closed by the system.


DotCoverMerge does not exist error

Hi Team,
I am using the below code to merge the multiple test projects. But I am facing the following error,
CS0103 - The name 'DotCoverMerge' does not exist in the current context
`#tool nuget:?package=NUnit.ConsoleRunner&version=3.2.0
#tool nuget:?package=JetBrains.dotCover.CommandLineTools
var target = Argument("target", "Default");
Task("Default")
.Does(() =>
{
CleanDirectory("./build");
MSBuild("./foo.sln", new MSBuildSettings().WithProperty("OutDir", MakeAbsolute(new DirectoryPath("build")).FullPath));
DotCoverCover(
tool => tool.NUnit3("./build/Foo.Test1.dll"),
new FilePath("./build/1.dcvr"),
null
);
DotCoverCover(
tool => tool.NUnit3("./build/Foo.Test2.dll"),
new FilePath("./build/2.dcvr"),
null
);
DotCoverMerge(new [] {
new FilePath("./build/1.dcvr"),
new FilePath("./build/2.dcvr")
},
new FilePath("./build/merged.dcvr"));
DotCoverReport(
"./build/merged.dcvr",
"./build/merged.html",
new DotCoverReportSettings {
ReportType = DotCoverReportType.HTML
}
);
});
RunTarget(target);`
So you please suggest how to solve the above issue?
Regards,
Jagadeesan

What version of Cake arevyou using? DotCoverMerge was added in v0.18.0


replace with confirmation?

Hi, Is it supposed that replace with confirmation is not working currently?

As stated in the README, this package is no longer maintained and is deprecated. We recommend that people use the vim-mode-plus package instead. Because of this, we are archiving this repository and closing all issues and pull requests. Thanks very much for your support and contributions!


Enrich client library documentation with error handling information

Error code standards and and error handling information are available in the link below. These standards are being applied to all client libraries. We need to add this information to each of the client library's documentation.
https://gitlab.com/bonitoo-io/influxdata/-/blob/master/influxdb-clients/ClientLibrariesErrorHandling.md

Error code standards and and error handling information are available in the link below. These standards are being applied to all client libraries. We need to add this information to each of the client library's documentation.
https://gitlab.com/bonitoo-io/influxdata/-/blob/master/influxdb-clients/ClientLibrariesErrorHandling.md

The URL is no longer valid and I don't see any semblance of it in influxdata or bonitoo-io repos. @influxdata/bonitoo, do you know of updated documentation for client library error-handling patterns or is it specific to each library?

@bednar @rhajek https://gitlab.com/bonitoo-io/influxdata/-/blob/master/influxdb-clients/ClientLibrariesErrorHandling.md is not public, we should better find a public place for it. Any influxdata client github repository could also host the file. It is also not up to date, the retry mechanism has changed recently across all the clients.


Doordashcon: Retain Rank I Jan - May 2024

Greetings,
I am presenting evidence here to maintain my current rank I.
You can view the rendered version here
Hash 0x28e1db12cff7513fc9b0fe9ae43818c577f644092fb5c27fc66b9b4ae15d66a6

Evidence has now been noted on-chain.


NodeJS / Facebook greeting message

Following this issue:
https://github.com/Microsoft/BotBuilder/issues/991
I listen to the Bot Event and send back a message (tested with the emulator)
The first time a user is connected to the bot it should also diplay a greeting button according to the documentation:
https://developers.facebook.com/docs/messenger-platform/thread-settings/get-started-button
But I absolutly don't understand how to reproduce that with the BotFramework.

So I actually used a separate node server to handle the Facebook messenger setup as it's nothing to do with the botframework really:
Quick note, I'm not 100% sure this still all works with the recent update of messenger, so you'll need to check the Facebook API etc...
app.js
var request = require('request');

//=========================================================
// Facebook setup // Run only when need updating.
//=========================================================

// Set FB bot greeting text
facebookThreadAPI('./fb-greeting-text.json', 'Greating Text');
// Set FB bot get started button
facebookThreadAPI('./fb-get-started-button.json', 'Get Started Button');
// Set FB bot persistent menu
facebookThreadAPI('./fb-persistent-menu.json', 'Persistent Menu');

// Calls the Facebook graph api to change various bot settings
function facebookThreadAPI(jsonFile, cmd){
    // Start the request
    request({
        url: 'https://graph.facebook.com/v2.6/me/thread_settings?access_token='+process.env.FB_PAGE_ACCESS_TOKEN,
        method: 'POST',
        headers: {'Content-Type': 'application/json'},
        form: require(jsonFile)
    },
    function (error, response, body) {
        if (!error && response.statusCode == 200) {
            // Print out the response body
            console.log(cmd+": Updated.");
            console.log(body);
        } else {
            // TODO: Handle errors
            console.log(cmd+": Failed. Need to handle errors.");
            console.log(body);
        }
    });
}

fb-greeting-text.json
{
  "setting_type":"greeting",
  "greeting":{
    "text":"Your greeting text here."
  }
}

fb-get-started-button.json
{
  "setting_type":"call_to_actions",
  "thread_state":"new_thread",
  "call_to_actions":[
    {
      "payload":"action?POSTBACKHERE"
    }
  ]
}

fb-persistent-menu.json
// Just using the menu to do a single button admin reset
{
  "setting_type" : "call_to_actions",
  "thread_state" : "existing_thread",
  "call_to_actions":[
    {
      "type":"postback",
      "title":"Admin Reset",
      "payload":"action?POSTBACKHERE"
    }
  ]
}

I'm mean you could do this all in your main app but I seems unnecessary as it only needs to be called when changes are made etc...
Hope this helps :).

I'd also add that these features from FB messenger can be a little buggy. For instance if you set or change the greeting or menu etc... when using the browser you tend to have to clean the cache in order for the changes to appear, with the apps, a simple restart of the app normally works. Not only that but the menu seems quite buggy, sometimes just not appearing but I'm not sure if it's the new version of messenger as mentioned above.

@SamuelTassell thanks it works great !

Instead of a separate server @SamuelTassell  you can use the sourceEvents to send these on the firstRun of our bot. Have you tried it 💃

Haha, nice call. I hadn't tried it as I only needed to setup messenger the once, so having it handled separately was cleaner for me :smile:.

@slidenerd Do you have an example of how to do that? Thanks!

if anyone is interested, I made a command line tool to ease working with Facebook thread settings:
https://www.npmjs.com/package/fb-thread-settings

Haven't tested this yet but regardless of JSON format changes , this should work perfectly, let me know if you think it can be improved
const request = require('request')

class MessengerProfile {
    constructor(token, options = {}) {
        this.token = token
        this.version = options.version || 'v2.9'
        this.greetingText = options.greetingText || {}
        this.getStartedButton = options.getStartedButton || {}
        this.persistentMenu = options.persistentMenu || {}
        this.whitelistedDomains = options.whitelistedDomains || {}
    }

    setGreetingText(json) {
        this.greetingText = json
        threadSetup(JSON.parse(this.greetingText))
    }

    setGetStartedButton(json) {
        this.getStartedButton = json
        threadSetup(JSON.parse(this.getStartedButton))
    }

    setPersistentMenu(json) {
        this.persistentMenu = json
        threadSetup(JSON.parse(this.persistentMenu))
    }

    whitelistDomains(json) {
        this.whitelistDomains = json
        threadSetup(JSON.parse(this.whitelistDomains))
    }

    threadSetup(json) {
        // Start the request
        request({
            url: `https://graph.facebook.com/${this.version}/me/messenger_profile?access_token=${this.token}`,
            method: 'POST',
            headers: { 'Content-Type': 'application/json' },
            form: json
        }, (error, response, body) => {

            if (!error && response.statusCode == 200) {
                console.log(`Updated ${body}`);
            } else {
                console.log(`Failed ${body} Error ${error}`);
            }
        })
    }
}


Added ! to alphanumeric chars allowed in glob

Support exclamation in glob.

Hi @stffabi, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla2.dotnetfoundation.org.

TTYL, DNFBOT;

@stffabi, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, DNFBOT;

Fixes #1323

@stffabi I have just rebased your branch against the current develop branch and I will merge this PR assuming the CI builds pass.
Thanks again for your contribution to Cake!


Change README_UWU.txt to WEADME_UWU.txt

Title says it all

omg what a high priority issue

ok i would do it but im afraid of breaking some links so ill have to take a look.....

WeadMweUwU.TxT

BTW, (if you can) please change the file extension to .md so GH renders it nicely

exactwy, (⑅˘꒳˘) awso if you'we wowwied about g-github detecting README_UWU.md a-as the actuaw W-WEADME, ( ͡o ω ͡o ) changing README_UWU.txt t-to WEADME_UWU.md w-wouwd sowve that p-pwobwem as weww. UwU


Some TRS data is not populated

Is your feature request related to a problem? Please describe.
Going through the code on another ticket, noticed some TODOs that don't seem to have a ticket and makes TRS implementation incomplete.

We don't set size nor date on image data. See the following code snippet from io.swagger.api.impl.ToolsImplCommon.java, which I'm refactoring, so no link:

        final ImageData imageData = new ImageData();
        imageData.setImageType(ImageType.DOCKER);
        imageData.setRegistryHost(trsImageDTO.getRegistryHost().getDockerPath());
        imageData.setImageName(trsImageDTO.getImageName());
        //TODO: hook up proper size
        imageData.setSize(0);
        //TODO: hook up proper date
        imageData.setUpdated(new Date().toString());

Included Apps is always set to an empty array. Looks like it might require a feature change in Dockstore to gather the info. See this code where it sets it to itself:

            ToolVersion toolVersion = new ToolVersion();
            toolVersion.setAuthor(MoreObjects.firstNonNull(toolVersion.getAuthor(), Lists.newArrayList()));
            //TODO: would hook up identified tools that form workflows here
            toolVersion.setIncludedApps(MoreObjects.firstNonNull(toolVersion.getIncludedApps(), Lists.newArrayList()));

This could be split into two tickets.
┆Issue is synchronized with this Jira Bug
┆Fix Versions: Dockstore 1.10.X
┆Issue Number: DOCK-1485
┆Sprint: Sprint 52- Angel shark
┆Issue Type: Bug

Can anyone clarify what includedApps is supposed to be?

Can anyone clarify what includedApps is supposed to be?

As in the comment, it was intended to be some way of denoting which tools form part of a workflow.
I think 1 is more important than 2 at this point.

As in the comment, it was intended to be some way of denoting which tools form part of a workflow.
I think 1 is more important than 2 at this point.

Can anyone clarify what includedApps is supposed to be? Perhaps provide an example and not repeat the comment.

Can anyone clarify what includedApps is supposed to be? Perhaps provide an example and not repeat the comment.


Reset focuspoint

Hi,
is there a possibility to reset the focuspoint in the panel?
Cheers

Unfortunately this is not possible at the moment.
The only way to (kind of) reset is to try to set the focus point manually at the center of the image.


Project Geopackage -> GeoPackage, #111

Coverage remained the same at 58.56% when pulling 3cd8be976cbbb0a3e24957b8b010c1adfbead59d on 111_normalize_naming into a0c003a49d211c12b23310b99a347a3221a99b18 on master.


bug: Deleting ApisixRoute will delete only one upstream.

Issue description
When ApisixRoute is configured with multiple services, multiple upstream of the same quantity will be created. When ApisixRoute is deleted, only one upstream will be deleted.
Environment

your apisix-ingress-controller version (output of apisix-ingress-controller version --long):

your Kubernetes cluster version (output of kubectl version):

if you run apisix-ingress-controller in Bare-metal environment, also show your OS version (uname -a):

Minimal test code / Steps to reproduce

Create ApisxiRoute:

kubectl apply -f config.yaml

#config.yaml
apiVersion: apisix.apache.org/v2beta3
kind: ApisixRoute
metadata:
 name: httpbin-route
spec:
 http:
 - name: rule1
   match:
     hosts:
     - httpbin.org
     paths:
       - /ip
   backends:
   - serviceName: httpbin-service-e2e-test
     servicePort: 80
   - serviceName: httpbin
     servicePort: 80
   - serviceName: httpbin2
     servicePort: 80

upstream count=3

Delete ApisixRoute:

kubectl delete -f config.yaml

upstream count=2

Actual result
upstream count=2
Expected result
upstream count=0

thanks for your report
I will try to reproduce it


Setting the minimum scale for pinch zooming

Hello,
So I am using your library for its pinch zoom capabilities and its working perfectly. I wanted to know if this the following case can be solved, I have a image inside your subsampling-scale-image-view which is panorama and I am pre-zooming into the image using the following
ivImage.setScaleAndCenter(1.25f, new PointF(centreX, centreY));
Is it possible for the library to make sure the subsampling-scale-image-view does not get scaled below "1". I tried using the following but it did not work
ivImage.setMinScale(1f);

https://github.com/davemorrissey/subsampling-scale-image-view/wiki/07.-Configuration#setminscalefloat--setmaximumdpiint

so I already tried that method, but it did not do the trick. I have a panorama of size 2500 x 600, while my screen size is like 1200 x 700 (something on those lines, horizontal oriented screen). Since the pano image is much bigger than the screen, I use the
ivImage.setScaleAndCenter(1.25f, new PointF(centreX, centreY));
to display only a part of the pano image. But now when I use the pinch zoom feature to zoom out from "1.25", I want to set that min scale to "1", but I can see that scale value goes to as small as "0.5" in which case the image view which has the panorama image resizes itself to fit the whole 2500 x 600 image in 1200 x 700. I want to set a hard limit on the scale to not go below "1" and the minScale function did not work :(

Please read the manual I linked to. It says you need to call setMinimumScaleType(SCALE_TYPE_CUSTOM)


Local read-only variables in bash scripts (install-consul and run-consul) are not declared correctly

In install-consul and run-consul there are many declarations in the form:
local readonly name=val

While syntax is accepted by bash, it does not make the variable readonly.
For local variable to be readonly, it should be declared as:
local -r name=val

Detailed explanation is provided in https://stackoverflow.com/questions/45409822/bash-local-and-readonly-variable/

You know, we (Gruntwork) have used the local readonly name=val pattern in probably hundreds of bash scripts by this point, and it looks like you're exactly right:
# This script should return a non-zero exit code, but it doesn't.
function hello {
    local readonly name="$1"
    name="consul"

    echo "hello, $name"
}

We'll do as you suggest, not just in this repo, but across all repos we maintain and update to:
# This is the correct way to specify a readonly var in bash
function hello {
    local -r name="$1"
    name="consul"

    echo "hello, $name"
}

Thank you for pointing this out! I'll fix this in this repo momentarily.

Correction. This is fixed in #12.


feat(dcs): add map type support for decorator command targets

Description
This change extends the Decorator Manager to support Map Types. A new optional property element is added to the CommandTarget which allows users to specify the granularity of the intended target on a Map. The legal options of which are KEY, VALUE, or * (both Key and Value).
Example 1:
{
    "$class"<EMAIL_ADDRESS>    "name" : "web",
    "version": "1.0.0",
    "commands" : [

        {
            "$class"<EMAIL_ADDRESS>            "type" : "UPSERT",
            "target" : {
                "$class"<EMAIL_ADDRESS>                "namespace"<EMAIL_ADDRESS>                "declaration" : "Dictionary",
                "element": "*"
            },
            "decorator" : {
                "$class"<EMAIL_ADDRESS>                "name" : "Foo",
                "arguments" : []
            }
        }
    ]
}

In the above sample, the @Foo decorator will be added to both elements for the Map Declaration Dictionary
Example 2:
{
    "$class"<EMAIL_ADDRESS>    "name" : "web",
    "version": "1.0.0",
    "commands" : [

        {
            "$class"<EMAIL_ADDRESS>            "type" : "UPSERT",
            "target" : {
                "$class"<EMAIL_ADDRESS>                "namespace"<EMAIL_ADDRESS>                "declaration" : "Dictionary",
                "type"<EMAIL_ADDRESS>            },
            "decorator" : {
                "$class"<EMAIL_ADDRESS>                "name" : "Foo",
                "arguments" : []
            }
        }
    ]
}

In the above sample, the @Foo decorator will be added to the Dictionary Map Declaration, if it contains a StringMapKeyType.
Example 3:
{
    "$class"<EMAIL_ADDRESS>    "name" : "web",
    "version": "1.0.0",
    "commands" : [

        {
            "$class"<EMAIL_ADDRESS>            "type" : "UPSERT",
            "target" : {
                "$class"<EMAIL_ADDRESS>                "namespace"<EMAIL_ADDRESS>                "type"<EMAIL_ADDRESS>            },
            "decorator" : {
                "$class"<EMAIL_ADDRESS>                "name" : "Foo",
                "arguments" : []
            }
        }
    ]
}

In the above sample, the @Foo decorator will be added to all MapDeclarations found in the ModelFile, which contain a StringMapKeyType.
Author Checklist

[x] Ensure you provide a DCO sign-off for your commits using the --signoff option of git commit.
[x] Vital features and changes captured in unit and/or integration tests
[x] Commits messages follow AP format

Looks good. element sounds very generic ... Perhaps something more explicitly (map specific) would help in the model? mapElement ?

Yes, I'm good with mapElement, although I liked the elegance of element, I see your point. Given we don't typically reference anything else as an element I felt it sits nicely in the command.

Alternatively we could co-opt property and properties for maps, but use special property names so we don't need a model change.
property: 'MAP_KEY'
property: 'MAP_VALUE'
properties: ['MAP_KEY', 'MAP_VALUE']

I am less in favour of this suggestion . Strictly speaking, Maps do not contain properties. I think we should align the language of the command to that of the models AST, so as to provide consistency and avoid confusion.

Thinking about this - we will also need to update the Vocabulary and VocabularyManager to check that terms can be retrieved for map key and value.

Yes this came up in a team meeting, will be implemented as part of the ongoing Vocabulary efforts.

Very close! I think making the mapElement an enum will make the model self-describing and improve validation.

Agree using an Enum set makes sense now that we have DecoratorSet validation changes merged earlier today.
One thing to clarify - do you mean to suggest bumping the concerto version, or the namespace version to<EMAIL_ADDRESS>It makes sense to bump only the namespace as the changes are scoped to the decoratorcommands version.

Validate has been present for a while - the change yesterday exposed it as a standalone method, rather than just doing it implicitly as part of decorateModels.
I meant to bump to<EMAIL_ADDRESS>

@dselman given we haven't yet cut a release with the<EMAIL_ADDRESS>changes , I suggest we stay with version 0.2.0 for now. This will solve the emergent migration story (in the short term) at DocuSign which surfaces should we move from v0.2.0. Longer term, we need to consider how we support versioning across DCS models, and the metamodel,  in a scalable manner.

The problem remaining at v0.2.0 for DCS model will cause is that someone can define a DCS with mapElement and use it with concerto-core v3.13.0 and it will fail validation.
I think downstream consumers need to migrate (on the fly or in batch) DCS docs to support what the version of concerto-core supports.


TRACKING ISSUE: Keep at least 3 first-timer-only issues open at all times

Hello!
This is a tracking issue so that we can make sure that there are always 3 issues with the first-timer-only issue label that can be picked from for improving the website. If you are wondering what to work on, feel free to comment on this issue!

Created #12

Created #14

TODO: Add 1 more issue

Created #15

TODO: Add 3 more issues

Phew, #29 #28 and #27


add image signature constant

this is used to interlock between controller and API.  It's a current API contract.

this is used to interlock between controller and API. It's a current API contract.

Since it's already an API contract, self-tagged to keep the split moving.

/refresh


Regression: Batch Rename menu not openning

Godot version:
3.2.alpha.official
OS/device including version:
Solus 4.0 Gnome 3.34.1
Issue description:
The batch rename menu is not opening when we RMB and chose "Batch Rename" from the dropdown menu
Steps to reproduce:

Create a scene with multiple nodes
Select multiple nodes in the same level of the hierarchy
RMB on the nodes and select "Batch Rename" from the dropdown menu

Same thing happens for me.
I'll try and look into this


⚠ Bofrost.lu has degraded performance

In 64d6bb7, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1147 ms

Resolved: Bofrost.lu performance has improved in 29dc506 after 6 minutes.


EC2 deployment with machine keeps on looping through Testing TCP connection to: xxx.xxx.xxx.xxx:22

I run the following to provision a new ec2 instance in my VPC:
docker-machine --debug create --driver amazonec2 --amazonec2-access-key  --amazonec2-secret-key  --amazonec2-vpc-id vpc-12345678 --amazonec2-subnet-id subnet-12345678 --amazonec2-region us-east-1 --amazonec2-ssh-user  --amazonec2-zone a aws-mse-1;
The subnet and the vpc are in the same region and zone and I am running docker-machine 0.3.0
Here is my output :
Making AWS API call with values:
{
    "Action": [
        "DescribeKeyPairs"
    ],
    "Version": [
        "2014-06-15"
    ]
}
Making AWS API call with values:
{
    "Action": [
        "DescribeKeyPairs"
    ],
    "Version": [
        "2014-06-15"
    ]
}
Launching instance...
creating key pair: aws-mse-1
Making AWS API call with values:
{
    "Action": [
        "ImportKeyPair"
    ],
    "KeyName": [
        "aws-mse-1"
    ],
    "PublicKeyMaterial": [
        "c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDaGo4NXo5S01URDVRYzJ5Kzh1OUY4a3VHRUMva2NUZnhWTzJDaVdjY0Y5ajhTYXl3eWRXeXVYQ2g1bnJ5TDBIYXJORlA2VnBVTFVBQVFzNWlSTHJWOFJNbmtrYUw0Mk8wK"
    ],
    "Version": [
        "2014-06-15"
    ]
}
configuring security group in vpc-5e949a3b
Making AWS API call with values:
{
    "Action": [
        "DescribeSecurityGroups"
    ],
    "Version": [
        "2014-06-15"
    ]
}
found existing security group (docker-machine) in vpc-5e949a3b
configuring security group authorization for <IP_ADDRESS>/0
launching instance in subnet subnet-e6fd98cd
Making AWS API call with values:
{
    "Action": [
        "RunInstances"
    ],
    "BlockDeviceMapping.0.DeviceName": [
        "/dev/sda1"
    ],
    "BlockDeviceMapping.0.Ebs.DeleteOnTermination": [
        "1"
    ],
    "BlockDeviceMapping.0.Ebs.VolumeSize": [
        "16"
    ],
    "BlockDeviceMapping.0.Ebs.VolumeType": [
        "gp2"
    ],
    "BlockDeviceMapping.0.VirtualName": [
        ""
    ],
    "ImageId": [
        "ami-5f709f34"
    ],
    "InstanceType": [
        "t2.micro"
    ],
    "KeyName": [
        "aws-mse-1"
    ],
    "MaxCount": [
        "1"
    ],
    "MinCount": [
        "1"
    ],
    "Monitoring.Enabled": [
        "0"
    ],
    "NetworkInterface.0.AssociatePublicIpAddress": [
        "1"
    ],
    "NetworkInterface.0.DeviceIndex": [
        "0"
    ],
    "NetworkInterface.0.SecurityGroupId.0": [
        "sg-12345678"
    ],
    "NetworkInterface.0.SubnetId": [
        "subnet-12345678"
    ],
    "Placement.AvailabilityZone": [
        "us-east-1a"
    ],
    "Version": [
        "2014-06-15"
    ]
}
waiting for ip address to become available
Making AWS API call with values:
{
    "Action": [
        "DescribeInstances"
    ],
    "InstanceId.1": [
        "i-4fa0a9e6"
    ],
    "Version": [
        "2014-06-15"
    ]
}
Making AWS API call with values:
{
    "Action": [
        "DescribeInstances"
    ],
    "InstanceId.1": [
        "i-4fa0a9e6"
    ],
    "Version": [
        "2014-06-15"
    ]
}
Making AWS API call with values:
{
    "Action": [
        "DescribeInstances"
    ],
    "InstanceId.1": [
        "i-4fa0a9e6"
    ],
    "Version": [
        "2014-06-15"
    ]
}
Making AWS API call with values:
{
    "Action": [
        "DescribeInstances"
    ],
    "InstanceId.1": [
        "i-4fa0a9e6"
    ],
    "Version": [
        "2014-06-15"
    ]
}
Making AWS API call with values:
{
    "Action": [
        "DescribeInstances"
    ],
    "InstanceId.1": [
        "i-4fa0a9e6"
    ],
    "Version": [
        "2014-06-15"
    ]
}
Making AWS API call with values:
{
    "Action": [
        "DescribeInstances"
    ],
    "InstanceId.1": [
        "i-4fa0a9e6"
    ],
    "Version": [
        "2014-06-15"
    ]
}
Making AWS API call with values:
{
    "Action": [
        "DescribeInstances"
    ],
    "InstanceId.1": [
        "i-4fa0a9e6"
    ],
    "Version": [
        "2014-06-15"
    ]
}
Making AWS API call with values:
{
    "Action": [
        "DescribeInstances"
    ],
    "InstanceId.1": [
        "i-4fa0a9e6"
    ],
    "Version": [
        "2014-06-15"
    ]
}
Making AWS API call with values:
{
    "Action": [
        "DescribeInstances"
    ],
    "InstanceId.1": [
        "i-4fa0a9e6"
    ],
    "Version": [
        "2014-06-15"
    ]
}
Got the IP Address, it's "54.XX.XX.XX"
Making AWS API call with values:
{
    "Action": [
        "DescribeInstances"
    ],
    "InstanceId.1": [
        "i-4fa0axxx"
    ],
    "Version": [
        "2014-06-15"
    ]
}
created instance ID i-4fa0axxx, IP address 54.xx.xx.xx, Private IP address <IP_ADDRESS>
Settings tags for instance
Making AWS API call with values:
{
    "Action": [
        "CreateTags"
    ],
    "ResourceId.1": [
        "i-4fa0axxx"
    ],
    "Tag.1.Key": [
        "Name"
    ],
    "Tag.1.Value": [
        "aws-mse-1"
    ],
    "Version": [
        "2014-06-15"
    ]
}
Making AWS API call with values:
{
    "Action": [
        "DescribeInstances"
    ],
    "InstanceId.1": [
        "i-4fa0a9e6"
    ],
    "Version": [
        "2014-06-15"
    ]
}
Getting to WaitForSSH function...
Making AWS API call with values:
{
    "Action": [
        "DescribeInstances"
    ],
    "InstanceId.1": [
        "i-4fa0axxx"
    ],
    "Version": [
        "2014-06-15"
    ]
}
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
Testing TCP connection to: <IP_ADDRESS>:22
.
.
.
.

Argh, I've seen similar issues.  Thanks for the report.  We need to do some more testing around non-default VPCs in general.

:+1:  To what @sjwhyte is seeing.
@nathanleclaire this seems to have been working until recently, are there any know workarounds?
Thanks
--a

Actually this is my fault. I did not have my Internet Gateway configured to allow traffic to the VPC for SSH, so it was blocked.

@sjwhyte... Bonehead mistake on my part.  After deleting a working VPC and then recreating it, it turns out that I too did not have an Internet Gateway set.  Thanks for the follow up...it showed me the error in my ways.

That is exactly what I did, delete and recreate and forgot to reset internet gateway.

So initially issue #1301 brought me here, and I thought as well that it was something related to our VPC or security groups... until the machines started to stop by themselves. A colleagued pointed this out and after fiddling we found out that an additional volume showed up in the EC2 dashboard (sda1, most likely from [here](https://github.com/docker/machine/blob/master/drivers/amazonec2/amazonec2.go#L329. Two volumes showed up in the dashboard: xvda and sda1). This might had been the case of the machine stopping, since we are using a debian distribution. After booting an EC2 instance with the default ubuntu image we had no issues whatsoever.
We are not sure why it's trying to add this volume on the VM, but detaching the volume manually in the EC2 panel allowed the docker-machine command to start and ssh into the machine.
➜  ~  docker --version
Docker version 1.7.0, build 0baf609
➜  ~  docker-machine --version
docker-machine version 0.3.0 (0a251fe)

Yay!


Crash: RLMGenerator released early(?) when iterating over RLMResults using flatMap()

I'm using realm-cocoa in a Swift application.
This is necessary as I can not yet switch to using frameworks.
I'm experiencing a crash when using flatMap on RLMResults when building with "-Owholemodule".
Building with Xcode 7.3.1 and AddressSanitizer enabled points out a heap-use-after-free in [RLMResults countByEnumeratingWithState:objects:count].
It seems that the RLMGenerator instance is released before flatMap() is finished calling countByEnumeratingWithState...
The issue is reproducing on device and in the simulator.
A workaround is to use the attribute  @inline(never) on RLMGenerator.next().
This is possibly a swift optimizer issue...
Steps to Reproduce

Download the sample from the link below.
Go to RLMGeneratorCrash/ folder
Install Realm using cocoa pods: 'pod install'
Open OptimizationBug.xcworkspace
Run in a simulator
Result:
SUMMARY: AddressSanitizer: heap-use-after-free RLMResults.mm:145 in -[RLMResults countByEnumeratingWithState:objects:count:]

Code Sample
A sample project is available at https://github.com/nevil/Bugs/tree/master/RLMGeneratorCrash
Realm version: 1.0.1
Xcode version: 7.3.1
Cocoapods version: 0.39.0

Thanks for the great bug report and repro case! I could confirm this locally.
It seems to me like this is a Swift bug, so I wanted to check if it was still an issue with other Swift versions.
But I can't check against Swift 2.3 since it doesn't support address sanitizer and can't check against Swift 3 snapshot because of the following swiftc assertion failure:
LLVM ERROR: unsupported relocation with subtraction expression, symbol ... can not be undefined in a subtraction expression

In any case, let's keep this open so we can further investigate if this is a bug in Realm or Swift.

I reported the optimization issue to the Swift project https://bugs.swift.org/browse/SR-1768
I included a copy of NSFastGenerator from Swift stdlib in RLMSupport.swift, prevent the functions from being inlined, added a deinit and some logging.
This clearly shows that next() is called after deinit of the instance.
final public class MyFastGenerator : GeneratorType {
    var enumerable: NSFastEnumeration
    var state: [NSFastEnumerationState]
    var n: Int
    var count: Int

    /// Size of ObjectsBuffer, in ids.
    var STACK_BUF_SIZE: Int { return 4 }

    /// Must have enough space for STACK_BUF_SIZE object references.
    struct ObjectsBuffer {
        var buf = (COpaquePointer(), COpaquePointer(),
                   COpaquePointer(), COpaquePointer())
    }
    var objects: [ObjectsBuffer]

    @inline(never)
    public func next() -> AnyObject? {
        print("MyFastGenerator next")
        if n == count {
            // FIXME: Is this check necessary before refresh()?
            if count == 0 { return .None }
            refresh()
            if count == 0 { return .None }
        }
        let next : AnyObject = state[0].itemsPtr[n]!
        n += 1
        return next
    }

    @inline(never)
    func refresh() {
        print("MyFastGenerator refresh")
        n = 0
        count = enumerable.countByEnumeratingWithState(
            state._baseAddressIfContiguous,
            objects: AutoreleasingUnsafeMutablePointer(
                objects._baseAddressIfContiguous),
            count: STACK_BUF_SIZE)
    }

    @inline(never)
    public init(_ enumerable: NSFastEnumeration) {
        print("MyFastGenerator init")
        self.enumerable = enumerable
        self.state = [ NSFastEnumerationState(
            state: 0, itemsPtr: nil,
            mutationsPtr: _fastEnumerationStorageMutationsPtr,
            extra: (0, 0, 0, 0, 0)) ]
        self.objects = [ ObjectsBuffer() ]
        self.n = -1
        self.count = -1
    }

    deinit {
        print("MyFastGenerator deinit")
    }
}

It gives the output:
MyFastGenerator init
MyFastGenerator next
MyFastGenerator refresh
MyFastGenerator deinit
MyFastGenerator next
MyFastGenerator refresh
The output is same also with Swift 2.3.
I'm getting the same error as you using Swift 3 targeting the simulator.
Targeting device I get:
Undefined symbols for architecture arm64:
  "nominal type descriptor for __ObjC.RLMResults", referenced from:
      l_protocol_conformances in RLMSupport.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Any updates on a fix for this?
It looks like it is still happening as of v2.1.0 release using Xcode 8.0 (8A218a) (whole module optimization is on)
I can confirm adding @inline(never) to public func next() -> RLMObject? resolves the crash.
My stacktrace is not useful for this other then pinpointing crash at RLMSupport.swift:40
I can private message you the offending realm + flatMap statement if it is of any value.

Any updates on a fix for this?

I've commented on SR-1768 to follow up.
@isoiphone would you advise against adding @inline(never) to next() in RLMSupport.swift directly? If that works around the issue, that may be the best way to resolve it short term.

Adding that worked and fixed the crash I am aware of. There might be other crashes I'm not aware of.
I've left that statement in as a precaution, and just completely disabled swift whole module optimization. Does not seem ready for production use yet.

... just completely disabled swift whole module optimization. Does not seem ready for production use yet.

Sounds like you should be filing bugs at https://bugs.swift.org rather than here, for maximum effect.

The initial issue reported here appears to be resolved with Swift 3: https://github.com/nevil/Bugs/pull/1
I think the issue reported by @isoiphone is unrelated. So I'll be closing this issue now.

Thanks for following up!
I've since switched to RealmSwift (and recently swift 3) so no longer had the issue.


Wrapping Angular UI Bootstrap tabs not working

I'm not positive but this might be relate to me using "Controller As" syntax in my html.  Anyways, here's the issue.
this works great, I see my tabs but obviously they do not scroll.

        Non Scrolling Tabs
        <uib-tabset active="active">
            <uib-tab index="$index" ng-repeat="tab in vm.tabs2" heading="{{tab.title}}" active="tab.active" disable="tab.disabled">
                {{tab.content}}
            </uib-tab>
        </uib-tabset>

When I add in the div wrapper, None of my tabs show up.

		scrolling tabs

			<uib-tabset active="active">
				<uib-tab index="$index" ng-repeat="tab in vm.tabs" heading="{{tab.title}}" active="tab.active" disable="tab.disabled">
					{{tab.content}}
				</uib-tab>
			</uib-tabset>

*notes: I've double checked and I included the css and js in the correct place.
This is what I'm seeing when I inspect the source when it's not working.

        scrolling tabs

So i'm not entirely sure what the issue is but i would imaging it's related to scopes.

Wow, that was a tricky one.
It looks like, starting with v1.2.0, angular-ui starting using controllerAs and bindToController with the tabset directive, which messed up the direct connection between the tabs model data and the transcluded DOM, so the tab-content outside the movable container no longer updated itself when the active tab inside the movable container changed.
Here's a plunk showing it working with the newer uib-tabset:
http://plnkr.co/edit/YVWwiTIls5nZmTVWwpXA?p=preview
I think your tabs should still have shown, though--they just wouldn't be functional. Did you know that, in your working (non-wrapped) one, you're repeating over vm.tabs2 but in the broken one you're repeating over vm.tabs? Could that be why the ng-repeats are empty when you inspect the source?


Optimise the GCD implementations.

This change avoids using swap() in the GCD implementation, which results in a speedup of almost a factor of two on my system.  Here are a few benchmark numbers for u32 values, where t_old is the time per function call for the current implementation, and t_new is the time of the implementation introduced in this change.
| m             | n             | t_old (ns) | t_new (ns) |
+---------------+---------------+------------+------------+
| 2_971_215_073 | 1_836_311_903 |         76 |         40 |
|       253_241 |       489_997 |         26 |         12 |
| 4_183_928_743 |     1_234_567 |         63 |         31 |
| 3_221_225_469 |             3 |         93 |         47 |
|   0xffff_ffff |   0x8000_0000 |         98 |         55 |

I'm aware that having tested this on a single system for a single type doesn't tell us too much, but before trying to perform a more thorough benchmark, I'd like to know whether you are interested in this kind of optimisation in principle, and what kind of benchmark results you would like to see to inlcude it.

@cuviper Thanks for your comments! I've addressed them and added a benchmark.  Here are the results for my machine (i7-4710MQ, x86_64, Linux):
running 20 tests
test i128::bench_gcd     ... bench:      55,449 ns/iter (+/- 1,621)
test i128::bench_gcd_old ... bench:      47,280 ns/iter (+/- 1,502)
test i16::bench_gcd      ... bench:         243 ns/iter (+/- 18)
test i16::bench_gcd_old  ... bench:         376 ns/iter (+/- 9)
test i32::bench_gcd      ... bench:         876 ns/iter (+/- 21)
test i32::bench_gcd_old  ... bench:       1,739 ns/iter (+/- 53)
test i64::bench_gcd      ... bench:       3,578 ns/iter (+/- 147)
test i64::bench_gcd_old  ... bench:       6,117 ns/iter (+/- 163)
test i8::bench_gcd       ... bench:          70 ns/iter (+/- 4)
test i8::bench_gcd_old   ... bench:          82 ns/iter (+/- 2)
test u128::bench_gcd     ... bench:      55,329 ns/iter (+/- 2,088)
test u128::bench_gcd_old ... bench:      45,653 ns/iter (+/- 1,334)
test u16::bench_gcd      ... bench:         270 ns/iter (+/- 20)
test u16::bench_gcd_old  ... bench:         478 ns/iter (+/- 18)
test u32::bench_gcd      ... bench:         902 ns/iter (+/- 86)
test u32::bench_gcd_old  ... bench:       1,875 ns/iter (+/- 59)
test u64::bench_gcd      ... bench:       3,631 ns/iter (+/- 141)
test u64::bench_gcd_old  ... bench:       6,772 ns/iter (+/- 201)
test u8::bench_gcd       ... bench:          77 ns/iter (+/- 3)
test u8::bench_gcd_old   ... bench:          90 ns/iter (+/- 2)

test result: ok. 0 passed; 0 failed; 0 ignored; 20 measured; 0 filtered out

For the test numbers I used (the Fibonacci numbers) the new version is faster for all types, except for the 128 bit types, where it is 20% slower.  I suspect this is because the compiler is not able to reuse the comparison between m and n as a subtraction, but I did not manage to look at the assemby output to confirm this.  Incidentally, the greatest speedup is achieved for u32, the type I first tested this with.
The Fibonacci numbers may not be good test candidates.  For the standard "modulo" version of the Euclidean algorithm they are precisely the numbers that need the most steps relative to their size before the algorithm terminates.  However, for Stein's algorithm they shouldn't be special in any way, and tests suggest that I get similar results for other choices.
Should I special-case the 128 bit implementations, so we use the faster version in each case?  Or do we need to test this on more target architectures first?

The biggest difference I can see in assembly is that the new versions use packed instructions, and PCMPEQB is reported as a hotspot in perf.  But that's also true in the i686 anomaly...

  In the end, GCD computations are kind of fringe in real applications, so probably the "common use case" simply does not exist.  But I agree that the new implementation seems to be faster overall, and the differences for the 128 bit implementation do not justify complicating the code any further.

OK, let's merge!
bors r+

@cuviper Thanks!


Interval is parsed wrongly

The interval of the structured sig represents the every X TimeUnit part
But parsigs also parses x times a Day (which is a field not represented - amountPerType) as the same
those 2 need to be seperated.

handled here
https://github.com/royashcenazi/parsigs/pull/32


v0.1 API Upgrade

Hi there!
IonQ's v0 API is currently deprecated. It would be great if we could get the Pennylane provider updated to use the v0.1 version.
I wanted to open an issue here first just in case this was already on a road map or in active development.
Depending on timing, we may be able to submit a PR for the upgrade ourselves.

Hi @amilstead, thanks for the request!
As I understand it from the IonQ docs, the only changes from v0 to v1 involve

cancelling of jobs,
deletion of jobs, or
bulk requests
Since we don't currently make use of any of these endpoints in the plugin, upgrading to v1 would be as simple as updating this file, with the change v0-->v1? Is this all you're seeking at the moment?

If so, that's a pretty straightforward request and we can easily accommodate it. If you're thinking of something broader, please do share some more info

... upgrading to v1 would be as simple as updating this file, with the change v0-->v1?

That's pretty much it (though it would be v0 --> v0.1, not v1)!
The only other notable difference between the v0 and v0.1 job response is that the root-level script attribute (which echoes the script/circuit used to create a job) has been removed from the response. We will likely surface this data again in the future under a different endpoint. Until then, the client will be responsible for storing this information as needed.
Also, looking through the api_client module, the JobResult and JobCircuit classes appear to use v0/jobs/{job_id}/data and v0/jobs/{job_id}/circuit. If those map to URL paths used to access the API, I'm afraid we have no such endpoints. That said, I may just be misunderstanding what happens with PATH attributes before requests are made but figured I'd surface just in case!


feat(functions): lazy AngularFireFunctions

Checklist

Issue number for this PR: #nnn (required)
Docs included?: (yes/no; required for all API/functional changes)
Test units included?: (yes/no; required)
In a clean directory, yarn install, yarn test run successfully? (yes/no; required)

Description
Since Functions is undocumented, I thought I'd take a pass on making it lazy too. This requires #1832 be merged to pass.

Code sample

Going to punt on this for now; since dynamic imports aren't supported by StackBlitz, etc.


TCP Router Rule with Host(hostname) leads to Error unknown rule

Do you want to request a feature or report a bug?
Bug
Did you try using a 1.7.x configuration for the version 2.0?

[ ] Yes
[x] No

What did you do?
created a docker-compose file where I tried to add a TCP router for a MySQL database to access it via the hostname without exposing the port of the database itself.

What did you expect to see?
Accessing the database via hostname over tcp
What did you see instead?
An error in the JSON of the endpoint ip:port/api/rawdata
Output of traefik version: (What version of Traefik are you using?)

traefik:v2.0 (alpha 7) DOCKER

What is your environment & configuration (arguments, toml, provider, platform, ...)?
version: '3'

services:
  reverse-proxy:
    image: traefik:v2.0
    command: --api --providers.docker
    ports:
      - "80:80"
      - "8081:8080"
      - "3306:3306"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
  db:
    image: mysql
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: test
      MYSQL_DATABASE: test
    labels:
      - traefik.TCP.Routers.db.Rule=Host(`localhost`)
      - traefik.TCP.Services.db.LoadBalancer.server.Port=3306

If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)
  "tcpRouters": {
    "db@docker": {
      "entryPoints": null,
      "service": "db",
      "rule": "Host(`localhost`)",
      "error": "unknown rule Host(`localhost`)"
    }
  },
  "tcpServices": {
    "db@docker": {
      "loadbalancer": {
        "servers": [
          {
            "address": "<IP_ADDRESS>:3306"
          }
        ]
      },
      "usedBy": [
        "db@docker"
      ]
    }
  }

Hi @RPfist , as explained in the TCP routers documentation, the only possible rule for TCP routers
is HostSNI().
Be careful: if the Layer-7 protocol is not using TLS (which is the case of your MySQL server in the configuration below - unless you do https://dev.mysql.com/doc/refman/5.7/en/encrypted-connections.html), then the only possibility would be
HostSNI(`*`)

The reason is that TCP routing is happening at Layer 4. So the concepts you use to work with in HTTP at Layer 7 like Host or PathPrefix does not exist.
However, the SNIK - aka. Server Name Indication- can be used at Layer 4, if and only if the Layer-7 protocol is using TLS, because the TLS handshake is exposing the SNI in TCP packets.

Hi @dduportal,
thanks to your fast reply, I will give that a try.
Offtopic: Do you already know when there will be a beta of 2.0 or even a final release?
Best regards
René

Hi! I'm Træfiker :robot: the bot in charge of communication regulation.
Thanks for your interest in Traefik!
We dedicate the issue tracker to bug reports and feature requests only. My advanced AI tells me this one is neither of them.
I encourage your to seek community support: join our Community Forum and reach out to us on the Traefik section.
Another option is to use Stack Overflow and tag your question traefik.
You can of course double check Traefik's documentation :sweat_smile:


Added ackee-tracker-consent to the related part of the README

I made a consent banner with that you can let the user choose to either opt in or out of detailed tracking from Ackee. This way others don't have to write their own banner for their website.
You only need to add 4 lines to your HTML website and you are good to go!

Great work! :)


Passing outputs of functions sequentially when invoking

Hi,
I am trying to run two functions sequentially, passing the output from the first into the second. I have been unable to find an example of this in the documentation. This was possible in previous versions, by taking advantage of the stateful context being overridden.
A simple example of what I am trying to do is:
 result = await kernel.invoke([function_1, function_2], arguments=KernelArguments(input=function_1_input)
Where the desired behaviour is:
 function_2(function_1(function_1_input))
Is this possible?

@Chris-hughes10 We have the following example which shows how to implement a pipeline of functions https://github.com/microsoft/semantic-kernel/blob/main/dotnet/samples/KernelSyntaxExamples/Getting_Started/Step8_Pipelining.cs
We made this into a sample rather than core functionality because we are expecting developers to want support for different scenarios and we want to allow for the freedom to implement what suits best for each developers use case.

Thanks for the quick response! Do you have a corresponding Python sample?

@moonbox3 Do you have a pipelining sample for Python?

@Chris-hughes10 in Python this can be done with function handlers, but I believe you're already aware of that (based on your blog post). Are the function handlers not working properly?

Hi @moonbox3, this issue actually pre-dates the blog post update. Function handlers do work for this, but I was wondering if this is the recommended approach, or if there is a more elegant way to do it; I implemented the function handler method after going through the source code, as I couldn't find any docs or samples addressing this.

Thanks for your response, @Chris-hughes10. We're working to make some improvements around how one can do this more elegantly. We don't have an exact timeline on it, but I would imagine it would land around the time we release v1 (mid-May).


Certificate has expired

Please fill out the issue checklist below and provide ALL the requested information.

[x]  I reviewed open and closed github issues that may be related to my problem.
[x]  I tried updating to the latest version of the CF CLI to see if it fixed my problem.
[ ]  I attempted to run the command with CF_TRACE=1 to help debug the issue.
[x]  I am reporting a bug that others will be able to reproduce.

Describe the bug and the command you saw an issue with
Like every year, the certificate has expired.
Also see:
https://github.com/cloudfoundry/cli/issues/2046
https://github.com/cloudfoundry/cli/issues/2571
What happened
While installing the CLI from debian repo this  issue occurs.
W: GPG error:
https://cf-cli-debian-repo.s3.amazonaws.com/
stable InRelease: The following signatures were invalid: EXPKEYSIG 172B5989FCD21EF8 CF CLI Team
[cf-cli-eng<EMAIL_ADDRESS>E: The repository '
https://cf-cli-debian-repo.s3.amazonaws.com/
stable InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Expected behavior

make a note in your calender and refresh the certificate BEFORE it has expired
alternative: use a certificate which lasts longer but still set a reminder in your calender

Exact Steps To Reproduce
See above.
Provide more context
CF cli 8.X
Debian Version 12.6

We have the same issue. We also had the same issue last year, and last year again :)
this time the --allow-unauthenticated unfortunately isn't helping us.

BTW: Your docs are outdated:

wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | sudo apt-key add -
echo "deb https://packages.cloudfoundry.org/debian stable main" | sudo tee /etc/apt/sources.list.d/cloudfoundry-cli.list

apt-key is deprecated since years!
I wonder why our devs use such a toy project maintained by few unprofessional hobbyists. I would prefer a more robust tool maintained by some professionals. Maybe with a backing company in the background. But what do I know...

We are also facing the same issue when trying to install cloud foundry from Azure DevOps Pipeline.
Since  task: CloudFoundryCLIInstall@ is no longer available in the Azure DevOps we are manually installing CF using below:
wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | tee /etc/apt/trusted.gpg.d/cf-cli.asc &&
echo "deb https://packages.cloudfoundry.org/debian stable main" | tee /etc/apt/sources.list.d/cloudfoundry-cli.list &&
....
We tried with --allow-unauthenticated -y and it seems to work, but this is not a solution we would go for.
Is there any expected time when this should get fixed?
Hopefully we will get a solution soon!

Same issue here. This has broken our pipelines.
Get:4 https://cf-cli-debian-repo.s3.amazonaws.com stable InRelease [4,368 B]
Err:4 https://cf-cli-debian-repo.s3.amazonaws.com stable InRelease
  The following signatures were invalid: EXPKEYSIG 172B5989FCD21EF8 CF CLI Team<EMAIL_ADDRESS>Reading package lists... Done
W: GPG error: https://cf-cli-debian-repo.s3.amazonaws.com stable InRelease: The following signatures were invalid: EXPKEYSIG 172B5989FCD21EF8 CF CLI Team<EMAIL_ADDRESS>E: The repository 'https://packages.cloudfoundry.org/debian stable InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package cf8-cli

Had the same issue, appreciate if you could update the issue as we have upcoming released and needs to deploy the app in azure devops. Thank you.

Had the same issue, appreciate if you could update the issue as we have upcoming released and needs to deploy the app in azure devops. Thank you.

1 (re: our release is delayed because of this)

https://github.com/cloudfoundry/cli/issues/3198#issuecomment-2344069403

This should be resolved by now. Please try
curl -s https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | gpg --import - ; gpg --list-keys | grep expire
gpg: key 172B5989FCD21EF8: "CF CLI Team<EMAIL_ADDRESS>not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
pub   rsa4096 2018-09-13 [SC] [expires: 2025-09-11]
sub   rsa4096 2018-09-13 [E] [expires: 2025-09-11]

and let us know if CND propagated on your end.

This should be resolved by now. Please try
curl -s https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | gpg --import - ; gpg --list-keys | grep expire
gpg: key 172B5989FCD21EF8: "CF CLI Team<EMAIL_ADDRESS>not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
pub   rsa4096 2018-09-13 [SC] [expires: 2025-09-11]
sub   rsa4096 2018-09-13 [E] [expires: 2025-09-11]

and let us know if CDN propagated on your end.

I've tried in a clean Debian container and still having the issue:
root@99d91c9731a6:/# date && curl -s https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | gpg --import - ; gpg --list-keys | grep expire
Wed Sep 11 17:22:19 UTC 2024
gpg: key 172B5989FCD21EF8: "CF CLI Team<EMAIL_ADDRESS>not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
pub   rsa4096 2018-09-13 [SC] [expired: 2024-09-10]
uid           [ expired] CF CLI Team<EMAIL_ADDRESS>

Confirming that it's now working for us.

Hello, can this be reopen? its happening again. :(

curl -s https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | gpg --import - ; gpg --list-keys | grep expire

Confirmed for us as well, in a clean Debian container:
root@905487b04837:/# date && curl -s https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | gpg --import - ; gpg --list-keys | grep expire
Thu Sep 12 17:18:11 UTC 2024
gpg: key 172B5989FCD21EF8: "CF CLI Team<EMAIL_ADDRESS>not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
pub   rsa4096 2018-09-13 [SC] [expired: 2024-09-10]
uid           [ expired] CF CLI Team<EMAIL_ADDRESS>

I'm encountering an issue too:
Err:8 https://cf-cli-debian-repo.s3.amazonaws.com stable InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 172B5989FCD21EF8
Reading package lists... Done
W: GPG error: https://cf-cli-debian-repo.s3.amazonaws.com stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 172B5989FCD21EF8
E: The repository 'https://packages.cloudfoundry.org/debian stable InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.