python3Packages.kerbrute: init at 0.0.2

Motivation for this change
add setuptools to python3Packages.impacket which used to cause from impacket import verison failed.
add python3Packages.kerbroute
related to #81418
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 via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.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

[X] Fits CONTRIBUTING.md.

CC @SuperSandro2000

Result of nixpkgs-review pr 138028 at 32cc2bb8 run on x86_64-linux 1

8 packages built successfully:

enum4linux-ng
python38Packages.impacket
python38Packages.kerbroute
python38Packages.lsassy
python38Packages.patator
python39Packages.impacket
python39Packages.kerbroute
python39Packages.lsassy

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

7 packages built:

enum4linux-ng
kerbrute
python38Packages.impacket
python38Packages.lsassy
python38Packages.patator
python39Packages.impacket
python39Packages.lsassy

The commit message should be adjusted:
kerbrute: init at 0.0.2


Shortcut Guide should fade out instead of instantly disappearing when you release the Windows key

Environment
Windows build number: 10.0.18362.388
PowerToys version: 0.11.0
PowerToy module for which you are reporting the bug (if applicable): Shortcut Guide

Steps to reproduce
Hold the Windows key until Shortcut Guide appears and then release. Notice the way it disappears compared to when it appears.

Expected behavior
Shortcut Guide fades out similar to how it fades in

Actual behavior
Shortcut Guide disappears instantly

Screenshots

Great suggestion!

No luck on the solution yet?

No changes to the current SCG are planned. The new SCG will be a complete different application https://github.com/microsoft/PowerToys/issues/890


add license file, copy paste from torch/torch7

@andresy @soumith @clementfarabet
I just copy/pasted the copyright file from torch7, but just to make sure everyone is happy with it.

thanks Koray.


Proposal: Add thanos meta component to improve scaling efficiency for accessing object storage in Thanos store and compactor components.

Is your proposal related to a problem?
Scalability issue of Thanos store/compactor with object storage metadata. Too many requests to object storage result in higher costs and performance bottlenecks.
In Thanos components, interactions with object storage are independent, relying on regular synchronization to obtain the latest metadata.
It works perfectly with a small number of blocks but faces higher costs and bottlenecks for object storage due to a large number of list block requests when horizontal scaling is required.
Usually, the store is sharded by time and external labels when horizontal scaling, it need more thanos store instance and lead more requests to object store.
In our large Thanos workloads, list block takes 4 minutes, make 1 Billon reuqests to object store monthly.
{"caller":"fetcher.go:324","component":"block.BaseFetcher","concurrency":20,"level":"debug","msg":"fetching meta data","ts":"2023-06-23T01:29:57.133911274Z"}
{"cached":1352239,"caller":"fetcher.go:475","component":"block.BaseFetcher","duration":"4m15.204989645s","duration_ms":255204,"level":"info","msg":"successfully synchronized block metadata","partial":1855,"returned":36310,"ts":"2023-06-23T01:34:12.338846142Z"}

Describe the solution you'd like
Add a Thanos meta component, which is optional and only needed for large-scale Thanos workloads. It is responsible for maintaining the block id list and block meta.json storage, providing a global view of blocks on object storage.
The Thanos meta component provides the following interfaces:

Write:

SetBlockMeta: Add block and set meta.json. Used by sidecar/receiver/ruler when uploading blocks.
DelBlockMeta: Delete block and meta.json. Used by compactor when clean up expired blocks.

Read:

ListBlocks: Get the block list, with optional time-based pagination. Used by store/compator.
GetBlockMeta: Get the specified block's meta.json. Used by store/compator.

In my experience, Redis provides low-latency access performance and a rich data structure. Storing metadata in Redis is an efficient and persistent choice.
Storage space calculation:

Block id list only needs 26 (id) + 8 (timestamp) bytes. zset
Meta.json is approximately 300 bytes. string

Storing 1 million blocks only requires 334 * 1e6 = 334MB.
1GB of Redis monthly cost: 30 * 24 * $0.032 = 23 USD（AWS Redis Pricing)
1Billon requests to object store $0.032: 1e9 / 1000 * 0.005 USD = 5000 USD  （S3 pricing）
1GB of Redis is cheaper and more efficient than a large number of requests to object storage.
Additionaly, To solve the problem of initial metadata and potential inconsistencies between metadata storage and object storage, block listing can be scheduled regularly to object storage, but with a small number of requests.
Describe alternatives you've considered

Bucket cache.
current Bucket cache is very inefficient for metadata caching, it use a single string to store all the block id list, the cache value is big and can not hold single block read and write. bucket iter cache is not single-flight write.
https://github.com/thanos-io/thanos/blob/40e1b2d665afac702f41f5dce3500add142a2d99/pkg/store/cache/caching_bucket.go#L155-L165
A new package instead of  a new component.

What do you think about combining this with a Thanos Compactor planner? A planner seems like a natural fit for this. This would also reinforce almost a requirement to run a compactor against a bucket.


Support randomized simulators, with Maze in view

I added randomized simulation to Agents, Sarsa, and Concrete Sarsa, and updated all the agents.  Please have a look whether changes (under Files) make sense for you, and please check the performance of the learning on the maze example.  If you say that this is fine, I will merge.

Updated this PR to work with Scala 3  (so that it merges into the Scala 3 mainline).


[FEATURE REQUEST] Model Storage

Is your feature request related to a problem? Please describe.
Allow binary model storage for trained models
Describe the solution you'd like
A clear and concise description of what you want to happen:

a new class in the checkout objects which allows for binary storage of model blobs

@lantiga let's continue our discussion here.

@rlizzo Why did we close this?

Sorry that was a mistake!
The long and short of it is that I'm leaning more towards not implementing this. I'll post more comments about my rationale later, but me and Luca talked today and came to similar conclusions.

Ok. so for reference, I've decided (with input from @lantiga) that we will not implement this inside of hangar. The rationale is this:

Keeping trained models alongside data in a hangar repository would be akin to adding compiled executables to commits alongside the code used to generate those executables in a Git repository.

Hangar's primary purpose is to act as a distributed version control system for "data". While this is extremely relevant to the machine learning community, it is not a "machine learning specific" utility. If we build in specialized containers which only apply to machine learning, they have to stay forever, and need to be maintained even when the next "big thing" comes out. It's a cycle that repeats forever, and is just not good design.

Repositories are meant to be shared, and we imagine that they will be open sourced in many cases (just like Git projects). Including binaries which are trained on a model with a specific purpose in mind is just bloat to someone who wants to fork or clone a repo and use the data contained in it in another application. Maybe the model would be useful to them, but most likely it's not. Using a project's repo as a dependency would get messy really quickly for anyone who wants to build on the project's data.

Sharing data in the open is an idea which most people seem to agree is good. Packaging a trained model binary file which resulted from a team's model code, compute/training time, AND the data itself may prevent users who deal with proprietary applications from using Hangar at all. Enterprise users are a group which need to (at the very least) be considered in fundamental design decisions.

Even if we did add a trained model container to Hangar, there's very little chance that it will be useful in the future, as it may require a specific machine learning framework version to execute (and which may not be supported, or even available in the future).

the only way to avoid this problem is to include the model code itself alongside the binary. At that point, it's way to complicated and specific a problem for a tool like Hangar (which just really knows about numerical bytes) to deal with itself.

For these reasons (and maybe a few more still in my head), Hangar will not create a custom container class to store machine learning models.
That being said, it's a very valid point that people don't want to retrain machine learning models if they want to go back in time. In the future, the supporters of the Hangar project [tensor]werk inc. will release a more focused tool to handle all of this. Some preliminary designs and ideas are in the works though the timeline for an open source alpha release is not yet know.
@hhsecond, is this a valid reason in your point of view? I'm open to hearing any counter arguments to this decision.

@rlizzo These points make absolute sense and keeping hangar a tool for "data" (only) is probably the best way of handling it as a project/product since hangar is designed to store numerical arrays. But, In that case, just hangar is going to be useful for a niche crowd because we are essentially trying to solve a problem which most of the people in the industry is not worried about or they are too big to use hangar (it might be just me, but this is what I have seen). That being said, I could see the absence of a tool like hangar as the reason organizations haven't done what you lay down in the above thread yet.

Hey @rlizzo and @hhsecond.
After sleeping on this, I think all we should still allow users to store binary blobs as a special case of the current functionality. Either store a blob as a dataset of one sample, where the sample is a byte array, or treat it as meta data (we may not be able to due to size considerations, not sure).
So, not have explicit support for models as a concept per se, but a way to store a blob if you're so inclined. The same way git does: it's not best practice, but you can still do it if you really want it.
Models as a concept will ideally come later in a separate tool that will manage lineage across source code, data, hyperparameters, trained models, etc. It's quite possible that it will share significant portions of its source code with hangar (e.g. the Merkle DAG thing).

@lantiga : I suppose blob stores are a fair compromise here. If we go that route, I would keep essentially the same conventions (and probably just use most of the code) we define for metadata, namely:

