implement deactivate function

Codecov Report

Merging #62 (ef5e626) into master (45f3f94) will increase coverage by 2.38%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #62      +/-   ##
==========================================
+ Coverage   95.23%   97.61%   +2.38%
==========================================
  Files           6        6
  Lines         462      462
==========================================
+ Hits          440      451      +11
+ Misses         22       11      -11

Impacted Files
Coverage Δ

service/route.py
99.47% <100.00%> (+5.72%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 45f3f94...ef5e626. Read the comment docs.


Updated library examples for csproj.

Updated library examples for csproj
Summary
Removed project.json files and replaced them with .csproj files.
Suggested Reviewers
@mairaw @BillWagner

LGTM.  If I remember correctly, the topics did not discuss the build system. As long as that's correct, let's :shipit:

@BillWagner No, the topics did not discuss the build system.


Implement Brigadier support (feature)

Brigadier is the command parser and dispatcher for the java edition, adding support for it will be huge because it's a very modern way of doing commands nowadays in minecraft.

Yes definitely! My main goal right now is to add Brigadier support but I don't have an estimate date on when Brigadier will be supported since I'm still learning more about Brigadier. It will take time but it is achievable.


Add an irb binding console command

This adds an IRB console within the context of robles. It also adds a
book variable as a convenience for working with the publisher.

@sammyd let me know what you think of this. I wanted to look into an issue brought up on Discord by one of the members and I didn't see any quick way to get a console.


Implement irradiance volumes.

Objective
Bevy could benefit from irradiance volumes, also known as voxel global illumination or simply as light probes (though this term is not preferred, as multiple techniques can be called light probes).
Irradiance volumes are a form of baked global illumination; they work by sampling the light at the centers of each voxel within a cuboid. At runtime, the voxels surrounding the fragment center are sampled and interpolated to produce indirect diffuse illumination.
Solution
The particular technique is known as ambient cubes, popularized by Valve SIGGRAPH 2006. Ambient cubes work by recording a 1×1 cubemap at each voxel position. This was chosen over the perhaps-better-known method of spherical harmonics because Blender's Eevee renderer can be easily used to generate them via the tool in bevy-baked-gi. Also, ambient cubes require fewer table lookups than second-order spherical harmonics do and don't suffer from ringing artifacts.
Irradiance volumes are treated as assets, and bincode is used to deserialize them from disk. You can generate the bincode files by passing the --upstream flag to the export-blender-gi tool in bevy-baked-gi.
Important: This commit doesn't provide the generic infrastructure used to look up the nearest light probe. That's part of the reflection probes pull request, #10057. Therefore, this pull request requires hardwires the shader to support only one irradiance volume per scene. This is a temporary limitation and will be lifted once #10057 lands.
Changelog

This section is optional. If this was a trivial fix, or has no externally-visible impact, you can delete this section.

Added

A new IrradianceVolume asset type is available for baked voxelized light probes. You can bake the global illumination using Blender and use it in Bevy to apply indirect illumination to dynamic objects.

This needs a bit of cleaning up and documentation, but it works and is pretty close.

Leaving this in the milestone for now, but we might have to end up cutting it depending on time constraints. @pcwalton if this is ready to go, make sure to take it out of draft.

This should be ready to go now. I've verified that this works on Windows, macOS, Android, and WebGL 2. The check-bans CI failure seems unrelated.

@JMS55 So I added the toggle requested, but it doesn't show up that well in the example because the irradiance volume ends above the camera. I tried drawing a small circle at the center of every voxel but that was waaaaaay too slow in debug mode.

I reduced the number of voxels in the irradiance volume to a more reasonable level, so now the gizmo shows the center of each voxel.

@JMS55 Actually, you know what, I only count 12 textures that are enabled in the PBR shader, even with this PR. So I think we're under the 16 limit.

I added a visualization mode to the example that shows the voxels.

This should be ready for re-review. All comments have been addressed.

Comments addressed and ready for re-review.

Don't merge yet. The CI failure is legit.

This should be ready for review again.


RE7 and RE8 distorted colors when using OpenXR

Hi, first of all thank you @praydog for making this even possible!
I'm having an issue in RE7 and RE8. The HMD (HP Reverb G2) displays the game with distorted colors when using OpenXR. On the desktop the game renders with normal colors. Using OpenVR with SteamVR the issue is not there, but the framerate is much lower.
Video card is AMD 7900XTX with graphics driver 23.2.1 (newest as of now), but the one before also produced the same. Clean install of Windows 10 x64 and clean install of game and REFramework 1.4.
Thank you for looking into this!

Duplicate issue #307


How do I get my calibration to save to EEPROM

Hello,
I cannot get my changes to save to the EEPROM.
I can make the adjustments and then "save", then "quit".
However, when I run another program the settings seem to have disappeared and Otto's ankles and hips have reverted to the positions they were in prior to calibration.
Thanks for the help!

Hi @rskissel just uploaded this week easycal give a try to that code


Render links in calendar popup

At the moment, the detail view of an appointment in our calendar at https://scs.community/contribute doesn't provide clickable links. We should fix this for convenience.

Transfered to docs-page as we'll maintain the calendar here for the future.


Fixes #1684 when installing with yarn online

This was a quick fix of #1684 which i used to create a new project and the "false" : "0.0.4" dependency was gone.

Oops! I resolved this in master already.
Sorry about this, I didn't see this PR and I started working on the bug immediately when I saw the issue.  😨
I really hope to see contributions from you in the future.

This is out in<EMAIL_ADDRESS>Please verify it works. 😄

That's fine, just wanted to fix this for the sake of the project, i hope i will have some contributions in the future 😄 .
Thanks tim, i'm going to close this then, i guess you can close the issue now that has been fixed 🎉

@Timer
Ahhh, much better. Glad this didn't evolve into leftpad 😆
"dependencies": {
    "react": "^15.4.2",
    "react-dom": "^15.4.2"
  },

Thanks for catching it! If you'd like, I'd appreciate an added test case which makes sure we don't install any dependencies other than those 3.

Sure, i can take a shot at it, should that be in the file, like check for the correct dependencies and if we found other than react, react-dom, react-scripts just  process.exit(1)?

Yeah you can add it to e2e-installs.sh and either call a node script that inspects the package or use a few unix commands. Unix commands would probably be preferred, but Node totally acceptable.

I'm sure you could use a grep in test mode that looks for regex matching multiple lines, awk might work for this.

Thanks for the quick fix. 😅


sets the charset to utf-8 in case ruby fails to load special characters

Can I help somehow? Ive been waiting for a good time. lol

Hi there!
Yes, absolutely, I commented in another discussion thread, but I already pushed the bases of the new UI-Project.
The new branch is dev-ui: https://github.com/tarraschk/TinderAutoLike/tree/dev-ui
I'm actually working on the main page to handle many accounts at the same time.
After that, I'll need to add the UI to edit settings per account (lat/long, common friends or no, etc).
And the next step will be to add a bot with Workers to do that in the BackEnd, asyncronously.
Then, we'll be working on the messaging features :).
What could you guys think you might help on?

Sorry guys, I didn't get a chance to look into UI yet.
Btw, I ran the script twice on my personal account. one with 25 miles radius and like 2500+ people. Then I increased it to 100 miles and liked 6500+ people. In the end I got matched to 10-12 people within the next week. Either my profile is pretty bad or Tinder is blocking these type of mass likes. I recommend putting a random delay between each like.

This a very interesting comment.
For the random delay, a delay such as "2.5+rand" (going from 2.5s to 3.5s) should be okay.

Update: had some work to do this week-end, should deliver account management by wednesday.
Stay tuned :)


Update Getting Started tutorial to include posts automatically, plus …

Modify "Getting Started" tutorial per discussion in #3096:

Results in a blog where posts are included on IndexPage automatically
Walks beginning reader more gently through some additional wagtail features
Removes abstract/confusing RelatedLinks model building (which is no longer useful since posts are auto-included)

If there is any objection to having removed RelatedLinks, I can add it back in to the end and modify it to work something like a "blogroll."
Feedback welcome.

I had missed the conversation on #3096 but quickly reading through the changes they're certainly easier to understand than the current docs. Removing the RelatedLinks also makes a lot of sense since that isn't a pattern that I can see should ever be used to populate an index page. I remember being confused by this bit of the docs too when I first tried to pick up Wagtail so great to see it being made easier!

Thanks for the feedback - I'll take care of these items today, hopefully.
For the screenshots, is there a recommended width that works best for docs?
I actually would have preferred to use Categories rather than tags, but wasn't able to figure that out quickly. It might be nice to have both categories and tags - maybe I'll save that for another day.

I don't think we have a standard size for screenshots - the CSS scales them down to fit the column width where appropriate, so the original size isn't too important - but it looks like we typically go for around 1000px width.

I'm wondering if we can drop the note on using tuples for wagtail versions < 1.5 - highly unlikely that anyone just learning would be on a version that old. I'll drop the note in next PR but can restore if you object.

@shacker Yep, absolutely fine to remove that. If I recall correctly, that note was added while 1.5 was in development, because we had a few cases of people running the then-current 1.4 release and following the development version of the tutorial by mistake, then complaining when it didn't work...

Changes submitted:

Addresses all issues raised in PR review
Adds more info to "Navigating parents/children"
Adds a new dedicated section on overriding context

OK now I have a handle on creating Categories. If you want, I can modify this PR to use multiple categories per post instead of tags, OR show both categories AND tags.

The updates look good, thanks!
Categories would be using a child model with InlinePanel, presumably? That's definitely something worth covering in the tutorial I think - if people don't know about child objects, I suspect they're more likely to misuse rich text for structured content instead - so that would be a very welcome addition. I have no particular preference about whether to have categories instead of, or in addition to, tags - happy to leave that up to you.

I have no particular preference about whether to have categories instead of, or in addition to, tags - happy to leave that up to you.

I vote for tags and categories. Thanks @shacker!

A  working Categories system has now been added, which expands coverage to include using a vanilla Django model, using PageRoutableMixin, adding contrib modules, and more. I hope you're OK with the approach I took on this - there are several ways to skin this cat. I left one question for you guys in the PR.

Thanks again @shacker!
I'll need to take some time to figure out the best approach for the categories section. While I have no disagreement with the technical choices you've made there, such as using modeladmin and RoutablePageMixin, I'm concerned that it's not a good fit for that point in the tutorial, given the concepts that a reader still has to learn at that point:

Saying "this model is not a Wagtail Snippet" isn't meaningful to a reader who hasn't been introduced to the concept of snippets yet;
Child models and InlinePanels are a really important feature for people to grasp (without them, people will tend to over-use rich text areas instead), but here they're being introduced in a pretty negative light - essentially saying "Wagtail doesn't support M2M relations, so this is the hack you have to use instead".

This is absolutely not a criticism of how you've written this section... the truth is, categories aren't a particularly easy thing to implement in Wagtail, and that's a shortcoming in Wagtail that we really ought to address. Until that happens, it's completely fair that the tutorial should be honest about the places where workarounds and contrib modules are necessary. However, I suspect that any user is going to have trouble understanding those workarounds if they haven't first been taught about the features that we're working around...
Obviously I don't want to turn this into an endless cycle of requests for revisions and additions, especially given that what we have now is really a vast improvement on the current version of the tutorial. Currently I'm thinking that the most effective way to solve this would be to alter the 'Image support' section so that each blog page gets a gallery of image + caption objects, rather than just a single main_image. That way, we have a "positive" example of InlinePanel in use, and we can even follow it up by defining a main_image method on BlogPage that returns the first image (or None) for use on the index page - which serves as a nice case study in why structuring your data properly with child models is a good idea ("note that we wouldn't be able to pull out the image like this if it was buried inside a rich text field"). I'll try to get this written up in the next couple of days, assuming you don't beat me to it :-)