single level key value store where keys must be assigned a name by the user. Values must be raw bytes.
none of the intelligent diff/merge inference methods will be used like for numerical arrays. If there is a conflict in hash values, the user needs to fix it themselves.
performance should be reasonable for IO, but no guarantees that it is the most optimized key/value store out there (it's not)

The only reason this isn't totally trivial to implement is that Unlike metadata (which we define a limit for the size of values) my gut says we wouldn't store the blobs in lmdb directly as there is no concept of cross record value compression. It's not an issue for short strings, but it would be more desirable to pack and compress arbitrarily sized blobs together. We would basically be emulating what a Git pack file does. It wouldn't be hard to put together a nieve prototype, but its hard to do packs well...
Maybe that's premature though?
Of course we could provide the same partial clone semantics we are tooling for data records, but it's still very much in the works... I'm going to say for right now that I think it's needed and should be done. We just need to decide how much we care about disk space. If we don't, it's trivial, if we do, it's a project and I cannot see this getting to the top of my priority list anytime soon. (I think that even if you wanted to work on this, both if your time would be much better spent on user facing features)?
So... What are your thoughts? How important is this?

@hhsecond for the sake of not duplicating a bunch of documentation I've already written about the benefits of storing you data via the Hangar "philosophy", I'm going to point you to This Section Of the Docs.
Let me know if that addresses your point. It's extremely valid, and if the current explanations aren't clear or compelling enough I will make the time to improve the.

@rlizzo I have re-read the docs and here are my thoughts about the changes required. Let me know what do you think.
The Domain-Specific File Format Problem:

The benefit of keeping it in particular file format is intractability. With hangar, users are loosing it (to a great extent). We probably need to answer this concern in the doc (also, with import/export we could handle this)
Would be great if we can validate this statement with an example "there is an incredible amount of freedom (and power)"

Human & Computational Cost

It is not addressing the issue in a convincing way IMO. Even with hangar, they need to write the transformation pipeline (Yes, only once but it has to be written). The problem actually escalates with Hangar since the transformation code is not required for the rest of the steps in the deep learning workflow because we have transformed and saved the data in hangar. What if the old developer moves away and the new developer has no clue how the data is transformed to this stage where he has no access to the code used to make the transformation.

Others

"Standing on the shoulder of giants" -> we definitely need some examples here (I could make it up perhaps, but do let me know if you have some idea). Hangar under the hood explains the core of Hangar but probably not why Hangar and it's core data philosophy is better than other system in the market explicitly.
Is there a benefit from this "Two synced repositories can use completly different backends to store the data".

Reviving this thread. Especially with partial fetch, I still think we should provide the ability to store individual blobs and version them. In fact they would behave like single-tensor dsets, maybe with a dedicated data store that just writes the blob to disk as a file instead of relying on a HDF5 file.
Apart from this detail, we already have everything we need, we may only think about how to make it convenient from a UI perspective.
This would solve the model store problem with very little added complexity, with the benefit of partial fetching a certain version of a model.


Make it possible to to develop on devices thar aren't Macs.

Also change the test runners to use ubuntu-latest and use this feature.
Test: Manually tested

Actually maybe hold on with merging this. I think I have a better way of doing this.

OK, LGTMed it in case you decide to merge it

Better solution in PR #653 so closing.


Data Seeding: Add support for navigations

This depends on #9914

5 figures :trollface:

This was completely not on purpose. It just happens to be that I had to file 5 issues today.

I think this is the first repo in the 'aspnet' org with this number of issues. Do we celebrate?

Is there really no workaround till you're busy implementing?

@iamkarlson The workaround is to specify the foreign key values. See https://docs.microsoft.com/en-us/ef/core/modeling/data-seeding

@AndriySvyryd Thanks, actually I did how you said but the problem was that even an empty list raises such error. I had to manually set it to null after my lazy loading.

@iamkarlson that sounds like a different issue. Could you file it separately and include a small repro?

Do you mind if I attach #12688 to that, just to make sure it won't be missed when you complete this task?

I still don't know what is the scenario in #12688

While both #12004 and #12688 are closed, isn't it the right time to work on this issue?

Guys, any ideas about a timeline for this feature?

It's in the backlog, so it probably will be done after 2019. Remember to vote :+1: for features you'd like us to prioritize.
@iamkarlson If you just want it to not throw for empty collections please file a new issue.

I find this issue very annoying, I have an owned entity that I want to set its property at the parent to auto-initialize if null:
class Contact
{
  public int Id { get; set; }

  Address _Address;
  public Address Address
  {
    get => _Address ??= new Address { /*tried this too*/ ContactId = Id };
    set => _Address = value;
  }
}

When adding the parent as HasData  I get the following exception:

System.InvalidOperationException: 'The seed entity for entity type 'Contact' with the key value 'Id:3' cannot be added because it has the navigation 'Address' set. To seed relationships you need to add the related entity seed to 'Address' and specify the foreign key values {'ContactId'}.'

Would love to see this functionality enabled, so we can use auto-initialized properties in entities.

Solution was adding the parent entity as anonymous class:
modelBuilder.Entity<Contact>().HasData(new { ... });

is there any update on this feature? Seems for me like there's not much sense in Seeding mechanism if we need to use anonymous classes for all owned properties. It's much easier to use oldfashioned manual seeding on startup, isn't it?

@Unders0n While data in the model can be useful, I would agree that manual seeding on startup is often a better approach.

Any update on when you plan to add this? For configuration data that should be only changed with the source code having data seeding is very useful, but having to depend on anonymous types is error prone and less readable

@ggonzalez94 This issue is in the Backlog milestone. This means that it is not planned for the next release (EF Core 5.0). We will re-assess the backlog following the this release and consider this item at that time. However, keep in mind that there are many other high priority features with which it will be competing for resources.

Any workaround for optional relationships?

Any workaround for optional relationships?

How is there still no update for this 5 years later?

So many github issues linked to this, and depend on this.
It passed so many years.
It is still tagged as consider for current release.
Any update on this?


support node 18+ and add support for import attribute

Use import attribute for Node v18.20, Node v20.10 or > Node v20 and above. Related to #24
Support only node 18+
Update typescript across all packages to ^5.5.0

Changes LGTM, only windows cover image test is failing (as expected)


BUG: Curve Leverage Lending Bot - Leverage value missed from the contract

Leverage value missed from the contract, so not available on ABI. See the picture below.  See Discussion: https://discord.com/channels/987730379182051408/1164263785956134992/1182885503532544090

I will add leverage parameter in the contract.

@wc117 if this is done, will you please add the PR to the repo? https://github.com/VolumeFi/curve-leverage-lending-bot-vyper

This is done. But there is a bug in the contract and I am debugging it. After that, I will share the PR here. @verabehr

https://github.com/VolumeFi/curve-leverage-lending-bot-vyper/pull/3


Installed with CocoaPods in Xcode 15 beta 6 can not build module 'WebKit'

When installed this pod with CocoaPods in Xcode 15 beta 6, can not pass build with error " Could not build module 'WebKit' ".
While drag files into project directly works well.
It seems like the WebKit new APIs for iOS 17 cannot be correctly linked.
#if ((TARGET_OS_OSX && __MAC_OS_X_VERSION_MAX_ALLOWED >= 140000) \
    || ((TARGET_OS_IOS || TARGET_OS_MACCATALYST) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 170000) \
    || (TARGET_OS_WATCH && __WATCH_OS_VERSION_MAX_ALLOWED >= 100000) \
    || (TARGET_OS_TV && __TV_OS_VERSION_MAX_ALLOWED >= 170000))
/*! @abstract Gets or sets the proxy configurations to be used to override networking in all WKWebViews that use this WKWebsiteDataStore.
 @discussion Changing the proxy configurations might interupt current networking operations in any WKWebView that use this WKWebsiteDataStore,
 so it is encouraged to finish setting the proxy configurations before starting any page loads.
*/
@property (nullable, nonatomic, copy) NSArray<nw_proxy_config_t> *proxyConfigurations NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(14.0), ios(17.0));
#endif

The type nw_proxy_config_t declared in Network.framework cannot be found correctly in WebKit header file WKWebsiteDataStore.h
I have tried add dependency of Network.framework for pod target in Build Phase, but still not working.
Is there anyone meets the same error and solved this?

Have the same issue here 🙁

Have the same issue here 🙁

Update iOS version to greater than 5 in podspec and pod install again can fix this issue.
Ex: s.platforms = { :ios => "11.0", :osx => "" }

Try this.
open /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.0.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataStore.h, change __IPHONE_OS_VERSION_MAX_ALLOWED to 180000

to @yyks999, this file does not exists(on my Mac). And I´ve got the current error that I can't download cocoa pods: "ERROR: Failed to build gem native extension." I´ve got the macOS Release Candidate, I had to uninstall cocoa pods and now I can not download it anymore.
Could anyone help me?

Try this
open /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.0.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataStore.h, change __IPHONE_OS_VERSION_MAX_ALLOWED to 180000

how can I edit that file with? I tried with Xcode but I can't edit it.

@KhamHti sudo nano /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.0.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataStore.h

@KhamHti sudo nano /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.0.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataStore.h
Use arrow keys to navigate and change the value of __IPHONE_OS_VERSION_MAX_ALLOWED to 180000 and hit Ctrl + O -> hit Enter/Return -> hit Ctrl + X -> hit Enter/Return

I tried it but it seems that I do not have the permission to modify this file :
[ Cannot open file for writing: Operation not permitted ]
I tried to add write access to file without success with a sudo chmod u+w

改成源代码集成，而不是CocoaPods。或者把podspec里面的依赖版本提高一下。


Rename TestChain field LastHeader to LatestCommittedHeader

Summary
Rename TestChain field LastHeader to LatestCommittedHeader
The testing package keeps track of what is currently called the last header and a current header. In reality, these are the latest committed header and the current uncommitted header. I propose we make these fields more explicitly named as reading the testing code can get confusing if you don't have the distinction between committed and uncommitted, otherwise you may think that if the current header is 6, then it's block state is considered committed

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged/assigned

@colin-axner can I work on this issue?

go for it @chandiniv1!


MacOS support

All current work has been done on Linux. MacOS support shouldn't be too hard, given that it is still a Unix-like OS.
Although we could likely use homebrew to install the dependencies, I think it would be better to not do that, since that will give us a test that Meson builds all of it's own dependencies without a chance of accidentally getting headers from /usr/include, which helps to catch cases were headers are needed but explicitly given

I was able to build this on macOS and run the tests successfully without modification. What else is required to fully support macOS?

A CI job would be nice.
#31 doesn't implement the Windows or MacOS paths, just the *nix ones, so that would need to be added. I'm starting to rebase that now

We'll need to get someone to sponsor CI or we'll have to be judicious about our CI fan-out on every commit, but I agree that we need automated testing.
Seems like running a weekly job for every supported configuration is the minimum requirement.

I do have https://github.com/cps-org/cps-config/pull/52, which should help with CI usage


wireguardserver generateToken request failed non 200 status code - Trying to get PIA token

Hi,
Just trying this and I've added my PIA username, password, regionID and opensense Key & Secret to PIAWireguard.py
I've restarted configd
When I /conf/PIAWireguard.py debug  I get:
WGInstanceUUID: XXXXXXXXXX
WGPeerUUID: XXXXXXXXXXXXXX
WGInstance: XXXXXXXXXXX
WGPeer: XXXXXXXXXXXXXX
metaServer
[{'ip': '<IP_ADDRESS>', 'cn': 'southampton405'}]
wgServer
[{'ip': '<IP_ADDRESS>', 'cn': 'southampton405'}]
wireguardserver generateToken request failed non 200 status code - Trying to get PIA token
All the XXXXXXXX entries have real values in them, but I've obscured them as I wasn't sure if they were private..
How do I resolve this ?
I've checked my PIA credentials are correct.
Thanks

Hello,
Same here on OPNSense 21.1.4
I'm wondering if this is a script issue or an API issue ?

Where you using a UK region?
If so, what did you change to ?
Thanks

I was on nl_amsterdam and tried montenegro and sweden and it was ok.

Thanks, I'll try a couple of different servers :)

Hey, Where have you lot got with the testing?
Sorry for the delay, was putting in network cables.

Just doing some testing, I got the issue with london402 and london405, but london434 and london403 was ok. Shall see testing, and sees what's going on, its getting bad gateway. Looks to be PIA side but shall investigate.

Update: This issue is PIA and they have been notified.

That seemed to be only on geoblocked servers ?

Issue should now be fixed on all regions now. Closing issue, please reopen if issue is still happening.


Captions are not drawn relative to model origin

Maybe this is working as intended, but I found it surprising.
Steps to reproduce

Write a script with a top-level model that includes sub-models with captions. For example:

var m = require("makerjs");

function box1() {
  return {
    paths: {},
    origin: [0, 0],
    models: {
      inner: new m.models.Rectangle(10, 10)
    },
    caption: {
      text: "B1",
      anchor: new m.paths.Line([5, 5], [5, 5])
    }
  };
}

function box2() {
  return {
    paths: {},
    origin: [11, 0],
    models: {
      inner: new m.models.Rectangle(10, 10)
    },
    caption: {
      text: "B2",
      anchor: new m.paths.Line([5, 5], [5, 5])
    }
  };
}

function main() {
  return {
    paths: {},
    models: {
      box1: box1(),
      box2: box2()
    }
  };
}

module.exports = main();

Render the script in the playground or with SVG.

Expected result
Each caption is in the middle of its box.
Actual result
Captions are displayed on top of each other.
Workaround
Calling originate() on the overall model puts the captions into their proper places:
function main() {
  return originate({
    paths: {},
    models: {
      box1: box1(),
      box2: box2()
    }
  });
}

Commentary
I think this is very confusing, considering everything else is drawn relative to the model's origin.
If I put the caption in its own sub-model, then it works as I expected:
function box2() {
  return {
    paths: {},
    origin: [11, 0],
    models: {
      inner: new m.models.Rectangle(10, 10),
      cap: {
        caption: {
          text: "B2",
          anchor: new m.paths.Line([5, 5], [5, 5])
        }
      }
    }
  };
}

Is this the intended use case? If so addCaption is a little weird for not doing it that way.

Thanks for pointing this out @hjfreyer - I believe your expectation is correct, I'll take a look.


Array containing vector and tuple crashes show

a = [Vector(1,2,3), (1,2,3)]
show_all()

I feel it is the right decision to raise an exception.
What should do you expect to happen? Silently assuming the since it is a 3-dim tuple that it is a Vector?
I think I'd prefer raising an exception and the developer should take care to convert a tuple to a Vector. Since Vector(Vector), this can be done without effort

I agree that it would be a reasonable behavior to throw an error for show([Vector, Tuple]), but I think that does not extend to a=[Vector, Tuple]; show_all(). Since show_all attempts to process all in scope variables, you are expecting of the user to ensure every single variable that happens to exist to conform to the requirements of your code (how is the user supposed to know that a stray list in the format [Vector, Tuple] is going to cause the program to error out while any other combination works fine, as shown below. They might not even be attempting to show that list, it just happens to exist somewhere in their source file and now its giving an error) . show_all should just ignore invalid variables rather than throw an error or at most give a warning.

a = [Vector(1,2,3), Vector(1,2,3)]
show_all()

ok

a = [(1,2,3),(1,2,3)]
show_all()

ok

a = [(1,2,3), Vector(1,2,3)]
show_all()

ok

a = [Vector(1,2,3), (1,2,3)]
show_all()

RuntimeError: Cannot transform 1(<class 'int'>) to OCP

Makes sense.
I added a conversion:
with BuildPart() as p:
    Box(1,1,1)

a = {
    "a": Vector(1, 2, 3),
    "b": [
        Pos(2, 2, 2) * Cylinder(1, 1),
        (1,2,3),
        p,
        p.part,
        {"c": Vector(5, 2, 3), "d": Pos(-3, 0, 0) * Box(1, 2, 3), "e": 123},
    ],
}

show(a)

will now show

and the output is
Unknown type <class 'tuple'> for name b[1]
Unknown type <class 'int'> for name e

As you can see the unknow types are simply excluded in the viewer

fixed in 2.2.2


General ticket for Array/List data type

Is your feature request related to a problem or challenge?
This is a common ticket for all other tickets.
The ticket was created for the next purposes:

Track the progress of implementing array functions
Group issues by category
Helps developers better understand problem selection

Describe the solution you'd like
Tickets:
Array creating:

https://github.com/apache/arrow-datafusion/issues/6808
https://github.com/apache/arrow-datafusion/issues/6556
https://github.com/apache/arrow-datafusion/issues/6561
https://github.com/apache/arrow-datafusion/issues/6887
https://github.com/apache/arrow-datafusion/issues/6993

Array functions:

https://github.com/apache/arrow-datafusion/issues/6779
https://github.com/apache/arrow-datafusion/issues/6560
https://github.com/apache/arrow-datafusion/issues/6555
https://github.com/apache/arrow-datafusion/issues/6804
https://github.com/apache/arrow-datafusion/issues/6557
https://github.com/apache/arrow-datafusion/issues/6119
https://github.com/apache/arrow-datafusion/issues/6075
https://github.com/apache/arrow-datafusion/issues/6849
https://github.com/apache/arrow-datafusion/issues/6972
https://github.com/apache/arrow-datafusion/issues/6992

Array operators:

https://github.com/apache/arrow-datafusion/issues/6806
https://github.com/apache/arrow-datafusion/issues/6603
https://github.com/apache/arrow-datafusion/issues/6884

Cast:

https://github.com/apache/arrow-datafusion/issues/6558

Concept:

https://github.com/apache/arrow-datafusion/issues/6980
https://github.com/apache/arrow-datafusion/issues/6973
https://github.com/apache/arrow-datafusion/issues/6974
https://github.com/apache/arrow-datafusion/issues/6975
https://github.com/apache/arrow-datafusion/issues/6976
https://github.com/apache/arrow-datafusion/issues/6977
https://github.com/apache/arrow-datafusion/issues/6978
https://github.com/apache/arrow-datafusion/issues/6979
https://github.com/apache/arrow-datafusion/issues/6981

Other:

https://github.com/apache/arrow-datafusion/issues/6985
https://github.com/apache/arrow-datafusion/issues/6602
https://github.com/apache/arrow-datafusion/issues/6559
https://github.com/apache/arrow-datafusion/issues/6961
https://github.com/apache/arrow-datafusion/issues/7146
https://github.com/apache/arrow-datafusion/issues/7147

Discussions:

https://github.com/apache/arrow-datafusion/discussions/6855

Describe alternatives you've considered
Additional context

https://github.com/apache/arrow-datafusion/issues/6980
https://github.com/apache/arrow-datafusion/issues/2326
https://github.com/apache/arrow-datafusion/issues/6780

Any idea whether aggregations on array elements are covered in this epic? I had no success so far:
> select max(unnest([1,3,5]));
type_coercion
caused by
Internal error: Unnest should be rewritten to LogicalPlan::Unnest before type coercion.
This was likely caused by a bug in DataFusion's code and we would welcome that you file an bug report in our issue tracker

Yes! But since we are working on strengthening existing function, so not
yet works on these.
On Fri, May 3, 2024, 11:50 AM Alexander Hirner @.***>
wrote:

Any idea whether aggregations on array elements are covered in this epic?
I had no success so far:

select max(unnest([1,3,5]));
type_coercion
caused by
Internal error: Unnest should be rewritten to LogicalPlan::Unnest before type coercion.
This was likely caused by a bug in DataFusion's code and we would welcome that you file an bug report in our issue tracker

—
Reply to this email directly, view it on GitHub
https://github.com/apache/datafusion/issues/6863#issuecomment-2092073806,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADZCLR4DOSM7XTQZL2F5CDLZAMCQ7AVCNFSM6AAAAAA2AGNMUKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJSGA3TGOBQGY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


[ODS-4403] Repositories branch changes

I fixed conflict issue by using "Accept all current changes "


Webclient timer stops when set matchtime is getting negative

Describe the bug
Webclient timer stops when set matchtime is getting negative
To Reproduce

Start a Match
Click set matchtime
Make the remaining time negative
make it positive again
Finish
The matchtimer will not run anymore.

Expected behavior
A clear and concise description of what you expected to happen.

Fixed in v2


Conflicting dependencies

When trying to install the dependencies with
pip install -r requirements.txt
several errors concerning conflicting dependencies are raised.

Hi @giuseta, could you please send more details, e.g. operating system, Python version, pip version, output returned. Thanks.

Operating System: Ubuntu 20.10
Pip version: 22.0.4
Python version: 3.8.10
Output:
ERROR: Cannot install -r requirements.txt (line 21), -r requirements.txt (line 22) and grpcio==1.27.2 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested grpcio==1.27.2
    tensorboard 2.1.0 depends on grpcio>=1.24.3
    tensorflow 2.4.0 depends on grpcio~=1.32.0

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts


Fix 623

This PR fixes #623: save to solution and save to disk callbacks should be orthogonal. I've also added a test to make sure that this doesn't show up again.

bors r+


LDAP integration does it support ldaps or https protocol

@Team,
Could you please suggest me?
We are implementing the LDAP integration with hygieia dashboard. In application.properties file
Can we use ldaps or https protocol instead of ldap protocol.
Regards,
Gokul k

@gokulknewt It supports both ldap and ldaps. For AD support you can try https://github.com/capitalone/Hygieia/pull/1374

@gokulknewt Try latest codebase and reopen if still an issue.

@Satishc1,
Thank you satish..One more quick clarification...
I taken the latest code.To connect the active directory our Active directory uname and paswword it will ask.For that how to define auth.ldapUserDnPattern from properties file.
LDAP directory located at below this conf..
auth.ldapServerUrl=ldap://dc1.qcorpaa.aa.com:389
auth.ldapUserDnPattern= ???(We have a clarification on userdn pattern.Also how to define uname p/w here )

@gokulknewt comment out auth.ldapUserDnPattern. Only set  auth.ldapServerUrl and  auth.adDomain and auth.adRootDn

@Satishc1, I have comment out the auth.ldapUserDnPattern. To connect the active directory we have to pass username and passowrd.Where we have to define and pass.Could you explore me?

@Satishc1,Thanks for you support.Now we are able to connect the Active directory Using LDAPS proctocol.
Thank Much..:)

@gokulknewt Good to know you are able to connect to AD using ldaps.

@satishc1 same problem for me
I have comment out the auth.ldapUserDnPattern.
"To connect the active directory we have to pass username and passowrd.Where we have to define and pass.Could you explore me?"
could you please comment on above double coted sentence
regards,
Chinna


Chill_The_Lion_Game Added

PR Description 📜
#1679

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[x] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @Kalivarapubindusree ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

remove other game files and also make sure you have to use the image for your game thumbnail !! 👀

Thank you  @Kalivarapubindusree , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Investigate dotnet language worker integration tests failures in Functions V3 for 9/21/22

Investigate DotNet language worker tests failures in Functions V3 for 9/21/22
Here is the link to the pipeline executions with the test failures:
https://azfunc.visualstudio.com/Azure Functions/_build/results?buildId=96326&view=ms.vss-test-web.build-test-results-tab

@Francisco-Gamino and I looked into this - the issue is that we have only one E2E test app that runs only one version of Functions. The v3 pipeline was attempting to test a v4 app.