@gasman  To be honest, I shared your concerns about introducing what is essentially a workaround / hack for something that should be easier to accomplish. Also I realized later that the way I set it up only allows one Category per post, which is not ideal. So I agree that needs to be refactored. Proposal - we could cut the Categories section out (since it's at the end it'll be easy) and publish it now (assuming there are no other show stoppers), then perhaps you could write up a section on image carousels? WDYT?

@shacker Sounds like a good plan!

Merged in 756d5ec0ddde272b21aca22c46fb7933ecea966d + parents, with the categories section removed and a bit of final cleanup (including revising the MultiFieldPanel example to demonstrate grouping several fields together) in 011f2099ebad34edaeab2cbdf262c95de4cc5d52.

Thanks @gasman .

Hi @shacker,
Slightly annoyingly, readthedocs pins the documentation to specific releases (with the exception of the 'latest' option, where it's already live) - so it'll go live with the next release. I've also merged it into the 1.7.x branch, so if we do a 1.7.1 release before 1.8, it'll show up there too.


can't get your subscriber example to work

Using the code below
Linux OpenSuSe Tumbleweed / mono 4.4.2 /nuget Latest/WampSharp 1.2.5-beta/target net45
DefaultWampChannelFactory doesn't seem to exist in WampSharp as imported on Linux
IWampChannel channel =
factory.CreateJsonChannel(serverAddress, "realm1");
Seems that CreateJsonChannel doesn't exist either
Any Help would be appreciated
using System;
using System.Reactive.Linq;
using System.Reactive.Subjects;
using System.Threading.Tasks;
using WampSharp.V2;
using WampSharp.V2.Client;

namespace Wamp
{
	internal class Program
	{
		public static void Main(string[] args)
		{
			DefaultWampChannelFactory factory =
				new DefaultWampChannelFactory();

			const string serverAddress = "wss://api.poloniex.com";

			IWampChannel channel =
				factory.CreateJsonChannel(serverAddress, "realm1");

			channel.Open().Wait(5000);

			IWampRealmProxy realmProxy = channel.RealmProxy;

			int received = 0;
			IDisposable subscription = null;

			subscription =
				realmProxy.Services.GetSubject<int>("BTC_XMR")
					.Subscribe(x =>
						{
							Console.WriteLine("Got Event: " + x);

							received++;

							if (received > 5)
							{
								Console.WriteLine("Closing ..");
								subscription.Dispose();
							}
						});

			Console.ReadLine();
		}
	}
}

Please install WampSharp.WebSocket4Net (remove WampSharp.WebSocket) and use
fluent syntax.
Elad

Thanks for pointing me in the right direction! Got it.

hello thank you for this help too
I have the same environment but I have another problem :

Could not load type of field 'WampSharp.Newtonsoft.DetailsOptionsConverter:mTypeToConstructor' (1) due to: Could not load file or assembly 'System.Collections.Immutable, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. assembly:System.Collections.Immutable, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a type: member:

Both reference WampSharp.NewtonSoft and System.collection.imutable are present
Any idea ?
thank you in advance


feature: add more fingerprint status checking methods

@mCodex For my app, I have very specific needs for knowing different fingerprint statuses. Adding more granular methods to fetch the status will really help.

Good point! Updated.


Relicense under Apache 2.0

At wehkamp we like to have all our oss efforts to be licensed under the Apache 2.0 license.
The project has moved from xebia to here, so now falls under the wehkamp oss efforts. :)
FYI previous committers @raboof @agemooij @gvandeglind @sebigavril @awulder.

👍


Change Creator for Annotations

I don't seem to be able to specify a creator when writing an annotation from TM1py.
We have a commentary cube for our P&L cube.  We're writing a script to pull the commentary from that cube and write it as an actual annotation in the P&L cube.
I have the script pulling the data, deleting existing annotations in the target, and writing the new annotation.  I can specify the creator in the Annotation object, but when I create the annotation, it still sets the creator as whatever user is associated with the TM1py scripts TM1Service connection.
Is there a way to force the comment's creator?  (without having them provide their credentials)
Thanks,
Danny

Perhaps you can use impersonation when you write the annotation back.
Would that solve your problem?

Didn't realize this was available.  Impersonate did solve the problem.  Although we can't use this if the user making a comment is an admin, but I think we can get around this.  Thanks for the help!


chore(deps): bump lua-kong-nginx-module to 0.9.0

KAG-4050

We can delete these three lines as those vars have already been indexed by default.
Kong/lua-kong-nginx-module#72
https://github.com/Kong/kong/blob/5bf9abaed8d444079f5f86fe34a023972ab46ec2/kong/templates/nginx_kong.lua#L67-L69

Let's do it in another PR.


[20.09] brave: 1.15.76 -> 1.16.72

Backported from: #103268
(cherry picked from commit 13e4f189a1db7d1d9090d5da60d0eec09f18fdbf)
Reason: The browser must be kept up-to-date

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Looks good to me. Tested by building it and browsing a few websites.
1.17 just hit unstable recently. If you feel like bumping this PR to 1.17 I will re-review it. If not, then it's good as-is.

Looks good to me. Tested by building it and browsing a few websites.
1.17 just hit unstable recently. If you feel like bumping this PR to 1.17 I will re-review it. If not, then it's good as-is.

I am planning to update my PR to include 1.17 as well. I will poke you once it is done.

I will wait for another version to come up to fix the CVE.
https://github.com/NixOS/nixpkgs/issues/106185

@JeffLabonte I wouldn't wait on this... 1.16.72 and below has some memory corruption vulnerabilities in it. CVE-2020-8276 is pretty minor in my view. I would bump this to at least 1.16.76 (I would do 1.17).

@buckley310 Done :smile:

Looks good to me. Checked out the 20.09 branch from a 20.09 system, and cherry-picked these commits.
I tried loading a few various websites and everything works as expected.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/296


make more clear why a test was abortet

This PR improves the result representation in the test summary if the test was aborted due to a timeout.

invoking it with an obviously to short timeout ( ./scripts/unittest shell_server_aql --oneTestTimeout 10 ) will now print as following:
    [SUCCESS] tests/js/server/aql/aql-graph-traversal-generic-noncluster.js
    [FAILED]  tests/js/server/aql/aql-graph-traverser.js      "test" failed: server unavailable for testing: Error reading from: 'http+tcp://<IP_ADDRESS>:28815' 'timeout during read'    [SKIPPED]  the following tests were skipped due to the server not being in a trustworthy state anymore.      "test" failed: tests/js/server/aql/aql-graph.js, tests/js/server/aql/aql-hash-noncluster.js, tests/js/server/aql/aql-index-hints.js, tests/js/server/aql/aql-is-in-polygon.js, tests/js/server/aql/aql-logical.js, tests/js/server/aql/aql-memory-limit.js, tests/js/server/aql/aql-modify-noncluster-serializetest.js, tests/js/server/aql/aql-modify-noncluster.js, tests/js/server/aql/aql-modify-subqueries.js, tests/js/server/aql/aql-modify.js, tests/js/server/aql/aql-multi-modify.js, tests/js/server/aql/aql-operators.js, tests/js/server/aql/aql-optimizer-collect-aggregate.js, tests/js/server/aql/aql-optimizer-collect-count.js, tests/js/server/aql/aql-optimizer-collect-into.js, tests/js/server/aql/aql-optimizer-collect-methods.js, tests/js/server/aql/aql-optimizer-condition.js, tests/js/server/aql/aql-optimizer-costs.js, tests/js/server/aql/aql-optimizer-dynamic-bounds.js, tests/js/server/aql/aql-optimizer-edge-index.js, tests/js/server/aql/aql-optimizer-filters.js, tests/js/server/aql/aql-optimizer-fulltext.js, tests/js/server/aql/aql-optimizer-geoindex.js, tests/js/server/aql/aql-optimizer-index-only-rocksdb.js * Overall state: Fail [shell_server_aql] :
    during: shutdown timeout; instance forcefully KILLED because of fatal timeout in testrun : Core dump written; Process facts :
    role: single
    port: 28815
    endpoint: 'tcp://<IP_ADDRESS>:28815'
    rootDir: /tmp/arangosh_589U5m/shell_server_aql_skipranges

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/

test blue.


Error: Cannot add a bridged Accessory with the same UUID as another bridged Accessory