Discussed in design meeting earlier this month - will start implementing it this sprint.


BSO mythical cape won't show in bank when you type "=b Mythical Cape" command

🐛 Bug Report
I went through my bank with =b --full --text and found the Mythical cape: 1, but when I type =b Mythical Cape in chat it says x0.
MARYSVILLE B T W

It looks like there are multiple items in the Jagex database with the name "mythical cape", and doing "=b mythical cape" only looks for one of those (I believe it is the bolded one it searches for). So you probably have the other item number.

You should be able to do =b t,[item number] to see which variant you have. Probably not incredibly helpful because you likely wouldn't be able to use it, but at least you would know :)

You should be able to do =b t,[item number] to see which variant you have. Probably not incredibly helpful because you likely wouldn't be able to use it, but at least you would know :)

I actually equipped it and it works, and has correct stats. Thanks for the reply :)


If comment starts with more of one comment char

Some cfg can use more of one comment chars like BepinEx cfg and it's plugins cfg. With using SharpConfig line starting with ## it is comment will be saved as # # it is comment. It is not breaking any and just cosmetic thing.

This is going to be fixed with the next version.

Have it fixed now?


Test samples from places365

Hello! Thank you for your excellent work and I wonder about the test samples used in the places365 experiment. Did you use all the 328500 samples from places365 or randomly sample 10000 images? If randomly sampling, can you provide the images' name list for experiment reproduction? Thank you!

Thank you for reaching out. Please refer to this issue.

Get. Thank you for your reply.


Fix "admin:admin" b64 encoding issue

I noticed that the base64 encoding of admin:admin has an extra = at the end which. This PR removes it so it decodes correctly.

Hi @kozmic !
First of all thank you so much for your PR. This will be the first PR submission for the project and I really appreciate it and look forward to more of your submissions.
However, after checking the change made and doing some testing myself over live targets from Shodan I realised that the current entry seems just fine and removing an  = won't make a difference. Hence I do not think this change will be needed rn.
Let me know your thoughts about this and if you have any suggestions/feedback or questions, I also look forward to more PRs from you in future!
Cheers

Hey,
If it doesn't change anything on live targets, I see no reason to change it :) So I'll self-close this issue. Thanks for creating a nice tool!


chore: release main

:robot: I have created a release beep boop
ui5-cc-spreadsheetimporter: 0.26.1
0.26.1 (2023-09-30)
Bug Fixes

event attachment of componentContainer (#372) (5f71366)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/marianfoo/ui5-cc-spreadsheetimporter/releases/tag/ui5-cc-spreadsheetimporter-v0.26.1 :sunflower:


'GeoAxesSubplot' object has no attribute '_autoscaleXon' issue with cartopy

Notebook 12-xarray-advanced.ipynb returns issue with cartopy:
import cartopy
import cartopy.crs as ccrs

fig = plt.figure(figsize=(9,6))
ax = plt.axes(projection=ccrs.PlateCarree())

ax.add_feature(cartopy.feature.BORDERS, linestyle=':')
era5_mean_temp = era5["t2m"].mean(dim="time") - 273.15
era5_mean_temp.plot.imshow(ax=ax, cmap="coolwarm",
                           transform=ccrs.PlateCarree(),
                           cbar_kwargs={'shrink': 0.65});

See https://github.com/SciTools/cartopy/issues/2086#issuecomment-1256677646, downgrading matplotlib to 3.5.2 fixes the issue.
@jorisvandenbossche  should we pin the matplotlib version for this edition?

Yeah, pinning matplotlib to <= 3.5 seems as the best solution for now until cartopy 0.21 can be installed without conflicts

closing this one, using current version of matplotlib no longer raises issue.


Take advantage of the index on "parents" in repair()

Summary
At work, when the "minion_jobs" table accumulated almost 1.5M rows satisfying the "Old jobs with no unresolved dependencies" condition, the workers hanged while trying to prune these rows.
After some research, I found this is related to the fact that the commit https://github.com/kraih/minion/commit/a42fae8a19439f1095c5b55bcca18f5b638a1ee3 which introduced the GIN index on minion_jobs.parents didn't touch the corresponding DELETE statement.
This PR takes care of that.
Motivation
The query plan for the query in question changes from
minion=> explain delete from minion_jobs as j  where finished <= now() - interval '1 second' * 172800 and not exists (   select 1 from minion_jobs     where j.id = ANY(parents)   ) and state = 'finished';
                                                    QUERY PLAN
-------------------------------------------------------------------------------------------------------------------
 Delete on minion_jobs j  (cost=6768.70..277557.06 rows=1 width=12)
   ->  Nested Loop Anti Join  (cost=6768.70..277557.06 rows=1 width=12)
         Join Filter: (j.id = ANY (minion_jobs.parents))
         ->  Bitmap Heap Scan on minion_jobs j  (cost=6768.70..130836.17 rows=1 width=14)
               Recheck Cond: (state = 'finished'::minion_state)
               Filter: (finished <= (now() - '48:00:00'::interval))
               ->  Bitmap Index Scan on minion_jobs_state_priority_id_idx  (cost=0.00..6768.70 rows=89636 width=0)
                     Index Cond: (state = 'finished'::minion_state)
         ->  Seq Scan on minion_jobs  (cost=0.00..141356.81 rows=1312381 width=19)
(9 rows)

(where a full scan on minion_jobs is done) to
minion=> explain delete from minion_jobs as j  where finished <= now() - interval '1 second' * 172800 and not exists (   select 1 from minion_jobs     where parents @> ARRAY[j.id]   ) and state = 'finished';
                                                    QUERY PLAN
-------------------------------------------------------------------------------------------------------------------
 Delete on minion_jobs j  (cost=9303.55..133374.32 rows=1 width=12)
   ->  Nested Loop Anti Join  (cost=9303.55..133374.32 rows=1 width=12)
         ->  Bitmap Heap Scan on minion_jobs j  (cost=6768.70..130836.17 rows=1 width=14)
               Recheck Cond: (state = 'finished'::minion_state)
               Filter: (finished <= (now() - '48:00:00'::interval))
               ->  Bitmap Index Scan on minion_jobs_state_priority_id_idx  (cost=0.00..6768.70 rows=89636 width=0)
                     Index Cond: (state = 'finished'::minion_state)
         ->  Bitmap Heap Scan on minion_jobs  (cost=2534.85..23924.54 rows=6562 width=19)
               Recheck Cond: (parents @> ARRAY[j.id])
               ->  Bitmap Index Scan on minion_jobs_parents_idx  (cost=0.00..2533.21 rows=6562 width=0)
                     Index Cond: (parents @> ARRAY[j.id])
(11 rows)

which uses the GIN index and seems faster in the few experiments I tried.
References
NONE YET

Curious that you would move that direction, IIUC the change you mention was effectively reverted later in https://github.com/kraih/minion/commit/64cde429bd32bfbebe625fba0c580a92e79f6003

That's correct @jberger, the index in question does not exist anymore.

While i'd like to improve performance of the repair method, i'm afraid this pull request does not work.

Sorry for not having been more careful to review all changes related to this index. However I was driven off course by a mixup that happened in the commits:

https://github.com/kraih/minion/commit/a42fae8a19439f1095c5b55bcca18f5b638a1ee3
( adds the index - schema revision 13 )

https://github.com/kraih/minion/commit/64cde429bd32bfbebe625fba0c580a92e79f6003
( drops the index - schema revision 14 )

https://github.com/kraih/minion/commit/d81cb2aa21567a849f7ce593b87a61b8c4668d23
( omits the previous "drop" - schema revision 15 )

The last change is why my db still had the index on minion_jobs.parents. (While updating, I went from 13 to 15 – and 14 was not there anymore to drop the index.)
That said I don't think giving up on this index was the right call. I am still testing but the index seems useful if used in the queries
# sub job_info {
'select id, args, attempts,
       array(select id from minion_jobs where parents @> ARRAY[j.id]) as children,
       extract(epoch from created) as created,
       extract(epoch from delayed) as delayed,
       extract(epoch from finished) as finished, parents, priority, queue,
       result, extract(epoch from retried) as retried, retries,
       extract(epoch from started) as started, state, task, worker
     from minion_jobs as j where id = ?',

# sub repair {
# Old jobs with no unresolved dependencies
"delete from minion_jobs as j
     where finished <= now() - interval '1 second' * ? and not exists (
       select 1 from minion_jobs
       where parents @> ARRAY[j.id] and state <> 'finished'
     ) and state = 'finished'",

Using j.id = any(parents) instead of parents @> ARRAY[j.id] seems to require full scans of "minion_jobs" while the above use the index in the query plans.
On the other hand, the queries below are better left as they are, since they use the primary key index on the subqueries and look efficient enough.
# sub repair {
"update minion_jobs as j
     set finished = now(), result = to_json('Parent went away'::text),
       state = 'failed'
     where parents <> '{}' and cardinality(parents) <> (
       select count(*) from minion_jobs where id = any (j.parents)
     ) and state = 'inactive'",

# sub _try {
# Jobs with missing parents (can't be retried)
"update minion_jobs
     set started = now(), state = 'active', worker = ?
     where id = (
       select id from minion_jobs as j
       where delayed <= now() and (parents = '{}' or cardinality(parents) = (
         select count(*) from minion_jobs
         where id = any(j.parents) and state = 'finished'
       )) and queue = any(?) and state = 'inactive' and task = any(?)
       order by priority desc, id
       limit 1
       for update skip locked
     )
     returning id, args, retries, task"

We are going to need a test case to verify that bringing back the index is indeed worth it. Some script that generates test data and then runs queries against the data.

I'm all for making repair and job_info faster, but this went very wrong before and we need to be more careful now.

Btw. this is why the index got removed. https://irclog.perlgeek.de/mojo/2017-03-14#i_14262439

I've opened a new issue for planning these optimizations. https://github.com/kraih/minion/issues/52


more on calendar views

split into separate components
synchronisation to router

this change does currently not connect to http://localhost:9000 in dev mode.


User-reported unhelpful error message

Program: https://code.world/#P1B2M2Y8AsgTpgAmY7PhCfg
Message:
program.hs:1:1: error:
    The variable program is not defined in your code

No code at all.  Not a real attempt.


fix: add max depth limit and max edges limit

This supersedes https://github.com/davidmarkclements/fast-safe-stringify/pull/51 by updating the branch to integrate the latest master changes and undoing some unnecessary changes.
See original PR for implementation details

Is there any performance regression in landing this?

Benchmark results look good to me ✔
On this branch
simone@X86 MINGW64 /n/os/fast-safe-stringify (limit-option)
$ npm run benchmark

><EMAIL_ADDRESS>benchmark N:\os\fast-safe-stringify
> node benchmark.js

util.inspect:          simple object                  x 207,141 ops/sec ±2.31% (89 runs sampled)
util.inspect:          circular                       x 88,762 ops/sec ±4.45% (83 runs sampled)
util.inspect:          circular getters               x 98,280 ops/sec ±1.05% (91 runs sampled)
util.inspect:          deep                           x 7,326 ops/sec ±1.23% (89 runs sampled)
util.inspect:          deep circular                  x 7,267 ops/sec ±1.44% (91 runs sampled)
util.inspect:          large deep circular getters    x 5,054 ops/sec ±2.82% (87 runs sampled)
util.inspect:          deep non-conf circular getters x 7,338 ops/sec ±1.05% (90 runs sampled)

json-stringify-safe:   simple object                  x 205,854 ops/sec ±2.88% (82 runs sampled)
json-stringify-safe:   circular                       x 104,300 ops/sec ±1.74% (92 runs sampled)
json-stringify-safe:   circular getters               x 102,861 ops/sec ±3.75% (90 runs sampled)
json-stringify-safe:   deep                           x 8,423 ops/sec ±0.99% (91 runs sampled)
json-stringify-safe:   deep circular                  x 8,028 ops/sec ±2.18% (89 runs sampled)
json-stringify-safe:   large deep circular getters    x 293 ops/sec ±2.83% (81 runs sampled)
json-stringify-safe:   deep non-conf circular getters x 8,027 ops/sec ±0.85% (91 runs sampled)

fast-safe-stringify:   simple object                  x 1,042,603 ops/sec ±2.35% (87 runs sampled)
fast-safe-stringify:   circular                       x 434,144 ops/sec ±0.98% (86 runs sampled)
fast-safe-stringify:   circular getters               x 433,646 ops/sec ±1.25% (89 runs sampled)
fast-safe-stringify:   deep                           x 23,648 ops/sec ±3.62% (88 runs sampled)
fast-safe-stringify:   deep circular                  x 24,564 ops/sec ±1.18% (90 runs sampled)
fast-safe-stringify:   large deep circular getters    x 1,047 ops/sec ±1.35% (91 runs sampled)
fast-safe-stringify:   deep non-conf circular getters x 11,314 ops/sec ±1.20% (85 runs sampled)

Fastest is
fast-safe-stringify:   simple object

On master
simone@X86 MINGW64 /n/os/fast-safe-stringify (master)
$ npm run benchmark

><EMAIL_ADDRESS>benchmark N:\os\fast-safe-stringify
> node benchmark.js

util.inspect:          simple object                  x 208,739 ops/sec ±1.87% (88 runs sampled)
util.inspect:          circular                       x 91,703 ops/sec ±2.86% (85 runs sampled)
util.inspect:          circular getters               x 88,827 ops/sec ±4.73% (81 runs sampled)
util.inspect:          deep                           x 7,226 ops/sec ±1.69% (88 runs sampled)
util.inspect:          deep circular                  x 7,072 ops/sec ±1.27% (91 runs sampled)
util.inspect:          large deep circular getters    x 5,091 ops/sec ±1.57% (87 runs sampled)
util.inspect:          deep non-conf circular getters x 7,299 ops/sec ±1.39% (89 runs sampled)

json-stringify-safe:   simple object                  x 218,630 ops/sec ±1.53% (90 runs sampled)
json-stringify-safe:   circular                       x 92,882 ops/sec ±2.86% (80 runs sampled)
json-stringify-safe:   circular getters               x 94,241 ops/sec ±2.27% (83 runs sampled)
json-stringify-safe:   deep                           x 5,024 ops/sec ±8.40% (60 runs sampled)
json-stringify-safe:   deep circular                  x 6,733 ops/sec ±4.80% (81 runs sampled)
json-stringify-safe:   large deep circular getters    x 280 ops/sec ±2.73% (77 runs sampled)
json-stringify-safe:   deep non-conf circular getters x 5,987 ops/sec ±4.08% (71 runs sampled)

fast-safe-stringify:   simple object                  x 848,946 ops/sec ±3.60% (74 runs sampled)
fast-safe-stringify:   circular                       x 320,895 ops/sec ±4.62% (72 runs sampled)
fast-safe-stringify:   circular getters               x 390,152 ops/sec ±3.34% (81 runs sampled)
fast-safe-stringify:   deep                           x 21,731 ops/sec ±2.64% (81 runs sampled)
fast-safe-stringify:   deep circular                  x 18,851 ops/sec ±4.60% (73 runs sampled)
fast-safe-stringify:   large deep circular getters    x 640 ops/sec ±5.48% (67 runs sampled)
fast-safe-stringify:   deep non-conf circular getters x 9,186 ops/sec ±4.92% (77 runs sampled)

Fastest is
fast-safe-stringify:   simple object


Is the gate same at each layer?

Hi, thanks for the TF implementations for paper BERT-of-Theseus. I am reproducing the results of BERT-of-Theseus and I have a question about the gate implementations. From the logic here, it seems that the gates are the same at each successor layer for one minibatch, which means layers of the model are ALL from either original BERT or the successor. But the proposed BERT-of-Theseus states that just some of the original layers (not all, initially) are replaced with successor layers. Is it a bug or my misunderstanding? Thank you!

yes,the best implementation is dynamically applying different gate prob for different data. but for the bad mechanism of tf.estimator ,it is really hard to do so. If you are using tf 2.0 or pytorch ,you can implement it as your method

Hi, thanks for the TF implementations for paper BERT-of-Theseus. I am reproducing the results of BERT-of-Theseus and I have a question about the gate implementations. From the logic here, it seems that the gates are the same at each successor layer for one minibatch, which means layers of the model are ALL from either original BERT or the successor. But the proposed BERT-of-Theseus states that just some of the original layers (not all, initially) are replaced with successor layers. Is it a bug or my misunderstanding? Thank you!

yes,the best implementation is dynamically applying different gate prob for different data. but for the bad mechanism of tf.estimator ,it is really hard to do so. If you are using tf 2.0 or pytorch ,you can implement it as your method

Hi, thanks for the TF implementations for paper BERT-of-Theseus. I am reproducing the results of BERT-of-Theseus and I have a question about the gate implementations. From the logic here, it seems that the gates are the same at each successor layer for one minibatch, which means layers of the model are ALL from either original BERT or the successor. But the proposed BERT-of-Theseus states that just some of the original layers (not all, initially) are replaced with successor layers. Is it a bug or my misunderstanding? Thank you!

sorry , i have misunderstood your question. my bad!!!
you're right ,i have upload the wrong code for using same gate for all layers. i have modified the code and commit on the master branch

Thanks for addressing my question. Closing this issue.


Submitting Pre-work Task for RoR class CoderSchool

Here is my completed work of first app ! Thank you.
@coderschoolreview

Thank you for your Rails submission, PhanVanTrung!
:laughing: Everything looks good with the format of your submission. We'll be reviewing your submission soon!

Thank you in advance :stuck_out_tongue_winking_eye:

Hi @PhanVanTrung
Thanks for your submitting. Good work :thumbsup:.
In summary, your submission is good.
And below are some suggestions that can improve your blog:

You should render the article detail page with RedCarpet too.
For better result, your searching feature should query with case insensitive.
You should not allow user to update/delete the article about yourself.
For the better performance and UX, you can use kaminari gem for pagination.
Always be cautious with user input, you can use Active Record Validations to validate.

Let us know if you have any questions by commenting here or sending us an email to<EMAIL_ADDRESS>/cc @coderschoolreview @harley


Fix a broken CI test

This PR fixes the following failures.
https://travis-ci.org/bbatsov/rubocop/jobs/342921848#L913-L937
It seems that it was caused by the trailing space being added at the following commit.
https://github.com/bbatsov/rubocop/pull/5569/commits/5911eeeb7e27d10f981fece6d67625a7b5dfc628

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run rake default or rake parallel. It executes all tests and RuboCop for itself, and generates the documentation.

And this PR fixes the following error.
https://travis-ci.org/bbatsov/rubocop/jobs/343218457#L950
It is caused by deprecation of Parser::Source::Rewriter since Parser <IP_ADDRESS>.
https://github.com/whitequark/parser/blob/master/CHANGELOG.md#v2500-2018-02-16
I tried replacing Parser::Source::Rewriter with Parser::Source::TreeRewriter
I saw it but they seem to be incompatible.
https://travis-ci.org/bbatsov/rubocop/builds/343225605
In this PR, the dependent Parser is set to < 2.5 as a workaround.
The above commit is a workaround to this PR to pass CI, but that commit is independent because reason for change is different.

I tried replacing Parser::Source::Rewriter with Parser::Source::TreeRewriter

That's bad and should be escalated to parser's team. I recall @whitequark asked explicitly for this to be test with RuboCop...

I get it. Thanks for the advise!

I tried replacing Parser::Source::Rewriter with Parser::Source::TreeRewriter

That's bad and should be escalated to parser's team. I recall @whitequark asked explicitly for this to be tested with RuboCop...

TreeRewriter and Rewriter will not (and can not) be compatible in all edge cases.
The fact is that Rubocop currently relies on some edge cases to work.

Rewriter#insert_{after|before} was completely ignoring out the {begin|end} part of the given range, that's no longer the case. In case that part was not only conflicting but out of range, the error generated is different and not swallowed silently by rubocop, so tests will fail. I reported this here.

Some autocorrectors rely on the fact that some rules conflict (and are later silently swallowed). Rewriter was rejecting some rules that are sensical and are no longer rejected, so some tests fail.

I'll provide a minimal PR for tests to pass using TreeRewriter.

PR created: #5611


MediaMuted Information (if possible)

Hello, I'm the current maintainer of Aurora-RGB and also making a plugin for Artemis-RGB. I will also reference this repository on those projects.
https://github.com/Aurora-RGB/Aurora
https://github.com/Aytackydln/Artemis.MediaInfo
https://github.com/Artemis-RGB/Artemis
Thanks for the library, RGB devices will be able to react depending on media :)
I wanted to add media muted information too but library didn't expose that. I also noticed playback information updates whenever I mute/unmute media so I thought it would be possible to add to this library.

I also noticed playback information updates whenever I mute/unmute media so I thought it would be possible to add to this library.

What media player showed off this behavior?

That was Opera GX, I believe chromium browsers do that

Could not reproduce with Chrome + Spotify and Chrome + Youtube.
It's very well possible that either the browser/site you used changes state when muted for efficiency purposes, though this is just my educated guess.
Upon further poking around, there is no volume field included in Microsofts "GlobalSystemMediaTransportControlsSession" system which is what the wrapper is currently for.
If there's documentation I missed, please let me know. But in terms of grabbing volume data, this wrapper would need to be used in tandem with a tool that grabs per-app volume data (like NAudio).

Alright, thanks for looking into it. Aurora already uses NAudio, people can use that then.


Prevent source code leak