Hello,
First thank you very much for the great work so far. The plugin was working fine till I added a second slide.
My setup:
Raspberry PI with Hoobs - https://hoobs.org/ - version 3.3.5
Latest plugin 1.0.1
Apple Homekit etc
2 slides in single room left and right - I named them Links & Rechts (I'm German)
I started with one and all was working I purchased the second one later
After I added the second one the Bridge started to crash:
13.5.2021, 18:48:39 [slide-shutter] Adding new accessory: Links
13.5.2021, 18:48:39 [slide-shutter] Slide shutter initialised!
13.5.2021, 18:48:39 [slide-shutter] Adding new accessory: Rechts
13.5.2021, 18:48:39 [slide-shutter] Slide shutter initialised!
13.5.2021, 18:48:39 (node:2530) UnhandledPromiseRejectionWarning: Error: Cannot add a bridged Accessory with the same UUID as another bridged Accessory: xyz-891b-7ec2d0257b3a
13.5.2021, 18:48:39 at Bridge.Accessory.addBridgedAccessory (/usr/local/lib/node_modules/@hoobs/hoobs/node_modules/hap-nodejs/src/lib/Accessory.ts:564:15)
13.5.2021, 18:48:39 at Bridge.Accessory.addBridgedAccessories (/usr/local/lib/node_modules/@hoobs/hoobs/node_modules/hap-nodejs/src/lib/Accessory.ts:593:12)
13.5.2021, 18:48:39 at Server.handleRegisterPlatformAccessories (/usr/local/lib/node_modules/@hoobs/hoobs/bridge/server.js:481:21)
13.5.2021, 18:48:39 at HomebridgeAPI.emit (events.js:315:20)
13.5.2021, 18:48:39 at HomebridgeAPI.registerPlatformAccessories (/usr/local/lib/node_modules/@hoobs/hoobs/node_modules/homebridge/src/api.ts:340:10)
13.5.2021, 18:48:39 at SlidePlatform.registerDevices (/home/hoobs/.hoobs/node_modules/homebridge-slide-shutter/src/platform.ts:162:18)
13.5.2021, 18:48:39 at SlidePlatform.discoverRemoteDevices (/home/hoobs/.hoobs/node_modules/homebridge-slide-shutter/src/platform.ts:111:12)
13.5.2021, 18:48:39 (Use node --trace-warnings ... to show where the warning was created)
13.5.2021, 18:48:39 (node:2530) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
13.5.2021, 18:48:39 (node:2530) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
It seems the plugin adds both in with the same UUID which then fails. Since I don't know the details I need for the manual config I was stuck on API. The cache looks strange too me after switching them
$ cat cachedAccessories
[{"plugin":"homebridge-slide-shutter","platform":"slide-shutter","context":{"device":{"name":"Links","id":6190,"deviceId":"slide_98F4AB1FE380","ip":null,"code":null,"pollInterval":null,"tolerance":null}},"displayName":"Links","UUID":"xyz-7ec2d0257b3a","category":1,"services":
$ cat cachedAccessories
[{"plugin":"homebridge-slide-shutter","platform":"slide-shutter","context":{"device":{"name":"Rechts","id":6673,"deviceId":"slide_98F4AB026818","ip":null,"code":null,"pollInterval":null,"tolerance":null}},"displayName":"Links","UUID":"xyz-891b-7ec2d0257b3a","category":1,"services":
Restarting with this corrupted cache will lead to a sigfault - I need to disable the API - delete the cache or disconnect from Apple.
"description": "",
"ports": {},
"accessories": [],
"platforms": [
    {
        "platform": "slide-shutter",
        "plugin_map": {
            "plugin_name": "homebridge-slide-shutter"
        },
        "name": "slide-shutter",
        "remote": false,
        "username": "xxx",
        "password": "xxx",
        "devices": []
    }

While pulling the data it needs to store them with different UUIDs to work.
Thanks!

Hi @stefblue83 thanks for the detailed bug report!
I see that your both slides are added with the same UUID. After some investigation i've found the bug and fixed it in v1.0.2.


Forum thread says that the latest version was release last year rather than last Monday.

In the "News" section at the bottom
(Updated March 12, 2016) v<IP_ADDRESS> has been released with some important bugfixes: https://forums.terraria.org/index.p...der-a-modding-api.23726/page-796#post-1251512

Your link is broken.
Thanks for the feedback, the news section is heavily outdated.
@bluemagic123 should update it or remove it.


[OSPO Book] PR for Drafting Chapter 4 Content

This initial commit opens a PR so the community can make edits to content work on Chapter 4

Who? OSPO Book Working Group
Where? Feb 5th Contributors' Call
How? 2024 Roadmap

Newcomers are welcome to join our WG calls 🙋♀

Merging this new content to further develop day-to-day operations in the upcoming month by the community (e.g. during touchpoint calls, contributor's WG call, etc) and review the final output during April's contributor's call. If anyone would like to suggest changes to the content or propose new ideas, please open a new pull request


Webpack with react and lodash makes bundle.js more than 800kb

I'm new to webpack, and many info about this issue is on browserify. I switched to webpack and had the same issue.
The thing is - I don't really know is this issue at all or not? Is it ok to have 800kb js file for using node module loader system?

Sorry, that's too vague. You need to give us information about what modules have been included... 800kb is too much. Webpack's default module runtime is roughly 100 LOC so that shouldn't be the problem.
However, I have one guess: lodash split the codebase into small modules recently which leads to lots of redundant modules in a deep dependency tree (as npm is creating it). You could try to install lodash via bower (which uses a flat dependency tree) and check if the problems still exists.

Another idea would be to explicitly require the bits you want from lodash:
const _each = require('lodash-node/modern/collections/forEach');

Also you can make react much smaller by doing a production build:
new webpack.DefinePlugin({
    'process.env': {
      // This has effect on the react lib size
      'NODE_ENV': JSON.stringify('production'),
    },
  })

@nelix @jhnns thank you!
The problem was that I used non-minified version of libs. The thing is, react by itself is pretty big (around 170kb min), so after adding minification all is ok.
For people, experiencing similar problem, my config:
var webpack = require('webpack');

module.exports = {
    entry: "./src.js",
    output: {
        path: __dirname,
        filename: "bundle.js"
    },
    module: {
        loaders: [
            { loader: "jsx-loader" }
        ]
    },
    plugins: [
      new webpack.optimize.UglifyJsPlugin({minimize: true})
    ]
};

So my 800kb turned into 180kb

For React, it's a good idea to use React NPM module and have
        new webpack.DefinePlugin({
          'process.env': {
            'NODE_ENV': JSON.stringify(argv.debug ? 'development' : 'production')
          }
        })

in plugins in production config.

@gaearon a quick question: is the JSON.stringify really needed for 'NODE_ENV': JSON.stringify('production') ??

@binarykitchen
You want the quotes to be there.
i.e. it should be
'NODE_ENV': '"production"'

and not
'NODE_ENV': 'production'

or it'll refer to undefined production variable.
JSON.stringify it just to make it clear.

thanks

@gaearon nice

Use -p key (shortcut for --optimize-minimize):
webpack -p --progress


Trying to use an object as a key results in the string '[object Object]' as a key

If I throw the following markup (which I believe is not valid YAML, though I'm not even remotely an expert) into the online YAML parser at http://yaml-online-parser.appspot.com/ ...
{{"foo": "bar"}: {"qux": "baz"}}

... then I get:

ERROR:

while constructing a mapping
in "", line 1, column 1:
{{"foo": "bar"}: {"bla": "bla"}}
^
found unacceptable key (dict objects are unhashable)
in "", line 1, column 2:
{{"foo": "bar"}: {"bla": "bla"}}

If I throw it into yaml.safeLoad, on the other hand, I don't get an error. Instead I get this:
> yaml.safeLoad('{{"foo": "bar"}: {"bla": "bla"}}')
{ '[object Object]': { bla: 'bla' } }
Whatever the correct behaviour here is (and I defer that question to those more knowledgable than me), this is plainly not it.

I guess, it should throw, because JSON is invalid.

which I believe is not valid YAML

It is valid.

http://yaml-online-parser.appspot.com/

It is not, obviously. YAML allows to use anything as a mapping key. However, JS-YAML loads YAML mappings into JS objects, and we have to convert YAML key objects into strings. This will be fixed in future with Map support.

The YAML being valid doesn't mean this should be closed, surely? Even if it's valid YAML, the behaviour here isn't useful; throwing an error indicating that this is valid YAML but js-yaml can't parse it seems more reasonable?

There are other options too, like parsing it into some structure other than an Object or taking an argument that indicates whether to throw on object keys or not. But silently turning object keys into "[object Object]" by default seems like it's going to be the wrong thing for the majority of users.

Sorry. I closed this issue because that behavior of JS-YAML is really old and even described in the README. However, you have a good point, and it's time to fix the problem. We've just discussed this internally, and here is the plan:

If Map is available, use it for mappings with non-string keys.
Otherwise throw a warning (exception by default) and continue with the old behavior.

I doubt this problem can be solved easy, because maps have completely different interface, and it will be very hard to make both (objects + map) support AND fast implementation. May be we could add maps support for explicits, but i should be sure, that it's really needed.
I'd suggest this behaviour:

throw warning
if intercepted - use stringified value for maps.

Yeah, I'm not too familiar with ES6 maps but given the difference in interface it seems that using objects where possible and maps only where non-string keys are needed would be pretty unhelpful and confusing behaviour. And swapping to maps altogether, besides being a significant breaking change, is current inviable for anybody who needs to support environments that don't have maps.
I'd guess that the ideal thing for you to do would be:

Add a parsing option, off by default, that causes JavaScript maps instead of objects to be used to represent YAML maps
Throw a warning if that option is not set and a YAML map with an object key is encountered during parsing. The warning should probably note that using the maps option will allow the YAML to be parsed properly.

You missedt the main question - why maps support should be added at all :) . If nobody use it - no reasons to spend time for adding support.

Something else relevant: using an array as a key is apparently legal YAML, but results in a string representation of the array being used as the key.
@puzrin:

You missedt the main question - why maps support should be added at all :) . If nobody use it - no reasons to spend time for adding support.

that's ultimately a call for you guys, and you're probably better qualified to make it than me, but let me toss out my thoughts for whatever it's worth.

I find it hard to predict whether use of objects and arrays as keys will take off in JavaScript once we all have Maps. But there are reasonable uses of that functionality. In the Python world you can use tuples as keys and that's often useful. For example, suppose you have a game with an infinitely large, sparsely-populated 2D game board, where each tile can either be empty or contain a playing piece. In Python you could represent this as a mapping of 2-tuples to pieces, like {(0,0): "something", (6,8): "something else", (1000001, -12345): "some other thing"}. I can't think of an idiomatic way of representing the same data in today's JavaScript that is quite as clean as the Pythonic way, but once we have Maps everywhere it would be possible to do things the same way as in Python using Maps with Array or Object keys.

And if such usage becomes common, then we'll probably also want to serialise those data structures, and JSON will be inadequate for the task.

Using Maps instead of Objects also has the advantage of guaranteeing key ordering, since YAML and JavaScript maps are ordered but JavaScript objects are (technically) not. There are plenty of situations where I might like to use an ordered map, like having a map of inputs to expected outputs representing test cases for some function and wanting to loop over them and run the tests in a sensible order. And again, if the data structure is potentially useful, then I potentially might want to serialise it or load it from a file.

Hard use cases aside, doesn't it just feel wrong to you for JavaScript's biggest YAML-parsing library to only be able to parse a subset of YAML?

I have no motivation to spend resources for adding native maps support. If someone wish to do it - PR will be accepted. AFAIK, even in current state js-yaml is significantly better than alternative implementations. So, i'd prefer to focus on another projects.

I just ran into this. I am trying to use YAML as a kind of language-independent graph serialization protocol. I have a graph of arbitrary Java objects on a server that I want to display over the web. Those server-side objects include Maps that use Objects as keys.

For what it's worth, I took at stab at replacing use of Object with Map in the loader. I'm not sure that I got it completely correct, I did not measure performance, I did not worry about compatibility, I did not make it an opt-in change, etc., but the primary work took less than an hour. It got me past the duplicate key problem resulting from use of String(object), but then I hit an aliasing problem and I don't know whether it was related. Ultimately I don't think I'll be continuing with YAML.

I also ran on this issue here. I thought about allowing users to represent a request object with key/value pairs that could be either function or scalars like:
? !someTypeBecomingAJsFunction someData : someValue
? someKey : !someTypeBecomingAJsFunction someData

I read the YAML specification and was ecstatic to find out it supported my strange use case out of the box.
After running the YAML parser I could easily transform this into a function that if called with arguments produces an object representing the intended structure.
But I also agree that the default object behavior is better for ease of use (the Map API is sadly not accepting . and [] operators which would have allowed them to act as drop in replacement for objects). I believe the correct way to do this would be to opt into map representation using an option as suggested by @ExplodingCabbage. It should throw properly if opt in was not done and a key that is not a string comes along during parsing.

Add a parsing option, off by default, that causes JavaScript maps instead of objects to be used to represent YAML maps
Throw a warning if that option is not set and a YAML map with an object key is encountered during parsing. The warning should probably note that using the maps option will allow the YAML to be parsed properly.

This sounds like the best approach.
Now we just need somebody to implement it =P

Now we just need somebody to implement it

...and without significant speed loss for legacy mode.

I created a little script to compare how different JavaScript based YAML parser handle this issue: https://gist.github.com/adius/0bb08111c16a15fb34c68b5a24b817d0


upgrade kong from 0.13 to 1.0.0 ,cassandra data lost

Summary
SUMMARY_GOES_HERE
Steps To Reproduce

Additional Details & Logs

Kong version ($ kong version)
Kong debug-level startup logs ($ kong start --vv)
Kong error logs (<KONG_PREFIX>/logs/error.log)
Kong configuration (the output of a GET request to Kong's Admin port - see
https://docs.konghq.com/latest/admin-api/#retrieve-node-information)
Operating system

Upgrade to 0.14.1 fist then to 1.0.0
Per https://github.com/Kong/kong/blob/1.0.0/UPGRADE.md#preliminary-checks

If your cluster is running a version lower than 0.14, you need to upgrade to 0.14.1 first instead. Upgrading from a pre-0.14 cluster straight to Kong 1.0 is not supported

@RobinsChens Also, you seem to be trying to list /apis. Be mindful that /apis was deprecated in 0.13.0 back in March 2018, and removed in 1.0.0 in December 2018. You need to convert your API entities to Route and Service entities to use Kong 1.x.

I am going to close this for now. If you follow the upgrade path as suggested by @hutchic and still have issues after converting your APIs to Routes and Services, feel free to reopen.


Running tasks using workbench.action.tasks.runTask and ITaskIdentifier is broken in v1.70

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

VS Code Version: 1.70.1
OS Version: Darwin x64 21.6.0

Steps to Reproduce:
This code works:
vscode.commands.executeCommand('workbench.action.tasks.runTask', 'Hell: Open door');

and this does not:
vscode.commands.executeCommand('workbench.action.tasks.runTask', {
  type: 'Hell',
  task: 'Open door',
});

Related issues:

https://github.com/microsoft/vscode/issues/155635
https://github.com/microsoft/vscode/issues/157814

@alexr00, could we ask your team to cover workbench.action.tasks.runTask with the integration tests to avoid this issue in future releases? Thanks.

@ivankravets Alex is no longer responsible for tasks - I am.
This is already fixed in Insider's. We will consider making this a candidate in the next recovery release.

@meganrogge, ah, sorry.
Should I close this issue?
P.S: How about this https://github.com/microsoft/vscode/issues/157814 ?

/duplicate #157814

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


AMBER Playable NFT Marketplace based on Mintbase technology.

Project Abstract
AMBER Playable NFT Marketplace based on Mintbase technology.
Our proposal is to develop a Playable NFT Marketplace Based on AMBER Open-source Metaverse, which will be the Playable NFT Marketplace powered by Mintbase technology with virtual asseet ownership confirmation and in-game NFT utility.
For which grant level are you applying?

[ ] Level 1:  Up to $10,000, 2 approvals
[ ] Level 2:  Up to $50,000, 3 approvals
[x] Level 3:  Unlimited, 5 approvals (for > $100k Web3 Foundation Council approval)

Application Checklist

[x] The application template has been copied, renamed ( project_name.md) and updated.
[x ] NEAR address for the payment of the milestones is provided inside the application.
[x ] I have read and acknowledged the terms and conditions.
[x] The software delivered for this grant will be released under an open-source license specified in the application.
[x] The initial PR contains only one commit (squash and force-push if needed).
[x] The grant will only be announced once the first milestone has been accepted.

How Did You Hear About our grants program?

[x] Mintbase Website
[x] Mintbase Community (Twitter, Discord, Telegram etc.)
[ ] Hackathon
[x] Personal Recommendation
[ ] Investor/VC
[ ] Online Search
[ ] Other: _______

Gm!
Thank you for submitting your project to the Mintbase Grants Program.
We're starting to review applications now and will be in touch over email moving forward. Please do drop your contact here in the comments or reach out to us at<EMAIL_ADDRESS>Feel free to add any extra information you'd like us to consider.
Looking forward to working together! Let's get building :)

Hi @reginamintbase , thanks for your reply!
Let's continue communicating on telegram, feel free to text me (https://t.me/andrey10010)
) or Valentin (https://t.me/INF_INI_TY)
Kind regards,
Andreas

Updates to the grant proposal in the last commit to fit within the budget proposed by the Mintbase team


Issue with connection to PRISM EventToCommandBehavior

| found an issue with connection of CameraView.OnDetected event to PRSIM EventToCommandBehavior - now is not possible to pass BarcodeResults as parameter to command.Execute method cuz EventToCommandBehavior requires that data provided via public property
This issue very easy to fix - to change BarcodeResults to property:
`public class OnDetectedEventArg : EventArgs
{
public List BarcodeResults { get; set; }
    public OnDetectedEventArg()
    {
        BarcodeResults = new List<BarcodeResult>();
    }
}`

I made a fix with branch but unfortunatelly I  can't to push it :(

Just uploaded 5.0.2 on this.
Please update the package to see if it works

Problem was fixed. Thank you


Any work to be done?

Is there an up to date wishlist of things that would be good to get done?

I haven't tracked this, but new kernel add a lot of new features (like futex opcode) and it would be nice to provide wrappers and tests for them.


Regression in 2.21 over _over_time selects

What did you do?
Run sum(count_over_time(up[7d])) ; takes 21s in 2.21, 9s in 2.20.
2.20:
{
  "status": "success",
  "data": {
    "resultType": "vector",
    "result": [
      {
        "metric": {},
        "value": [
<PHONE_NUMBER>.694,
          "60537224"
        ]
      }
    ],
    "stats": {
      "timings": {
        "evalTotalTime": 8.329375888,
        "resultSortTime": 0,
        "queryPreparationTime": 0.015605704,
        "innerEvalTime": 8.313736971,
        "execQueueTime": 1.9189e-05,
        "execTotalTime": 8.329413218
      }
    }
  }
}

2.21:
{
  "status": "success",
  "data": {
    "resultType": "vector",
    "result": [
      {
        "metric": {},
        "value": [
<PHONE_NUMBER>.694,
          "60518026"
        ]
      }
    ],
    "stats": {
      "timings": {
        "evalTotalTime": 20.547211193,
        "resultSortTime": 0,
        "queryPreparationTime": 0.011826232,
        "innerEvalTime": 20.535358719,
        "execQueueTime": 2.3937e-05,
        "execTotalTime": 20.547251203
      }
    }
  }
}

Environment

Prometheus version:

$ prometheus --version
prometheus, version 2.21.0-rc.0 (branch: HEAD, revision: 1195cc24e3c8b9af8aeafcfc46473f6486ca3f64)
  build user:       root@1e754dfec932
  build date:       20200827-23:23:27
  go version:       go1.15

I have ran locally the query over a small tsdb, here are the response times:
28c5cfaf0d417d9bc2378f1e9838a15ebc76e6b8: 0.8
30e079bbd5cc72517f1ad51927d403010f4036ff: 0.10
a5366cb23667c623458f6a0f8fc67e10e10e01c1: 0.10
db7c5e204aeadf603ae8eacc9691326b1f188c7e: 0.04
e6d7cc5fa43716281bdf5d1cf40415f99a0e9623: 0.10

It seems like the old code did not touch the heap package whereas the new one is taking a lot of time here.

Yes, we had mergeSort instead of the heap - heap usually takes less memory, but looks like we are slower in this case.
Over what data you are running this query? Are you sure it's the same data? The same step?
Can we reproduce this with some of our benchmarks locally? :thinking:

I don't get also why it's over_time regression, if this is iterator part, then we should see similar on other queries as well, no?

I don't get also why it's over_time regression, if this is iterator part, then we should see similar on other queries as well, no?

It just happens that I noticed it with _over_time, at that point I did not know exactly what was going on.

Yes, we had mergeSort instead of the heap - heap usually takes less memory, but looks like we are slower in this case.

There is a +100% performance degradation in my test queries - wheter they take 10ms or 9s, it ends up taking twice as much time.

Over what data you are running this query? Are you sure it's the same data? The same step?

The data of the bench is run over blocks I have dowloaded from demo.do.prometheus.io.
Same data, same step.
In prod, it is 2 tsdb of a HA prometheus pair, one 2.21 and one 2.20, for which the rule groups duration were the same, but some of them doubled when updated one of them to 2.21.

Can we reproduce this with some of our benchmarks locally?

I did not take any step in this direction myself, but it should be trivial as I get consistently that increase in multiple envs with different data sets.

Thanks, trying to repro locally.

Any differnce in CPU consumption? Maybe your CPU is throttled in the same time?

The profile is on the same machine, and on prod the cpu usage is the same

Comparing '/home/bwplotka/Repos/prometheus/_dev/benchmarks/results/BenchmarkQuerierSelect/prechanges/2020-09-02-T13-07-47.bench.out' with (new) '/home/bwplotka/Repos/prometheus/_dev/benchmarks/results/BenchmarkQuerierSelect/2.21-rc-base/2020-09-02-T14-07-17.bench.out'
name                                          old time/op    new time/op    delta
QuerierSelect/Head/1of1000000-12                 567ms ± 0%     420ms ± 0%  -25.94%
QuerierSelect/Head/10of1000000-12                581ms ± 0%     432ms ± 0%  -25.57%
QuerierSelect/Head/100of1000000-12               515ms ± 0%     473ms ± 0%   -8.08%
QuerierSelect/Head/1000of1000000-12              546ms ± 0%     454ms ± 0%  -16.90%
QuerierSelect/Head/10000of1000000-12             543ms ± 0%     426ms ± 0%  -21.56%
QuerierSelect/Head/100000of1000000-12            584ms ± 0%     467ms ± 0%  -20.11%
QuerierSelect/Head/1000000of1000000-12           731ms ± 0%     921ms ± 0%  +25.98%
QuerierSelect/SortedHead/1of1000000-12           1.33s ± 0%     1.98s ± 0%  +48.19%
QuerierSelect/SortedHead/10of1000000-12          1.70s ± 0%     1.89s ± 0%  +11.28%
QuerierSelect/SortedHead/100of1000000-12         1.70s ± 0%     2.02s ± 0%  +19.31%
QuerierSelect/SortedHead/1000of1000000-12        1.62s ± 0%     1.97s ± 0%  +21.42%
QuerierSelect/SortedHead/10000of1000000-12       1.56s ± 0%     2.03s ± 0%  +29.73%
QuerierSelect/SortedHead/100000of1000000-12      1.59s ± 0%     2.01s ± 0%  +26.08%
QuerierSelect/SortedHead/1000000of1000000-12     2.47s ± 0%     2.24s ± 0%   -9.34%
QuerierSelect/Block/1of1000000-12                1.14s ± 0%     1.03s ± 0%   -9.52%
QuerierSelect/Block/10of1000000-12               1.11s ± 0%     0.98s ± 0%  -11.51%
QuerierSelect/Block/100of1000000-12              1.22s ± 0%     0.98s ± 0%  -19.37%
QuerierSelect/Block/1000of1000000-12             1.34s ± 0%     0.96s ± 0%  -28.69%
QuerierSelect/Block/10000of1000000-12            1.25s ± 0%     0.96s ± 0%  -23.82%
QuerierSelect/Block/100000of1000000-12           1.42s ± 0%     1.00s ± 0%  -29.54%
QuerierSelect/Block/1000000of1000000-12          1.99s ± 0%     1.30s ± 0%  -34.99%

name                                          old alloc/op   new alloc/op   delta
QuerierSelect/Head/1of1000000-12                 176MB ± 0%      48MB ± 0%  -72.73%
QuerierSelect/Head/10of1000000-12                176MB ± 0%      48MB ± 0%  -72.73%
QuerierSelect/Head/100of1000000-12               176MB ± 0%      48MB ± 0%  -72.72%
QuerierSelect/Head/1000of1000000-12              176MB ± 0%      48MB ± 0%  -72.67%
QuerierSelect/Head/10000of1000000-12             177MB ± 0%      49MB ± 0%  -72.14%
QuerierSelect/Head/100000of1000000-12            190MB ± 0%      62MB ± 0%  -67.23%
QuerierSelect/Head/1000000of1000000-12           320MB ± 0%     192MB ± 0%  -40.00%
QuerierSelect/SortedHead/1of1000000-12           229MB ± 0%     101MB ± 0%  -55.85%
QuerierSelect/SortedHead/10of1000000-12          229MB ± 0%     101MB ± 0%  -55.85%
QuerierSelect/SortedHead/100of1000000-12         229MB ± 0%     101MB ± 0%  -55.84%
QuerierSelect/SortedHead/1000of1000000-12        229MB ± 0%     101MB ± 0%  -55.81%
QuerierSelect/SortedHead/10000of1000000-12       231MB ± 0%     103MB ± 0%  -55.50%
QuerierSelect/SortedHead/100000of1000000-12      244MB ± 0%     116MB ± 0%  -52.55%
QuerierSelect/SortedHead/1000000of1000000-12     373MB ± 0%     245MB ± 0%  -34.30%
QuerierSelect/Block/1of1000000-12                227MB ± 0%      99MB ± 0%  -56.34%
QuerierSelect/Block/10of1000000-12               227MB ± 0%      99MB ± 0%  -56.34%
QuerierSelect/Block/100of1000000-12              227MB ± 0%      99MB ± 0%  -56.34%
QuerierSelect/Block/1000of1000000-12             227MB ± 0%      99MB ± 0%  -56.31%
QuerierSelect/Block/10000of1000000-12            229MB ± 0%     100MB ± 0%  -56.08%
QuerierSelect/Block/100000of1000000-12           243MB ± 0%     112MB ± 0%  -53.89%
QuerierSelect/Block/1000000of1000000-12          384MB ± 0%     227MB ± 0%  -40.83%

name                                          old allocs/op  new allocs/op  delta
QuerierSelect/Head/1of1000000-12                 4.00M ± 0%     1.00M ± 0%  -75.00%
QuerierSelect/Head/10of1000000-12                4.00M ± 0%     1.00M ± 0%  -75.00%
QuerierSelect/Head/100of1000000-12               4.00M ± 0%     1.00M ± 0%  -74.99%
QuerierSelect/Head/1000of1000000-12              4.00M ± 0%     1.00M ± 0%  -74.94%
QuerierSelect/Head/10000of1000000-12             4.02M ± 0%     1.03M ± 0%  -74.38%
QuerierSelect/Head/100000of1000000-12            4.20M ± 0%     1.30M ± 0%  -69.05%
QuerierSelect/Head/1000000of1000000-12           6.00M ± 0%     4.00M ± 0%  -33.33%
QuerierSelect/SortedHead/1of1000000-12           4.00M ± 0%     1.00M ± 0%  -75.00%
QuerierSelect/SortedHead/10of1000000-12          4.00M ± 0%     1.00M ± 0%  -75.00%
QuerierSelect/SortedHead/100of1000000-12         4.00M ± 0%     1.00M ± 0%  -74.99%
QuerierSelect/SortedHead/1000of1000000-12        4.00M ± 0%     1.00M ± 0%  -74.94%
QuerierSelect/SortedHead/10000of1000000-12       4.02M ± 0%     1.03M ± 0%  -74.38%
QuerierSelect/SortedHead/100000of1000000-12      4.20M ± 0%     1.30M ± 0%  -69.05%
QuerierSelect/SortedHead/1000000of1000000-12     6.00M ± 0%     4.00M ± 0%  -33.33%
QuerierSelect/Block/1of1000000-12                6.00M ± 0%     3.00M ± 0%  -50.00%
QuerierSelect/Block/10of1000000-12               6.00M ± 0%     3.00M ± 0%  -50.00%
QuerierSelect/Block/100of1000000-12              6.00M ± 0%     3.00M ± 0%  -50.00%
QuerierSelect/Block/1000of1000000-12             6.00M ± 0%     3.00M ± 0%  -50.00%
QuerierSelect/Block/10000of1000000-12            6.04M ± 0%     3.02M ± 0%  -50.00%
QuerierSelect/Block/100000of1000000-12           6.40M ± 0%     3.20M ± 0%  -50.00%
QuerierSelect/Block/1000000of1000000-12          10.0M ± 0%      5.0M ± 0%  -50.00%

Maybe this benchmark is not going through problematic parts? It shows a small regression only when selecting data from
sorted head:
QuerierSelect/Head/1000000of1000000-12           731ms ± 0%     921ms ± 0%  +25.98%
QuerierSelect/SortedHead/1of1000000-12           1.33s ± 0%     1.98s ± 0%  +48.19%
QuerierSelect/SortedHead/10of1000000-12          1.70s ± 0%     1.89s ± 0%  +11.28%
QuerierSelect/SortedHead/100of1000000-12         1.70s ± 0%     2.02s ± 0%  +19.31%
QuerierSelect/SortedHead/1000of1000000-12        1.62s ± 0%     1.97s ± 0%  +21.42%
QuerierSelect/SortedHead/10000of1000000-12       1.56s ± 0%     2.03s ± 0%  +29.73%
QuerierSelect/SortedHead/100000of1000000-12      1.59s ± 0%     2.01s ± 0%  +26.08%

I think if that would be the case you could reproduce it with instant query thas spans on head + at least one block.
Bench time 1m

The problem is that this is for 1000000 series with just one sample, that's why it might be not showing all things. Extending this now.

Also @roidelapluie if you can describe the dataset returned by the query (number of series, scrape interval)

423 series, over 7 days, scraped every 30s

Reverted to old merge Series Set, let's test it out: https://github.com/prometheus/prometheus/pull/7882

Update:
I tried quite a lot and the results are quite confusing.

Extended benchmark time
Made sure we don't allow compiler optimizing away things.
Actually using At and iterating over samples. This is quite important because new version of iterator actually populates chunks ONLY when you use At :facepalm:
Actually added more samples to benchmark
Ensured the benchmark output is roughly correct
Pinned benchmark to single CPU, ensured laptop is not doing anything else.

And.. while with this it looks bad on the allocation front (to be investigated) it is the in terms of latency:
Results
bash ../prometheus/_dev/benchmarks/cmp.sh prior-extd 2.21-extd
Comparing '/home/bwplotka/Repos/prometheus/_dev/benchmarks/results/BenchmarkQuerierSelect/prior-extd/2020-09-03-T22-42-40.bench.out' (5bc919ba7f90d65167b7533ea2e0ed5ac4e440f8 BenchmarkQuerierSelect ./tsdb/... 2h 5m /home/bwplotka/Repos/prometheus/_dev/benchmarks/../../../prometheus_b perflocked) with (new) '/home/bwplotka/Repos/prometheus/_dev/benchmarks/results/BenchmarkQuerierSelect/2.21-extd/2020-09-03-T23-26-56.bench.out' (5bc919ba7f90d65167b7533ea2e0ed5ac4e440f8 BenchmarkQuerierSelect ./tsdb/... 2h 5m /home/bwplotka/Repos/prometheus/_dev/benchmarks/../../../prometheus_b perflocked)
name                                                            old time/op    new time/op    delta
QuerierSelect/series=1000_with_samples=100000/Block/1of1000       33.2ms ± 0%    34.7ms ± 0%    +4.48%
QuerierSelect/series=1000_with_samples=100000/Block/500of1000      1.56s ± 0%     1.56s ± 0%    +0.22%
QuerierSelect/series=1000_with_samples=100000/Block/1000of1000     3.08s ± 0%     3.09s ± 0%    +0.45%

name                                                            old alloc/op   new alloc/op   delta
QuerierSelect/series=1000_with_samples=100000/Block/1of1000       42.2MB ± 0%    41.2MB ± 0%    -2.18%
QuerierSelect/series=1000_with_samples=100000/Block/500of1000     65.7MB ± 0%   111.5MB ± 0%   +69.60%
QuerierSelect/series=1000_with_samples=100000/Block/1000of1000    89.3MB ± 0%   181.9MB ± 0%  +103.54%

name                                                            old allocs/op  new allocs/op  delta
QuerierSelect/series=1000_with_samples=100000/Block/1of1000        8.55k ± 0%     6.37k ± 0%   -25.49%
QuerierSelect/series=1000_with_samples=100000/Block/500of1000      1.26M ± 0%     1.68M ± 0%   +33.03%
QuerierSelect/series=1000_with_samples=100000/Block/1000of1000     2.51M ± 0%     3.35M ± 0%   +33.23%

Extended benchmark:
var StubForBenchmark int64

func BenchmarkQuerierSelect(b *testing.B) {
	tmpDir, err := ioutil.TempDir("", "test_querier_select_dir")
	testutil.Ok(b, err)
	b.Cleanup(func() { testutil.Ok(b, os.RemoveAll(tmpDir)) })

	for i, tcase := range []struct {
		series           int
		samplesPerSeries int
	}{
		//{
		//	series:           1,
		//	samplesPerSeries: 1e8,
		//},
		{
			series:           1e3,
			samplesPerSeries: 1e5,
		},
		//{
		//	series:           1e6,
		//	samplesPerSeries: 1,
		//},
	} {
		b.Run(fmt.Sprintf("series=%v_with_samples=%v", tcase.series, tcase.samplesPerSeries), func(b *testing.B) {
			h, err := NewHead(
				nil, nil, nil,
				DefaultBlockDuration,
				filepath.Join(tmpDir, fmt.Sprintf("%v", i)),
				nil,
				DefaultStripeSize,
				nil,
			)
			testutil.Ok(b, err)
			b.Cleanup(func() { h.Close() })

			app := h.Appender()
			r := rand.New(rand.NewSource(123))
			for i := 0; i < tcase.series; i++ {
				ref, err := app.Add(labels.FromStrings("foo", "bar", "i", fmt.Sprintf("%d%s", i, postingsBenchSuffix)), int64(i*tcase.samplesPerSeries), r.Float64())
				testutil.Ok(b, err)
				for j := 1; j < tcase.samplesPerSeries; j++ {
					testutil.Ok(b, app.AddFast(ref, int64(i*tcase.samplesPerSeries+j), r.Float64()))
				}
			}
			testutil.Ok(b, app.Commit())

			bench := func(b *testing.B, br BlockReader, sorted bool) {
				matcher := labels.MustNewMatcher(labels.MatchEqual, "foo", "bar")

				cases := []int{1, tcase.series / 2, tcase.series}
				if tcase.series == 1 {
					cases = []int{1}
				}
				for _, s := range cases {
					b.Run(fmt.Sprintf("%dof%d", s, tcase.series), func(b *testing.B) {
						q, err := NewBlockQuerier(br, 0, int64(s*tcase.samplesPerSeries-1))
						testutil.Ok(b, err)
						defer q.Close()

						var t int64
						b.ResetTimer()
						for i := 0; i < b.N; i++ {
							counter := 0
							ss := q.Select(sorted, nil, matcher)
							for ss.Next() {
								at := ss.At()
								counter++
								it := at.Iterator()
								for it.Next() {
									t, _ = it.At()
								}
								testutil.Ok(b, it.Err())
							}
							testutil.Ok(b, ss.Err())
							testutil.Equals(b, 0, len(ss.Warnings()))
							testutil.Equals(b, s, counter)
						}
						StubForBenchmark = t

					})
				}
			}

			//b.Run("Head", func(b *testing.B) {
			//	bench(b, h, false)
			//})
			//b.Run("SortedHead", func(b *testing.B) {
			//	bench(b, h, true)
			//})

			block, err := OpenBlock(nil, createBlockFromHead(b, filepath.Join(tmpDir, fmt.Sprintf("block%v", i)), h), nil)
			testutil.Ok(b, err)
			b.Cleanup(func() { testutil.Ok(b, block.Close()) })
			b.Run("Block", func(b *testing.B) {
				bench(b, block, false)
			})
		})
	}
}

Good:  I can see slower query latency locally on bigger dataset WITH query API. This tells me that:

it has to be something with PromQL (probably the way it invokes the select).
or dataset has to be specific

Checking those now.
NOTE: I am on holidays from tomorrow, so focusing the full day on this today.

My suspicion is that we implemented SeriesSet one way, but PromQL is using it oddly with iterating through Next first and gathering all At first. We talked about this before with @brian-brazil to change it so trying this now (:

I changed this and it's not that, it must be select itself for certain data.

My attempt: https://github.com/prometheus/prometheus/compare/promselect?expand=1

Ok, finally repro in Select benchmark (using 1GB of real data).
Before my PR:
BenchmarkDBBlocksQuerierSelect/[__name__="up"]
51.441129ms
54.092604ms
57.575391ms
57.851091ms
53.878885ms
56.04315ms
55.492025ms
61.040963ms

After:
BenchmarkDBBlocksQuerierSelect
BenchmarkDBBlocksQuerierSelect/[__name__="up"]
466.592624ms
468.92072ms
448.736893ms
453.99298ms
450.940618ms

Quite crazy! Now I can dig further what's up.

Comparing '/home/bwplotka/Repos/prometheus/_dev/benchmarks/results/BenchmarkDBBlocksQuerierSelect/prior-real/2020-09-04-T11-14-51.bench.out' (ac4080446f59440a202ce1b4475bfe192ec61013 BenchmarkDBBlocksQuerierSelect ./tsdb/... 2h 2m /home/bwplotka/Repos/prometheus/_dev/benchmarks/../../../prometheus_b perflocked) with (new) '/home/bwplotka/Repos/prometheus/_dev/benchmarks/results/BenchmarkDBBlocksQuerierSelect/2.21-real/2020-09-04-T11-11-00.bench.out' (ac4080446f59440a202ce1b4475bfe192ec61013 BenchmarkDBBlocksQuerierSelect ./tsdb/... 2h 2m /home/bwplotka/Repos/prometheus/_dev/benchmarks/../../../prometheus_b perflocked)
name                                   old time/op    new time/op    delta
DBBlocksQuerierSelect/[__name__="up"]    53.0ms ± 0%   489.5ms ± 0%  +823.32%

name                                   old alloc/op   new alloc/op   delta
DBBlocksQuerierSelect/[__name__="up"]    1.86MB ± 0%    3.71MB ± 0%   +98.80%

name                                   old allocs/op  new allocs/op  delta
DBBlocksQuerierSelect/[__name__="up"]     49.5k ± 0%     67.9k ± 0%   +37.18%

Lot's to improve ;p

Repro benchmark:
func BenchmarkDBBlocksQuerierSelect(b *testing.B) {
	tmpDir, err := ioutil.TempDir("", "test_querier_select")
	testutil.Ok(b, err)
	b.Cleanup(func() { testutil.Ok(b, os.RemoveAll(tmpDir)) })

	for _, tcase := range []struct {
		matchers []*labels.Matcher
	}{
		{
			matchers: []*labels.Matcher{
				labels.MustNewMatcher(labels.MatchEqual, "__name__", "up"),
			},
		},
	} {
		b.Run(fmt.Sprintf("%v", tcase.matchers), func(b *testing.B) {
			// 4w data from demo Prometheus Server.
			db, err := OpenDBReadOnly(filepath.Join("..", "..", "prometheus", "_dev", "test", "var", "lib", "prometheus"), log.NewNopLogger())
			testutil.Ok(b, err)
			defer db.Close()

			var t int64
			q, err := db.Querier(context.Background(), math.MinInt64, math.MaxInt64)
			testutil.Ok(b, err)
			defer q.Close()

			b.ResetTimer()
			for i := 0; i < b.N; i++ {
				// PromQL does not require sorted results.
				ss := q.Select(false, nil, tcase.matchers...)
				for ss.Next() {
					at := ss.At()
					it := at.Iterator()
					for it.Next() {
						t, _ = it.At()
					}
					testutil.Ok(b, it.Err())
				}
				testutil.Ok(b, ss.Err())
				testutil.Equals(b, 0, len(ss.Warnings()))
			}
			StubForBenchmark = t

		})
	}
}

Data from @roidelapluie and I can send the tar if needed (1GB)

Profiles:
(With regrssion), CPU:

Vs most of the old profile is on chunk iterating as expected:
**

I think I found something. We do 10x more chunk fetching than needed

                                           30.86s 51.92% |   github.com/prometheus/prometheus/storage.samplesIteratorHeap.Less /home/bwplotka/Repos/prometheus_b/storage/merge.go:520
                                            16.09s 27.07% |   github.com/prometheus/prometheus/storage.samplesIteratorHeap.Less /home/bwplotka/Repos/prometheus_b/storage/merge.go:521
                                             6.35s 10.68% |   github.com/prometheus/prometheus/storage.(*chainSampleIterator).At /home/bwplotka/Repos/prometheus_b/storage/merge.go:469
                                             6.14s 10.33% |   github.com/prometheus/prometheus/storage.(*chainSampleIterator).Next /home/bwplotka/Repos/prometheus_b/storage/merge.go:489
    41.68s 23.38% 23.38%     59.44s 33.35%                | github.com/prometheus/prometheus/tsdb.(*populateWithDelSeriesIterator).At /home/bwplotka/Repos/prometheus_b/tsdb/querier.go:587
                                            17.76s 29.88% |   github.com/prometheus/prometheus/tsdb/chunkenc.(*xorIterator).At /home/bwplotka/Repos/prometheus_b/tsdb/chunkenc/xor.go:271
----------------------------------------------------------+-------------
                                            17.76s   100% |   github.com/prometheus/prometheus/tsdb.(*populateWithDelSeriesIterator).At /home/bwplotka/Repos/prometheus_b/tsdb/querier.go:587
    17.76s  9.96% 33.35%     17.76s  9.96%                | github.com/prometheus/prometheus/tsdb/chunkenc.(*xorIterator).At /home/bwplotka/Repos/prometheus_b/tsdb/chunkenc/xor.go:271
----------------------------------------------------------+-------------
                                            15.76s 37.49% |   container/heap.down /home/bwplotka/.gvm/gos/go1.14.2/src/container/heap/heap.go:112
                                            15.34s 36.49% |   container/heap.up /home/bwplotka/.gvm/gos/go1.14.2/src/container/heap/heap.go:93
                                            10.94s 26.02% |   container/heap.down /home/bwplotka/.gvm/gos/go1.14.2/src/container/heap/heap.go:109
    11.18s  6.27% 39.62%     42.04s 23.59%                | github.com/prometheus/prometheus/storage.samplesIteratorHeap.Less /home/bwplotka/Repos/prometheus_b/storage/merge.go:520
                                            30.86s 73.41% |   github.com/prometheus/prometheus/tsdb.(*populateWithDelSeriesIterator).At /home/bwplotka/Repos/prometheus_b/tsdb/querier.go:587

So actually we were looking on wrong heap.. ;p
The reason is simple - we use vertical 'safe' merge even for series that does not overlap. Fix in progress.


Fixes issue with new plugin cancellation

Create new Tex Plugin
Go to History > View History
Click on cancel
Click on the (x) icon

The Problem

History opens, it shouldn't until we cancel or save the plugin
When pressing cancel, it creates an empty plugin
When pressing the (x) icon, message appears (correct behaviour but wrong context)

This PR fixes
The window will stay frozen now when a plugin is created and caches the state. No new content can be loaded until the user either presses cancel or saves the plugin. This does not solve the reload issue where an empty plugin is still created. A better solution will be provided through https://github.com/divio/django-cms/pull/4381

LGTM


rename label uiTheme for future workbench theme

In current version, we can only modify editor(syntax) theme.
But related #3112, it more fancy to customize the whole workbench.
Now we use uiTheme labeled editor(syntax) theme.
So, I suggest use editorTheme or syntaxTheme for current uiTheme.
And left uiTheme for workbench.

The current thinking is to expand the editor color themes to also contain workbench colors.
'uiTheme' which describes the base theme would still be needed to e.g. describe the icon theme.
Closing as dup of #3112


Unable to compile master branch, scons ModuleNotFoundError

Godot version
4.0
System information
Debian 11
Issue description
scons report the following error:
scons: Reading SConscript files ...
ModuleNotFoundError: No module named 'editor.template_builders'; 'editor' is not a package:
Steps to reproduce
clone the master repository and try to compile with:
/usr/bin/env python3 /usr/local/bin/scons --jobs=8 platform=linuxbsd target=release_debug
Minimal reproduction project
No response

4.0

4.0 is a moving target. Please specify the exact Git commit hash when reporting issues :slightly_smiling_face:

I've been trying to compile master for a week but I'm getting the same error (arch/gnome). I'll try Calinou's proposed workaround and report back.

I have tried the SCons from pip with the commit 7faf02383c52bcf637888b397fe03972b6640710  but I'm having the same error.
Here is the scons stack trace:
scons: Reading SConscript files ...
ModuleNotFoundError: No module named 'editor.template_builders'; 'editor' is not a package:
  File ".../godot/SConstruct", line 738:
    SConscript("modules/SCsub")
  File "/home/.../.local/lib/python3.9/site-packages/SCons/Script/SConscript.py", line 660:
    return method(*args, **kw)
  File "/home/.../.local/lib/python3.9/site-packages/SCons/Script/SConscript.py", line 597:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/home/.../.local/lib/python3.9/site-packages/SCons/Script/SConscript.py", line 285:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File ".../godot/modules/SCsub", line 46:
    SConscript(name + "/SCsub")  # Built-in.
  File "/home/.../.local/lib/python3.9/site-packages/SCons/Script/SConscript.py", line 660:
    return method(*args, **kw)
  File "/home/.../.local/lib/python3.9/site-packages/SCons/Script/SConscript.py", line 597:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/home/.../.local/lib/python3.9/site-packages/SCons/Script/SConscript.py", line 285:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File ".../godot/modules/gdscript/SCsub", line 25:
    SConscript("editor_templates/SCsub")
  File "/home/.../.local/lib/python3.9/site-packages/SCons/Script/SConscript.py", line 660:
    return method(*args, **kw)
  File "/home/.../.local/lib/python3.9/site-packages/SCons/Script/SConscript.py", line 597:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/home/.../.local/lib/python3.9/site-packages/SCons/Script/SConscript.py", line 285:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File ".../godot/modules/gdscript/editor_templates/SCsub", line 5:
    import editor.template_builders as build_template_gd

I tried the SCons from pip too; same error. Commit 49482966ec0e5b9a8937eef5ef664c9a350f50d3.
ModuleNotFoundError: No module named 'editor.template_builders'; 'editor' is not a package:
File "/home/.../Documentos/git/godot/SConstruct", line 738:
SConscript("modules/SCsub")
File "/home/.../.local/lib/python3.10/site-packages/SCons/Script/SConscript.py", line 660:
return method(*args, **kw)
File "/home/.../.local/lib/python3.10/site-packages/SCons/Script/SConscript.py", line 597:
return _SConscript(self.fs, *files, **subst_kw)
File "/home/.../.local/lib/python3.10/site-packages/SCons/Script/SConscript.py", line 285:
exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
File "/home/.../Documentos/git/godot/modules/SCsub", line 46:
SConscript(name + "/SCsub")  # Built-in.
File "/home/.../.local/lib/python3.10/site-packages/SCons/Script/SConscript.py", line 660:
return method(*args, **kw)
File "/home/.../.local/lib/python3.10/site-packages/SCons/Script/SConscript.py", line 597:
return _SConscript(self.fs, *files, **subst_kw)
File "/home/.../.local/lib/python3.10/site-packages/SCons/Script/SConscript.py", line 285:
exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
File "/home/.../Documentos/git/godot/modules/gdscript/SCsub", line 25:
SConscript("editor_templates/SCsub")
File "/home/.../.local/lib/python3.10/site-packages/SCons/Script/SConscript.py", line 660:
return method(*args, **kw)
File "/home/.../.local/lib/python3.10/site-packages/SCons/Script/SConscript.py", line 597:
return _SConscript(self.fs, *files, **subst_kw)
File "/home/.../.local/lib/python3.10/site-packages/SCons/Script/SConscript.py", line 285:
exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
File "/home/.../Documentos/git/godot/modules/gdscript/editor_templates/SCsub", line 5:
import editor.template_builders as build_template_gd

@soloparatolos Could you try to bisect the regression? Thanks in advance :slightly_smiling_face:

There's no need to bisect, the error is clear, as this code was added in #53957.

Cannot reproduce on Ubuntu 21.10 (Commit 822728220b448d7aaa537d057912d197659582ab)

I suspect that affected users might have a Python module named editor.py installed somewhere, e.g. https://pypi.org/project/python-editor/
That would conflict with the syntax used to import editor/templates_builders.py.

So the part that needs to be changed in:
https://github.com/godotengine/godot/blob/822728220b448d7aaa537d057912d197659582ab/modules/gdscript/editor_templates/SCsub#L5
(Same in Mono module)
Not sure what's the best way to do this, I remember it was a hassle when we had to workaround similar issues with conflicts on methods.py or detect.py. Not the greatest bit of design from Python IMO :)
Any suggestion @touilleMan? I guess we can do some sys.path wrangling, or move the file somewhere else, or duplicate it in GDScript and Mono modules as it was done initially.

That's the part of the PR where I bruteforced the thing, it would be a shame to have to duplicate the code. Hope there is a magic tricks to force the relative import.
Moving the file, if I understand correctly, will produce the same issue if a module has the good idea to be called (core, misc, main, etc.)

import importlib.util
spec = importlib.util.spec_from_file_location("editor.template_builders", "../../../editor/template_builders.py")
build_template_gd = importlib.util.module_from_spec(spec)
spec.loader.exec_module(build_template_gd)```

Replacing the import line with these 4 lines does the tricks.
It compiles fine and generate template file even with the conflicting module installed.

I propose that I open a PR and maybe a Python guru could confirm that it's ok.

In a traditional Python project we should have all our code in a single folder (a "package" in Python vocabulary). This folder (and all it subfolders) would contain a __init__.py to indicate to Python they are packages.
This way we would be able to use relative import (e.g. from .. import editor.template_builders) to import the correct item.
However we don't have a single package here, but instead have .py files scattered around the codebase (no judgement, this is normal given Python is only used a convenient tool here ^^).
The bad thing is it's not possible to differentiate between "this editor.py has been manually added and shouldn't have been taken into account for the build" and "this platform_methods.py is totally part of the build !"
I see two solutions to solve this:

be explicit when importing helper modules
be explicit when declaring helper modules

@jmb462 PR #56690 does 1), however I'm not convinced about this approach given it requires to ban regular import and replace them with rather complex custom import code (and this code could not be factorized given we cannot import before having it defined 😄 )
Approach 2) on the other hand consist of ensuring that our helper modules are first in line when importing their name.
This can be done:

Putting the helper modules in a site_scons folder (Scons look for this folder at startup and do the prepend to sys.path automatically)
explicitly load the helper modules at the very start of SCsub

I think the second solution is better for our need (given we want to keep the helper code in their current folder for readability)
I've created PR #56698 which implement this solution ;-)


feat: PennCNB json files also need to be checked if there are two items

A function is added to check if there are two required items within the Penn CNB json file.

Thank you for the changes. Let's test it now. I want to deploy your PR locally before merging here. After I deploy, will you be able to confirm its functionality by looking at either the production or the mock DPdash? You will need to look at files' status dashboard activating the date-avl-cnb-mriqc-kcho configuration.

Hi, can I get a reply to my last comment?

Kevin will maintain check_upenn_cnb() function if errors arise in future. I am merging it.


Unknown time frequency format

This is what we get now every time ODP is queried for data sources list:

Has been fixed by https://github.com/CCI-Tools/cate/commit/04d8519f7f9a95a82ad8faf2c2d8026886e6516d .


Difficulties with yawrate to lock heading hold

@LorenzMeier, @tumbili
Here's a log from todays flight: http://dash.oznet.ch/view/TcrueUA3R433rTXvWn3vKB
(latest release_v1.0.0 merged with the osd branch)
Yawrate changes a lot during the flight, so it switched always in and out of heading hold (while always in posctl). That caused the heading to converge to 0. Same as I saw in HIL
My yawrate is oscillating a lot, I'm not sure if you can set the threshold high enough for that:

What do you think?
 I'm fixing it.

@AndreasAntener Hope this fixed it https://github.com/PX4/Firmware/pull/2300

Cool :) going to try it soon

@AndreasAntener I tested POSCTL on my Ninox flying wing yesterday, and it seemed to work correctly. I had made one small change: #2301 Perhaps there is less tail wag with my plane (how can you wag your tail if you don't have one? call it yaw oscillation :)

;) I know my FX-61 oscillates in yaw quite a bit after turns..
Hm, if I look at your yaw rate, you should have experienced the same problem as me..

you're right; added yawrate to my plot. Same magnitude as yours; +/-0.5 rad/sec

@kd0aij @AndreasAntener Well with the fix I pushed today it shouldn't matter anyway. As long as your yawrate comes close to zero at some point everything is fine. (should be :-))

@tumbili Is this one resolved?

@LorenzMeier I think so. It worked fine on Thursday when we tested it.

Reopening this after some more testing by ada suggests the lock-on still might need some work.

http://dash.oznet.ch/view/v98KHkQvYTRnRpEyjrBjPR
Marked the 2 spots here:

(yaw is scaled by 0.5)

I think the fails were actually on other occasions. The location you've marked was counter-steering to a strong motion, but it actually stabilised the course over ground.

I've pushed a fix for the delayed lock here:
https://github.com/PX4/Firmware/commit/fd63ba7b898b95469b62f6f3f42f12e042aae619
Closing this for now.

Ok, I can see the delayed lock because of the bad yaw behaviour of my Phantom after rolls (which I didn't notice in flight).
But about the 2 spots I marked: are you saying this is a tuning issue?
About stabilizing COG: what I'm missing in the log is the heading that it gets locked onto. Then we would see the exact moment of the lock, and of course the COG it wants to hold.


File details Doesn't include the time

File detail doesn't include the time the file was created or uploaded. It only contains the date

Hi @spykelionel, you can work on this to add the file upload time.

Okay @anomic30.

Hey! is this issue under Hacktoberfest 2022?
If yes I would like to work on this issue.


py.typed file not being included when published

mypy is saying types are missing after pip installing.

Turns out mypy wasn't installed for my test and everything is good.


RSpec failing on RSwag tests

Not sure how this could be happening, but running rspec fails on the path tag that's required for rswag
NoMethodError:
  undefined method `path' for RSpec::ExampleGroups::BCIDAPI:Class

Im using RSpec 3.6

Ran into this today and found this link:
https://github.com/domaindrivendev/rswag/issues/60
It resolved the problem but I don't know if it fixes the root cause

Hmm yes, I was reading that earlier. I tried adding type: :request to the top level describe, but that didn't fix it for me. Not sure if I'm doing some wrong?


Allow truncated secrets/configmaps in collection

This PR adds the ability to specify an option, truncateBytes, to return a list of secrets / configmaps that are truncated.
If truncated, the secrets will be returned with an isTruncated field.
The change has been applied to both the Norman and Steve APIs in this PR.
For the Norman API, the change was applied to /v3/project/CLUSTER:PROJECT_ID/namespacedsecrets, /v3/project/CLUSTER:PROJECT_ID/secrets, and /v3/project/CLUSTER:PROJECT_ID/configmaps.
For the Steve API, the change was applied to /v1/secrets as well as /v1/configmaps.
Steve PR: https://github.com/rancher/steve/pull/27
Related Issue: https://github.com/rancher/rancher/issues/25487

Context
The purpose of this PR is to allow the UI to be able to add something like ?truncateBytes=640 in order to ensure that they aren't loading the entire contents of secrets / configmaps on just trying to list resources.
Instead, they will be able to partially load the resources and decide whether they need to collect the full data of the secret / configmap if it has been truncated (which is indicated by the isTruncated flag on the secret / configmap) when a user needs a detailed view of the content of a secret / configmap.

Pending merge of Steve PR first


Design a database schema

Design a schema for fotoframe. We need to implement following functionalities.

User can signup and login using email
user can forget password and reset
user can logout
User profile can contain first name, last name and profile picture
User can post pictures, add descriptions
Other users can like posts, follow a user and comment on the posts
Users can like comments posted by other users
Users can generate a share link and also repost the post
Users can search the posts based on the post descriptions

Attached is the proposed schema for the app MVP.
schema.txt


Skip auth-bundle e2e tests

Signed-off-by: Matias Charriere<EMAIL_ADDRESS>
This PR:

Skipping tests as there are problems with the auth-bundle latest version. It needs some values that need to be added to the test.

Checklist

[ ] I added a CHANGELOG entry
[ ] I ran E2E tests in the CI pipelines

Add the following comment to trigger the E2E tests:
/run app-test-suites

/run app-test-suites

Is this tracked anywhere?


Tortoise.init() refactoring and transactions module

This seems to be biggest change that occurred to tortoise and first one to bring so much backward incompatible changes.

Tortoise.init() is now coroutine that handles all connections and models discovery.
New transactions that finally work without explicit connection passing and also can be used to easily changing db when working with models.

This is still work in progress, I want to make few more changes, update all documentation and may be some more tests.

Pull Request Test Coverage Report for Build 57

199 of 236 (84.32%)  changed or added relevant lines in 12 files are covered.
111 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-5.5%) to 83.023%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

tortoise/transactions.py
33
34
97.06%

tortoise/models.py
7
8
87.5%

tortoise/contrib/test/init.py
27
28
96.43%

tortoise/backends/sqlite/client.py
13
14
92.86%

tortoise/backends/base/config_generator.py
3
4
75.0%

tortoise/backends/base/client.py
8
10
80.0%

tortoise/backends/asyncpg/init.py
0
2
0.0%

tortoise/backends/asyncpg/client.py
0
14
0.0%

tortoise/init.py
103
117
88.03%

Files with Coverage Reduction
New Missed Lines
%

tortoise/backends/base/executor.py
1
95.29%

tortoise/backends/asyncpg/schema_generator.py
8
0.0%

tortoise/backends/asyncpg/executor.py
13
0.0%

tortoise/backends/asyncpg/client.py
89
0.0%

Totals

Change from base Build 53:
-5.5%

Covered Lines:
1614

Relevant Lines:
1911

💛  - Coveralls

I have been playing with the test runner, there is a lot of things not quite right for the test runner.
I have added initialiser and finaliser so that Testcase cleans up after itself, and does the migrations exactly once per test process.
There is issues with transactions on SQLite, and also the _drop_databases() command doesn't seem to actually drop anything?
Anyways I'm just stating that I'm refactoring the test suite again.

@Zeliboba5 I did PR #33 that should fix the test runner related issues.
Test runs are MUCH faster now, which is a bonus, and I'm much more confident with the handling of transactions.
In the process SQLite is treated more similar to PostgreSQL, but as a consequence always runs in single-connection mode. For now I think that is fine, as SQLite isn't really meant for high-concurrency work.
Next up I'll rebase #28 again to be built on #33, as it appears to fix the Py3.7 + Sqlite issues. (I suspect it was related to the SQLite driver leaking file handles.)

I have been building tests for init, and actually now have feedback to give.
There is some inconsistencies in how it appears to work.
I'll get to it the weekend, and it may be me missing some minor point.

@Zeliboba5 At this stage I'm happy with this PR, and I'm giving the :+1: to merge it to master.
Then we can look at #37 a bit more leisurely.

And great working with you :bowing_man:

@grigi Do you think we should do anything special about this PR, considering it will be backward incompatible? I don't want to publish it as 1.0 already, so may be we should just make some special mark in changelog?

@Zeliboba5: v0.10.0 + a mention that it has breaking changes re init should be enough, I think.
Maybe a short little blurb with examples in the CHANGELOG.rst file?

I am really glad that we managed to make this release.
@grigi @etzelwu Thanks for great work 👍


Merge prTesting_201909110841 branch to master branch

Docs Build status updates of commit 4becaf2:
:warning: Validation status: warnings

File
Status
Preview URL
Details

split/updateTestRef.md
:warning:Warning

Details

split/updateTestRef.md

[Warning] Missing attribute: author. Add the current author's GitHub ID.
[Warning] Missing attribute: title. Add a title string to show in search engine results.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Cosmetics 2: Ready to merge

A set of small cosmetics that don't change any logic whatsoever and can be merged right in:

my-items bottom-padding
detail: topmargin
hashtag & detail (wide-layout): more space between hashtag and my-info(avatar, username balance)
hashtag & detail (wide-layout): padding middle

Merged by @xardass


Support for 'bit' type?

After receiving the following,
# 0.00ns DEBUG cocotb.gpi  VpiImpl.cpp:186  in create_gpi_obj_from_handle VPI: Not able to map type vpiBitVar(620) to object.

I did some searching and found out that the VPI code doesn't support the 'bit' SystemVerilog type. It can't, currently, because the included vpi_user.h does not define it, and is not up to date with sv_vpi_user.h.
Are there any far reaching problems with updating that header and getting this fixed?

Related to #397.
My next set of changes will bring in the update for #397 as well as some update for vpi which "may" resolve this issue.

@nevsan Updating the header (probably from work on #397) and then changing vpi layer to support this type is not a hard exercise. Testing it is always more the hard part as each simulator likes to though up different types entities in the same code.

Sounds like I can just take a look when #397 gets resolved. Is that one actively being worked on?

@nevsan Yes it is completed as part of another issue I am working.  I will be doing a pull request tomorrow for the changes.


bug on lime test windows

Describe your bug here.
When I get lime test windows in cmd it starts to compile and then gives this issue:
Command Prompt/Terminal logs (if existing)
include\vlc/bitmap/VlcBitmap.h(13): fatal error C1083: Cannot open include file: 'LibVLC.h': No such file or directory

Are you modding a build from source or with Lua?
Source
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
Nope

oops, just found out that I didnt download vs 2019... Gonna do that now and say if its solved or not

yup, that was that


CFE-755: Support cluster-wide egress proxy injection

Description
This PR adds egress proxy injection support to the operator. Proxy environment variables will now be propagated to the operand from the operator deployment. This PR also provides an option to provide custom trusted CA certificates.

pkg/controller/deployment/cert_manager_cainjector_deployment.go, pkg/controller/deployment/cert_manager_controller_set.go, pkg/controller/deployment/cert_manager_controller_deployment.go and pkg/controller/deployment/cert_manager_webhook_deployment.go : Fix informers arg names and pass trusted CA configmap at runtime.
pkg/controller/deployment/deployment_overrides.go : Add 2 new deployment hooks to inject proxy env variables and inject trusted CA configmap as a volume.
pkg/controller/deployment/generic_deployment_controller.go : Add configmap informers to re-sync deployments (watch configmaps in the operand namespace).

/cc @xingxingxia

I'm executing below to try pre-merge testing:
launch openshift/cert-manager-operator#103 aws,proxy

If stuck due to whatever, will label directly to unblock merge, and test after merge.
But it is better to always have Dev peer's /lgtm label first, as openshift other components repos' PRs do, before qe test starts involved : )

launch openshift/cert-manager-operator#103 aws,proxy failed due to unknown readon.
Then used this approach to pre-merge test: executed launch openshift/cert-manager-operator#103, got the env, pulled down the catalog image, pushed to my quay.io repo, then used QE's Jenkins Flexy-install job to install a disconnected env with https_proxy,  and installed this catalog from my quay.io repo, then installed cert-manager-operator from it. Done pre-merge testing with this https_proxy env:
[xxia@2023-02-16 20:36:57 CST my]$ oc get po -n cert-manager-operator
NAME                                                        READY   STATUS    RESTARTS   AGE
cert-manager-operator-controller-manager-76cf859cb7-qwvr7   2/2     Running   0          111s
[xxia@2023-02-16 20:37:10 CST my]$ oc get po -n cert-manager-operator cert-manager-operator-controller-manager-76cf859cb7-qwvr7 -o yaml
...
    env:
    - name: HTTP_PROXY
      value: http://<user>:<password>@<IP_ADDRESS>:3128
    - name: HTTPS_PROXY
      value: https://<user>:<password>@<IP_ADDRESS>:3130
    - name: NO_PROXY
      value: .cluster.local,.svc,<IP_ADDRESS>/16,<IP_ADDRESS>/14,<IP_ADDRESS>,<IP_ADDRESS>/16,api-int.<cluster-domain>,localhost,test.no-proxy.com

They are same as oc get proxy -o yaml.
[xxia@2023-02-16 20:35:04 CST my]$ oc get po -n cert-manager
NAME                                      READY   STATUS    RESTARTS   AGE
cert-manager-6f96c79f9b-mzn4v             1/1     Running   0          31s
cert-manager-cainjector-674cfc967-8qwdw   1/1     Running   0          67s
cert-manager-webhook-5fd545966f-2q6f6     1/1     Running   0          69s

[xxia@2023-02-16 20:40:35 CST my]$ for i in cert-manager-6f96c79f9b-mzn4v cert-manager-cainjector-674cfc967-8qwdw cert-manager-webhook-5fd545966f-2q6f6 ; do oc get po $i -n cert-manager -o yaml > pod-cluster-bot-pr103-$i.yaml ; done
[xxia@2023-02-16 20:40:43 CST my]$ vi -p pod-cluster-bot-pr103-cert-manager-*.yaml
...
    env:
    - name: HTTPS_PROXY
      value: https://<user>:<password>@<IP_ADDRESS>:3130
    - name: HTTP_PROXY
      value: http://<user>:<password>@<IP_ADDRESS>:3128
    - name: NO_PROXY
      value: .cluster.local,.svc,<IP_ADDRESS>/16,<IP_ADDRESS>/14,<IP_ADDRESS>,<IP_ADDRESS>/16,api-int.<cluster-domain>,localhost,test.no-proxy.com
...
    - name: http_proxy
      value: http://<user>:<password>@<IP_ADDRESS>:3128
    - name: https_proxy
      value: https://<user>:<password>@<IP_ADDRESS>:3130
    - name: no_proxy
      value: .cluster.local,.svc,<IP_ADDRESS>/16,<IP_ADDRESS>/14,<IP_ADDRESS>,<IP_ADDRESS>/16,api-int.<cluster-domain>,localhost,test.no-proxy.com

In all 3 pods, there are both upper case and lower case proxy env vars ^^
[xxia@2023-02-16 20:42:15 CST my]$ oc -n cert-manager-operator patch subscription cert-manager-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"TRUSTED_CA_CONFIGMAP_NAME","value":"trusted-ca"}]}}}'
[xxia@2023-02-16 20:42:58 CST my]$ oc get po -n cert-manager-operator
NAME                                                       READY   STATUS    RESTARTS   AGE
cert-manager-operator-controller-manager-7b4bc96d9-wmtft   2/2     Running   0          68s
[xxia@2023-02-16 20:44:19 CST my]$ oc get po -n cert-manager
NAME                                       READY   STATUS    RESTARTS   AGE
cert-manager-85b7988d98-8mqpx              1/1     Running   0          30s
cert-manager-cainjector-744c47c447-fhntr   1/1     Running   0          30s
cert-manager-webhook-54bbfd9797-z8k29      1/1     Running   0          30s
[xxia@2023-02-16 20:44:33 CST my]$ for i in cert-manager-85b7988d98-8mqpx cert-manager-cainjector-744c47c447-fhntr cert-manager-webhook-54bbfd9797-z8k29 ; do oc get po $i -n cert-manager -o yaml > pod-cluster-bot-pr103-after-ce-injection-$i.yaml ; done
[xxia@2023-02-16 20:45:22 CST my]$ vi -p pod-cluster-bot-pr103-after-ce-injection-cert-manager-*
  volumes:
  - configMap:
      defaultMode: 420
      name: trusted-ca
    name: trusted-ca
...
    volumeMounts:
    - mountPath: /etc/pki/tls/certs/cert-manager-tls-ca-bundle.crt
      name: trusted-ca
      subPath: ca-bundle.crt

In all 3 pods, there are both upper case and lower case proxy env vars ^^
Then test functions, self-signed issuer, CA issuer, ACME http01 solver issuer with external server https://acme-v02.api.letsencrypt.org/directory outside of the proxy and certificates, they work well.
So adding qe label:
/label qe-approved

/lgtm

Fixes CM-37

/cc @davemulford

/label px-approved


The operator user who is not the designated auditor can still approve the pipeline

Versions Used
KubeSphere: dev:latest
Environment
http://<IP_ADDRESS>:30883
Preset conditions
there is a user 'wx-02' with global role platform-regular, workspce role ws2-regular and devops project 'dev' role operator
How To Reproduce
Steps to reproduce the behavior:

use admin login ks
Go to workspace 'ws2'
Go to devops project 'dev'
run pipeline '6'
use 'wx-02' login ks  and approve the pipeline '6'
jenkinsfile.txt

Expected behavior
user 'wx-02' can not approve pipeline '6'
Actual behavior

/priority medium
/area devops
/cc @kubesphere/sig-devops
/kind bug
/milestone 3.1.0

/kind bug


Update fs2-core to 3.6.1

Updates co.fs2:fs2-core from 2.5.11 to 3.6.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Applied Scalafix Migrations

co.fs2:fs2-.*:3.0.7 (created no change)

replace:fs2.text.utf8Decode/fs2.text.utf8.decode
replace:fs2.text.utf8DecodeC/fs2.text.utf8.decodeC
replace:fs2.text.utf8Encode/fs2.text.utf8.encode
replace:fs2.text.utf8EncodeC/fs2.text.utf8.encodeC

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "co.fs2", artifactId = "fs2-core" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "co.fs2", artifactId = "fs2-core" }
}]