The doumentation mentions at http://electron.atom.io/docs/v0.27.0/tutorial/application-distribution/

you can also package your app into an asar archive to avoid exposing your app's source code to users.

I was able to view the source code at \resources\app.asar after installation. Was able to even edit the file (used Notepad++). (e.g. "Welcome to" edited to "to Welcome") and the app worked normally.

This is a duplicate of https://github.com/atom/electron/issues/3041, currently we don't have a way to safely prevent users from modifying app's source code.


Wanted:  CLI tool for managing EPerson groups

DSpace provides a command-line tool bin/dspace user for managing users (EPersons) but lacks a corresponding tool for managing groups of users.
DSpace should have an e.g. bin/dspace group tool so that group management can be scripted, as user management can be.  This may also suggest additions to bin/dspace user for adjusting a user's group membership.

@mwoodiupui : While I'm not against a specific ./dspace [script-name] CLI script, I need to point out that the REST API supports this already. So, technically, it could be achieved via a bash script.
I wanted to stress this simply because the REST API opens up all actions to command-line scripts.  We no longer need to build each action one-by-one into its own CLI script.
But, that said, I can understand if we want to simply provide a few common Administrative tools in CLI scripts.  Since ./dspace user already exists, it does seem reasonable to add a ./dspace group script.


Compute Panel Dimensions in TACS for Stiffened Panel Optimizations

adds ability to get panel length and width in the TacsInterface
adds shape optimization for companion PR on GPBladeStiffenedShellConstitutive in TACS

When able, consider removing state variable distinction. Clean up comments for include_vars_only.


Document usage

There may be other ways to use these types but this at least documents one of them.

The example you shared looks a bit convoluted, would this not also work?
export type ExampleResource = HalResource & {
  _links: {
    copyright: HalLink;
    related?: HalLink[];
    "http://example.net/foo": HalLink;
  }
  _embedded: {
    alternate: HalResource;
    collection?: HalResource;
    author: HalResource[];
  }
  title: string;
  pageCount?: number;
  description: {
    summary: string;
    introduction: string;
  };
};


Fix broken "Sponsor" button

[N/A] Integration tests (if applicable)

Closes # N/A
Still having a .github/FUNDING.yml shows a "Sponsor" button without any links. This removes the funding file, to reduce confusion.

Looks like the CI fail was Vercel complaining that "authorization is required to deploy". Should I worry about that?

Great catch! We were in the middle of enabling GitHub Sponsors, and hadn't updated the button now.
It has since been fixed!


the breaking particles of the magma cube tropy causes hard client crash

Mod Version
OpenBlocksTrophies-1.21-4.3.27
Client Log
https://gist.github.com/scopiplays/01bab1487e0d85d19b2a04205b8f74a3
Crash Report (if applicable)
https://gist.github.com/scopiplays/e9341f63e68c2fbe600776725e8e2af3
Bug Description
attempting to break the open blocks magma cube trophy causes hard client crash
Steps to Reproduce

place trophy
punch it
boom

Please Read and Confirm The Following

[X] I have confirmed the details provided in this report are concise as possible and does not contained vague information (ie. Versions are properly recorded, answers to questions are clear).
[X] I have confirmed this issue is unique and has not been reported already.

Issue with Neat, update to 1.21-39 or higher to fix it


[Star tree] Rename count to value_count to be inline with aggregations

Description
Rename "count" to "value_count" to be inline with naming conventions of search aggregations
Related Issues
Solves part of https://github.com/opensearch-project/OpenSearch/issues/15148

Check List

[ ] Functionality includes testing.
[ ] API changes companion pull request created, if applicable.
[ ] Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

LGTM! thanks @bharath-techie
Adding here for reference: https://opensearch.org/docs/latest/aggregations/metric/value-count/

Just confirming that this is not a breaking change for something that we GA-ed already?

Just confirming that this is not a breaking change for something that we GA-ed already?

@dblock Star Tree is yet to be GA-ed as a feature. It still under development, and the plan is to backport it to 2.x for OS 2.17. We introduced a count as a aggregation here, but its still a part of main branch only.
This PR brings star tree count aggregation inline with present aggregations.

@bharath-techie You might want to start drafting API changes in https://github.com/opensearch-project/opensearch-api-specification earlier than later for this feature. That repo supports testing with feature flags enabled, too.

@bharath-techie You might want to start drafting API changes in https://github.com/opensearch-project/opensearch-api-specification earlier than later for this feature. That repo supports testing with feature flags enabled, too.

Sure thanks @dblock let me track this - will create an associated issue as well.


CI for Node

Intitializes with two players
Starts the game wit a random player
Sets the current player to be whoever it is not


Crash with IC2 191+

Same bug as AdvMachines, GraviSuite, BCFuels4IC2, AdvSolars

@UnicorNora look https://github.com/orangelynx/ic2-extra-fuels/issues/6


data-collection judges take too long

@rultor release, tag is 0.0.56

@rultor release, tag is 0.0.56

@yegor256 OK, I will release it now. Please check the progress here.

@rultor release, tag is 0.0.56

@yegor256 Done! FYI, the full log is here (took me 10min).


Fix animation editor snapping not working correctly

Closes #98609
I have no idea what weird piece of code in "_update_snap_unit()" which breaks snapping was meant to do, but my guess is that it was made for limiting fractional part so I've replaced it with snapped() function.
Also fixed holding shift not lowering snap value as intended.

@TokageItLab, does anyone remember what this is?
I am satisfied with merging this once we know the reason or someone can prove the new code does the same thing as the existing code.

As far as I remember, the original problem was that the FPS mode values were not restored correctly by precision when serialized to tscn.
As for modf(), it was implemented follow for snapping when using values above 1s:

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

issue by https://github.com/godotengine/godot/issues/96159

The 0.0625 snap is due to the fix in:

https://github.com/godotengine/godot/pull/97569
issue by https://github.com/godotengine/godot/issues/97548

Then, two approaches are mixed here, which may create some confusion.
I think this PR would be okay if the following test results are correct:

[ ] Save tscn in FPS mode and restart Godot, the snap values should be restored correctly
[ ] Save tscn in Second mode and restart Godot, the snap value is restored correctly
[ ] In second mode, larger than 1.0s snap value is working correctly
[ ] When switching between Second mode and FPS mode with a snap value of 1.0s or less, the snap value is not corrupted
[ ] When switching between Second mode and FPS mode with a snap value of larget than 1.0s, the snap value is not corrupted

As I described in #98609 (comment), probably this fix should only be applied when the snapping value is 1.0s or greater. Also, I think we need to document snaps less than 1.0 (although we can separate the documentation PR from this IMO).
@fire @lyuma Should glTF baking on import also take into account the 1.0s interval?

I don't really like idea of ignoring values below 1.0s. Code which was before equally breaked snap values both above 1.0s and below 1.0s (Quoting myself: The same rules apply for any integer value like 2.225 is snapped to 2.25, or 4.3 is snapped to 4.33333...).
And I think that rounding snap values at all is a bad practice, since sometimes you need a precise snap value to make your animation correctly (for example my game uses a lot of music BPM tied animations, so I quite oftenly use quite precise float values like 0.432 or 5.393 to sync animation keys to the music), and overall game engine should allow for any possibilities, not limit them.
But now I see that the root of the problem is FPS to seconds convertion things and will try to do something with it.

I understand that some people need precise snapping for music, but there are users who want to use Second mode while prioritizing FPS for animation.
Therefore, I think that for the most compatible and safe solution, we need to add FPS compatible mode as an option for Second mode, as in Approach 3 described there https://github.com/godotengine/godot/issues/98609#issuecomment-2456985645.

just did little fix for this PR
I've realized that adding "snapped" functions was actually a bad idea, it introduced some accumulation issues in fps mode and it also snapped to incorrect values
so I've checked everything and all is working fine now, but accumulation error still occur when you work in seconds mode, so adding a special toggle for fixing it, is actually a good idea, but I kinda think that it might be out of scope of this PR

The animation frame snapping code is fragile, so don't worry if we're nit-picking over the design.

I sent a PR #99013 for 4.4 which partially supersedes this PR.
So, since there are two fixes in this PR, can you separate only the fix for the pressing Shift behavior for 4.4? The Second mode fix must be removed from this PR and sent separately in the as new PR as cherry-pick for 4.3.

@UnfavorableEnhancer Alright, please fixup this PR into one commit to follow PR workflow

Reverted changes and created new PR for 4.3 branch here #99058

Fixed-up into single commit

Yes, if you really want to fix that, perhaps a different approach is needed, as we mentioned in https://github.com/godotengine/godot/issues/97548#issuecomment-2468960497.
For now, this PR now only fixes the bug in the snapping behavior when Shift is pressed, so it can be merged.

Thanks! Congratulations on your first contribution! 🎉


Grey should be acceptable for Gray

For Give a Background Color to a Div Element the color gray could also be done as grey as it is spelled in certain places. Both give the right color to the background.

I see your point that grey equates to the same color for the background, but one of the spellings had to be chosen for the class name, and I think it makes sense that the color name used should match the class name gray-background. It reinforces consistency and attention to detail at this early part of the course.
Unless we should change the class name to gray-or-grey-background? :)

I think it could be beneficial to point out that even though the spelling is different  using grey as a pose to gray would still work because for some people they would naturally use that spelling. I can not think of any other examples of occurrences like this as I am just begging to learn how to code, but I'm sure there are other examples out there.

So gray is the among basic color keywords according to the W3. Eventually, it appears that an expanded set of color keywords were added which allowed for spelling variants gray/grey to indicate the same color.
So there are a couple things we could do:

modify the tests in the background to accept grey and gray spellings
change the color used in this challenge to avoid this issue altogether
keep it how it is and mention the acceptable use of both grey and gray

cc/ @FreeCodeCamp/issue-moderators

@erictleung, I think we should choose option 2 and just change the color. That seems the easiest and simplest solution. Just pick a color e.g. pink that doesn't have english (UK) / english (US) issues.

+1!

@atjonathan Funny that you mention UK/US english differences, since UK english users have to accept the (far more common) use of "color" in styling when their spelling is "colour" :)
And hotpink is in the expanded color list too, but I'd like to suggest either silver or skyblue as an alternative colo(u)r.


HITS data. Data from Wikipedia pages

All the .txt file data for the HITS Algorithm to work with.
This has been split off from a previous pull request, #235.

Applied as patch and committed as part of https://github.com/aimacode/aima-java/commit/4b8143281d53e44c909900b251545dda88ceb0ef
Thanks


Pass number of responses along whenever we return a thread_id

Closes https://github.com/Couchers-org/couchers/issues/1144.

Backend checklist

[x] Formatted my code by running isort . && black . in app/backend
[x] Added tests for any new code or added a regression test if fixing a bug
[ ] All tests pass not needed since we are Backend™
[ ] Run the backend locally and it works
[x] Added migrations if there are any database changes, rebased onto develop if necessary for linear migration history

Regarding merge: let's leave the frontend as-is and let @darrenvong merge/rebase this into his work. There's no point going to the old discussion stuff and changing that, it'll just cause pain and suffering in merge for the new discussion stuff.

Regarding merge: let's leave the frontend as-is and let @darrenvong merge/rebase this into his work. There's no point going to the old discussion stuff and changing that, it'll just cause pain and suffering in merge for the new discussion stuff.

Ok! Life is easy being a backend developer ;)

~[ ] All tests pass~ not needed since we are Backend™

🤣

Pending rebuild, the frontend itself and the tests should be fixed now (within this branch) to read from the nested thread object now, so you can merge to develop with this

Same, glad they were only small tweaks 😌


Feature/docker for testing

New Doctrine modules are coming down the pipe.  To avoid trying to manipulate my bare metal I wrote this Docker container set for use in development and testing.
This isn't normal for Zend packages so please let me know your thoughts on including Docker container with complex repositories and let's get this merged and ready for the upcoming Doctrine changes.

@TomHAnderson I like that idea, I'll have a look on it later on ! Thanks a lot!

If you plan to use docker in the examples, then make sure that the project eats its own dogfood and has a pipeline entry (in CI) that uses the advertised docker setup for testing too. It is extremely painful for users to jump into a project and find out-of-sync startup scripts and such 😱

This has been rewritten to a minimal Docker footprint and is ready for review.

Includes a fix to a unit test which changed order.

@Ocramius was right, as usual, so I added docker-compose to travis testing.  I had to use a script because I didn't know how to escape a pipe to run all the commands on the same command line.
Docker is php:latest so all 7.2 tests also test Docker with the same dependencies as the test.

Please verify that my use of bash with a script returns the last return value from the script, which is phpunit.

Tested failed unit tests in docker fail the build tested with https://github.com/zfcampus/zf-apigility-doctrine/pull/310

The point that @thomasvargiu is making is that we can provide this as a flag instead of a version number via a build argument in docker-compose.yml (as he demonstrates in another comment). If the initial docker-compose (build|up --build) operation includes appropriate ENV variables, these can be referenced via docker-compose.yml build arguments and referenced in the Dockerfile. That would arguably be better than parsing versions in the Dockerfile, and make it more explicit the scenarios we are testing. [mwop]

This comment has been buried under Show outdated so I've copied it here.
I can create a pure language:none travis/docker build.  But when language:php then I can run composer and it will validate the composer.json against the php binary.
However the mapped directory is not mapped at the time a container (php) is built.  So I can't run composer as part of the docker build.  Before with language:php it would install composer as part of the install: script of travis.  Now I think the work-around is to create a more elaborate entrypoint.sh file which runs composer according to the build environment parameters.  This means every time you connect to the container it will re-compose.  That's a strain on the developer using docker to develop against the repository.
At this time I do not see another way around this.  If I go the route of creating custom composer commands in entrypoint.sh it will complicate that section of the Dockerfile and the rest of the configuration will be clean.
Looking for ideas etc.  Thanks!

re: time spent vs future time
I'm on nobody's clock but my own and I feel this work is bringing a new facet to travis builds of complex requirements which can be propagated through PHPdom and I'll be happy to provide that shine.

@TomHAnderson you should run every PHP command (even composer) inside the container, so you can do something like this (not tested):
env:
  global:
    - DOCKER_BUILD_ARGS=""

before_install:
  # Passing a build argument will build the container enabling xdebug extension (handle it in Dockerfile)
  - if [[ $TEST_COVERAGE == 'true' ]]; then DOCKER_BUILD_ARGS="$DOCKER_BUILD_ARGS --build-arg ENABLE_XDEBUG=true" ; fi
  - docker-compose build --build-arg PHP_VERSION=$PHP_VERSION $DOCKER_BUILD_ARGS php

install:
  # Run composer install from the container without "--ignore-platform-reqs" (container should be ok)
  - travis_retry docker-compose run --rm php composer $COMPOSER_ARGS
  - if [[ $LEGACY_DEPS != '' ]]; then travis_retry docker-compose run --rm php composer update $COMPOSER_ARGS --with-dependencies $LEGACY_DEPS ; fi
  - if [[ $DEPS == 'latest' ]]; then travis_retry docker-compose run --rm php composer update $COMPOSER_ARGS ; fi
  - if [[ $DEPS == 'lowest' ]]; then travis_retry docker-compose run --rm php composer update --prefer-lowest --prefer-stable $COMPOSER_ARGS ; fi
  - if [[ $MONGO_DRIVER == 'mongodb' ]]; then travis_retry docker-compose run --rm php composer require --dev $COMPOSER_ARGS $ADAPTER_DEPS ; fi
  - if [[ $TEST_COVERAGE == 'true' ]]; then travis_retry docker-compose run --rm php composer require --dev $COMPOSER_ARGS $COVERAGE_DEPS ; fi

script:
  - if [[ $TEST_COVERAGE == 'true' ]]; then docker-compose run php composer test-coverage ; else docker-compose run php composer test ; fi
  - if [[ $CS_CHECK == 'true' ]]; then docker-compose run php composer cs-check ; fi

after_script:
  - if [[ $TEST_COVERAGE == 'true' ]]; then docker-compose run php vendor/bin/php-coveralls -v ; fi

The project path is always mounted and synchronized with the container, so after `composer install´ you can find the vendor directory in the host (outside the container), but every command that interact with the environment should be executed in the container.
Let me know if this can help you.

... and we need install first composer in docker container.
And just a thought: maybe we can create somehow alias in travis config to run just composer which points to composer on docker?

Ok, I see composer is already installed in docker container, so we can just create aliases:
    - alias composer="docker-compose run --rm php composer"
    - alias php="docker-compose run --rm php php"

and use composer and php as before.
See: https://github.com/webimpress/zf-apigility-doctrine/commit/d7a9b98fcfa337b1b481c6c99a66862688116607

The build works once again, this time with pure Docker unit testing and code coverage.  I was unable to get alias working; could use some help there.  I don't think naming an alias the same is a good idea though and would rather see an alias like run_composer.  That uncomplicates reading the scripts.
xdebug support is in.  For adding the .so for xdebug and mongo there seems to be some duplicated effort but it's all working.  If someone wants to figure out how to get them both working without adding either to the php.ini twice and working for PHP 5.6 and 7+ that'd be great.
I created a command to get the php.ini path
`php --ini | sed -n -e 's/^.*Path: //p'`/php.ini

Better ideas are welcome; thanks!

And: here's the first draft of a presentation on how to do this: https://goo.gl/R4CQ9s
This is intended as a code walk-through talking about the what and why of each line.

@TomHAnderson @weierophinney @thomasvargiu  I've created PR https://github.com/TomHAnderson/zf-apigility-doctrine/pull/1 with some simplification, more info there.
I think we still have one problem. When using PHP 7 we requires alcaeus/mongo-php-adapter to run tests... Not sure how we can resolve it nicely? Any ideas?

@TomHAnderson Hm... I just noted that I've broken xdebug and coverage report... I've tried many thing and can't get it working back. See: https://github.com/TomHAnderson/zf-apigility-doctrine/compare/feature/docker-for-testing...webimpress:feature/docker-for-testing
on my branch I have enabled travis and there are build, but it is still not working correctly...

For xdebug I had to spedify zend_extension= in the ini.  Is it possible the docker-php-ext-enable xdebug isn't enough?   I had to do a lot of trial and error to get it working where it was in my last commit.

I think the problem is with the condition in Dockerfile. I will have another try tomorrow...
Any ideas what we can do with alcaeus/mongo-php-adapter in default installation?

Nice work @TomHAnderson!
Other proposal:
Ignore the docker-compose.yml file FROM VCS
Usually in projects the docker-compose.yml is ignored from VCS to let the user to change it. We could rename it in docker-compose.yml.dist and add docker-compose.yml to .gitignore. In travis-ci we can copy it before to execute commands and tests.
We let the user to use the default image with the "latest" PHP version but if he wants to change it in different environment can easily change it. An example could be:
A contributor wants to test it against different PHP versions:
version: "3"
services:
  php71:
    build:
# .....

  php72:
    build:

And the user could easily run docker-compose run --rm php71 on his host.
I'm just suggesting to ignore the  docker-compose.yml file, not to change it.
Move the entrypoint to a file
Since we have a .docker directory, we can move the entrypoint script to an external file and change the Dockerfile with:
# ...
COPY ./entrypoint.sh /usr/local/bin/entrypoint.sh

You can chmod +x it on VCS or building the image.
The Dockerfile will result more clear.
@TomHAnderson @webimpress what do you think?

@thomasvargiu

Ignore the docker-compose.yml file FROM VCS

Not sure about it. If you want to test with different PHP version you can do:
$ docker-compose build --build-arg PHP_VERSION=7.1

and then:
$ docker-compose run --rm php composer test

(or maybe it is even possible to do in one line?)
But in general I can see your point, we just need to think what will be the most convenient for contributors.

Move the entrypoint to a file

Yes! This is a very good idea. The script will be clearer.

Agree with @thomasvargiu that we should include as a dist allowing devs to have their own docker-compose.yml

I've used docker-compose.yml.dist now because @Ocramius thought (at one point) it was good to have my own composer environment to work on a repo and I agree.  Using a .dist allows for custom environments.
Now that entrypoint.sh is a script I've added a touch of ascii art to the shell when you login to the php container.  I feel strongly this should stay as-is.
This PR is now at RC

@TomHAnderson @thomasvargiu I was looking again on docker-compose.yml.dist file solution. I have found this in the docker documentation: https://docs.docker.com/compose/extends/
So we have file docker-compose.yml as it is, and in local if we want to have different env we use docker-compose.override.yml, these by default are red by docker, and I would prefer to go this way instead of requiring one more step do contributors - copying .dist file... It's harder then to make some changes in this file, contributors need to check it everytime, and basically I can see many more issues... and not sure what are the advantages?

I like the docker supported method for this over the .dist approach.

This repository has been closed and moved to laminas-api-tools/api-tools-doctrine; a new issue has been opened at https://github.com/laminas-api-tools/api-tools-doctrine/issues/3.

This repository has been moved to laminas-api-tools/api-tools-doctrine. If you feel that this patch is still relevant, please re-open against that repository, and reference this issue. To re-open, we suggest the following workflow:

Squash all commits in your branch (git rebase -i origin/{branch})
Make a note of all changed files (`git diff --name-only origin/{branch}...HEAD
Run the laminas/laminas-migration tool on the code.
Clone laminas-api-tools/api-tools-doctrine to another directory.
Copy the files from the second bullet point to the clone of laminas-api-tools/api-tools-doctrine.
In your clone of laminas-api-tools/api-tools-doctrine, commit the files, push to your fork, and open the new PR.
We will be providing tooling via laminas/laminas-migration soon to help  automate the process.