labels: library-update, early-semver-major, semver-spec-major, version-scheme:early-semver, scalafix-migrations, commit-count:1

Handled from https://github.com/almond-sh/almond/pull/1065


[GSSoC'23] Bouncing Balls Animation Ready

Title and Issue number

Title - Bouncing Balls
Issue Number - 3258
Close #3258

Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md

@MohitGupta121 @pranjay-poddar @Saurabh-kumar09 sir, please review this pr


Handwrittendigit_MNIST_CNN

Summary
Related Issues
PR Overview

[ ] This PR requires new unit tests [y/n] (make sure tests are included)
[ ] This PR requires to update the documentation [y/n] (make sure the docs are up-to-date)
[ ] This PR is backwards compatible [y/n]
[ ] This PR changes the current API [y/n] (all API changes need to be approved by fchollet)

Added "ReduceLROnPlateau" which decreases the learning rate once when it
is stagnant.
"ImageDataGenerator" for extending the dataset.

[image: Mailtrack]
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality6&
Sender
notified by
Mailtrack
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality6&
09/01/18,
2:01:46 PM
On Sat, Sep 1, 2018 at 1:54 PM Gabriel de Marmiesse <
<EMAIL_ADDRESS>wrote:

Thanks for the PR! Can you please detail the difference with the example
already in the Keras repo:
https://github.com/keras-team/keras/blob/master/examples/mnist_cnn.py
Thank you!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/keras-team/keras/pull/11052#issuecomment-417842482,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ae9F4WXJxXjcZTJ8zxSyehJu4WiZ90I3ks5uWkQ1gaJpZM4WWGoQ
.

Thanks for the PR. I believe this is redundant with the existing CIFAR10 and MNIST convnet examples, and we will not merge it.


gepris-integraton

This pull request contains the integration of GEPRIS issue#60 Integrate GEPRIS#60
Please review the changes and merge this pull request if everything is fine.
Thank you,

Considering our discussion in the last meeting on the schema and object attributes, wouldn't it be a good idea to temporarily set them aside and update all the changes once we have specified and finalized the base?


Additional special characters for Spanish

In some keyboard distributions, e.g., Belgian AZERY, it is not possible to access Spanish special characters such as the opening question mark (¿) and the exclamation mark (¡).
I nice solution would be to add those characters to quick accent. The keys that can give access to those characters would be ? and !.
For example:
? + [Activation key] = ¿
! + [Activation key] = ¡
Btw, these symbols are accessible from the US International keyboard using
Right Alt + / = ¿
Right Alt + 1 = ¡

Hello, it is already ok for ¿ See here:
https://github.com/damienleroy/PowerAccent/blob/main/PowerAccent.Core/Languages.cs#L243
But you are right, I will add the ¡ later.
You can access it with , + space.

Thanks! Excellent work!

Added https://github.com/damienleroy/PowerAccent/releases/tag/1.3.4