The ESP-NOW frame length (IDFGH-9729)

The Issue from ESP-NOW repository https://github.com/espressif/esp-now/issues/59
In ESP-NOW documentation is described the frame format is as:
------------------------------------------------------------------------------------------------------------
| MAC Header | Category Code | Organization Identifier | Random Values | Vendor Specific Content |   FCS   |
------------------------------------------------------------------------------------------------------------
  24 bytes         1 byte              3 bytes               4 bytes             7~255 bytes        4 bytes

and the Vendor Specific Content:
-------------------------------------------------------------------------------
| Element ID | Length | Organization Identifier | Type | Version |    Body    |
-------------------------------------------------------------------------------
    1 byte     1 byte            3 bytes         1 byte   1 byte   0~250 bytes

I'd like to ask how is possible that the body length is 250 B, but if the Body is full, Vendor Specific Content is 257 B.
Is a problem in my thought or the specification is wrong?
Link for documentation: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_now.html
The Reddit discusion: https://www.reddit.com/r/esp32/comments/11ruo1w/the_espnow_frame_length/

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

@petrkucerak
ESP-NOW uses vendor-specific action frames.
These contain 1 byte Category, 3 bytes Organization Identifier and Vendor Specific Content.
According to the 802.11 standard the Vendor Specific Content could contain multiple Vendor-Specific Fields.
802.11-2020, 9.6.5 Vendor-specific action details: "...The Vendor Specific Content field contains vendor-specific field(s)."
But right now ESP-NOW is only using one Vendor-Specific IE, which is limited to 255 bytes.
So the Vendor Specific Content should be 7~257. Will change the doc ASAP.

@petrkucerak The change has been merged into deab8d345552e55b89a13d8f7c1f5e16f6605925


(WIndows)cargo build says: unrecognized option: 'print-file-name'

I have rust and cargo working on a Linux VM, but cargo build on windows says unrecognized option: 'print-file-name' and that it's error code 101. I'm using rust nightly 1.0.0 and cargo 0.0.1.

You may want to be sure you're using the most up-to-date Cargo (it should be a date this january). Could you paste the output of cargo -V?

cargo 0.0.1-prenightly (fd5d7a9) 2014-12-25 but I downloaded the binary today. Hmm..

Oh dear, which binary did you download?

windows binary 64. It was a tar.gz

Do you have the URL? The target triples have changed in the past and old triples aren't necessarily updated any more. I'd recommend installing from the official installers to get the most up-to-date version.

https://crates.io/install and I checked and have the up-to-date version of Rust

Do you know the precise URL that you downloaded? I just downloaded both the 32/64 bit nightlies from that page and they both report a date of 2015-01-22

My downloads says i got it from https://static.rust-lang.org/cargo-dist/cargo-nightly-x86_64-pc-windows-gnu.tar.gz

And you're sure you're running the binaries from that exact download?

seems i have cargo from a month ago when i tried to set it up. I think it may work

It works, my mistake :+1:

Glad it worked out! Thanks for the report regardless :)
Always a good idea to second check that our automation is working like we think it is...


Manage Cookies Fails to Load

Expected Behavior
Clicking Manage Cookies should show a list of cookes
Actual Behavior
An application error is shown:
Error: [object Object] at Object.validate (C:\Users\myUsername\AppData\Local\insomnia\app-9.3.0\resources\app.asar\node_modules\tough-cookie\lib\validators.js:91:13) at formatDate (C:\Users\myUsername\AppData\Local\insomnia\app-9.3.0\resources\app.asar\node_modules\tough-cookie\lib\cookie.js:322:14) at Cookie.toString (C:\Users\myUsername\AppData\Local\insomnia\app-9.3.0\resources\app.asar\node_modules\tough-cookie\lib\cookie.js:952:29) at wS1 (file:///C:/Users/myUsername/AppData/Local/insomnia/app-9.3.0/resources/app.asar/mainWindow-BuUzBfxG.js:110:16004) at Ze (file:///C:/Users/myUsername/AppData/Local/insomnia/app-9.3.0/resources/app.asar/workspace-environments-edit-modal-Bf0HPEMW.js:1:16292) at Ok (file:///C:/Users/myUsername/AppData/Local/insomnia/app-9.3.0/resources/app.asar/mainWindow-BuUzBfxG.js:43:17033) at NK (file:///C:/Users/myUsername/AppData/Local/insomnia/app-9.3.0/resources/app.asar/mainWindow-BuUzBfxG.js:45:44104) at kK (file:///C:/Users/myUsername/AppData/Local/insomnia/app-9.3.0/resources/app.asar/mainWindow-BuUzBfxG.js:45:39822) at Z9e (file:///C:/Users/myUsername/AppData/Local/insomnia/app-9.3.0/resources/app.asar/mainWindow-BuUzBfxG.js:45:39748) at Yh (file:///C:/Users/myUsername/AppData/Local/insomnia/app-9.3.0/resources/app.asar/mainWindow-BuUzBfxG.js:45:39598) at ME (file:///C:/Users/myUsername/AppData/Local/insomnia/app-9.3.0/resources/app.asar/mainWindow-BuUzBfxG.js:45:35960) at EK (file:///C:/Users/myUsername/AppData/Local/insomnia/app-9.3.0/resources/app.asar/mainWindow-BuUzBfxG.js:45:34907) at L (file:///C:/Users/myUsername/AppData/Local/insomnia/app-9.3.0/resources/app.asar/mainWindow-BuUzBfxG.js:30:1594) at Immediate.oe [as _onImmediate] (file:///C:/Users/myUsername/AppData/Local/insomnia/app-9.3.0/resources/app.asar/mainWindow-BuUzBfxG.js:30:1965) at process.processImmediate (node:internal/timers:478:21)
Reproduction Steps

Create a collection
Call an API that returns cookies
Click Manage Cookies

Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
The following cookies were returned and are visible in the Cookies Tab for the API that was called:

.AspNetCore.Identity.Application | CfDJ8BkV4O4AgntFqx8WQYHTRoY25A8ZWWnsJJNIg170eeO7G6gSUeGyqiB8WTtyz28_RxWG4jK4u1fuCQR6qhGm-dLZm6OuLOr4ucqfj8YeI1AQ6DM2JBcHmEASzZto09Y3v2lJNGbyRIhgQvdz001y6PsAsOW4nXRmoIr-cuZ9OqND7HdoT55W3jI2fYOp5E5mxIcDn3eiEi87gVnfx5KOq--jcMto9RT9AiqmU1Hdxpz0GhryHIyxpG2q4KKG4M354SiGyBx4w99M0efy_K5xsL3rGgHfXNOVnNWv7kPXZ_hYr6HtXaZmzPoDSeHDsTmKb3k0PUmvS0dByIfCsuYDbz3eV-lLMs7ZTalYziri7BI8xOQuaXQJLvusAaqqos91PENYu35nxsLY3E0TwdzKnrxiTBnUMMfb1xSTDvX1DChyESt6vNGQIl77QCS1ICoW1p1mmlxBbkEBVVK7n7pjkm6nPfQKcjg3N89T2w6OQ8hZewwJwJWKYCvRW2ukY6CjJ83EORMke5RbUtUJ2SiiT3Ut1DWu4pEWo2O-TZuHg1yS
-- | --
TS015b6bdd | 01d9737dc75e2c48bcb1f318d910416cd0ec4b25125195374fec30a9186c2064b4c81a816e4c74c098a1f7c87d1170fa37cd808f03
TS01baf3a3 | 01d9737dc7e9e34e2b59f9fd6f7efa0e20f03d5adc5195374fec30a9186c2064b4c81a816ee5bb279f65bfa0cde36cbb751b90e682877a184daab0aded3fbd2df76f1f09aa

Insomnia Version
9.3.0
What operating system are you using?
Windows
Operating System Version
Windows 10
Installation method
Download from insomnia.rest, app self updated
Last Known Working Insomnia version
N/A

We are looking into this issue.

I'm building a API and the session is managed with cookies, with this cookie problem, I'm not able to send authenticated requests. So this problem is basically preventing me to use insomnia

I'm having the same problem. When I try to click the "manage cookies" button, it gives me the red warning "Render Failure: [object Object]".

I am experiencing the same problem. When I switch to version 9.2.0, it works again.

Update: we found the issue and working on releasing 9.3.1 that will fix this regression.

Thanks for the feedback. Closing as this was fixed in 9.3.1


NAT holepunching code?

Hi @mcginty
The innernet blog post mentioned NAT holepunching:

We had some simple goals:

Conveniences a typical WireGuard user wants: peer names, auto-updating peer lists, groups based on IP blocks, and automatic NAT holepunching.

I had just read Tailscale's great blog post about NAT holepunching mechanisms and learned of the many approaches to the problem. I was curious how innernet did it but only found this in the codebase:
https://github.com/tonarino/innernet/blob/c01c2be4bb5b7782ec8a3ae858cd2e647011465b/server/src/api/mod.rs#L8-L14
Is there more implementation than this? I tried searching for "endpoint" in the codebase to find relevant NAT table code or port scanning code - I found  persistent_keepalive_interval and spawn_endpoint_refresher but it seems to be only part of innernet-server and not the clients/peers...
I looked up if Wireguard does holepunching only found example code of how it could be done; with a note to never use the code haha.
#109 wants to implement more NAT code but does innernet do any NAT holepunching on its own right now?
Maybe the Tailscale blog hyped it up as a more difficult thing than it is - in Nebula's code it looks to be a simple for-loop that send 1 byte to every peer and then sleeps: https://github.com/slackhq/nebula/blob/785914071104c73515736aafd2b9d91501108b23/hostmap.go#L369
Thanks for clarification!

hey @heyheyhello! Thanks for opening the issue, this is a great time to write a better explanation of where we're at and what the current limitations are.
Here's what innernet currently does:

Peers connect to the server via WireGuard (the server must have its WireGuard port open).
The server, via that inject_endpoints function you referenced, gossips the endpoint it sees for each peer to all their associated peers.
Peers then set their associated peers' endpoints to what the server told them.
Since persistent_keepalive is set for each peer to send a heartbeat packet every 25 seconds, peers behind NATs will be sending UDP holepunching packets (via the keepalive functionality).

We're able to avoid the need to use raw packets, since we are in fact talking to the server over WireGuard, so we don't need to use BPF to spoof the source port like they do in the holepunching example from the WireGuard repository.
Where this breaks currently is with, as that really fantastic Tailscale article details, "Hard" NATs. Innernet currently doesn't have any ICE-like functionality, and even more abstractly doesn't have any ability currently to try a list of IPs and see what connects. WireGuard itself (thankfully) doesn't have any concept of a stateful connection, so we need to implement the simplest reliable way to check if an endpoint one that allows a handshake to succeed.