[Feature] Implement zones support

@yenoiwesa I know it might be a long shot but I am getting a Daikin zone controller installed next Monday and keen to see zones support in this plugin one day
I totally understand that creating support for something that you don’t have yourself is hard so willing to help in any way I can

Happy to have this implemented once you have it working at your home! Let me know when your installation is done 👍

Got it installed today. Usability of the controller is awful but controlling zones from URL works :-)
I figured out the following details:

http:///skyfi/common/basic_info

en_setzone=1
1 indicates zones support

http:///skyfi/aircon/get_model_info

en_zone=4
Number of zones. This is controlled by a field setting and can be 1-8. Airbase app will show switches for the set number of zones
en_common_zone=0
Common zone enabled/disabled. Controlled by a field setting. If enabled you can turn all zones off (common zone will still let air through), if disabled the controller will refuse to turn off the last active zone to prevent damage

http:///skyfi/aircon/get_zone_setting

ret=OK,zone_name=%44%6f%77%6e%73%74%61%69%72%73%3b%4d%61%69%6e%3b%42%65%64%72%6f%6f%6d%20%32%3b%42%65%64%72%6f%6f%6d%20%33%3b%5a%6f%6e%65%35%3b%5a%6f%6e%65%36%3b%5a%6f%6e%65%37%3b%5a%6f%6e%65%38,zone_onoff=1%3b1%3b1%3b1%3b0%3b0%3b0%3b0
Returns list of 8 zones names and if they are on/off. All characters are encoded for parameter values

http:///skyfi/aircon/set_zone_setting?zone_name=%44%6f%77%6e%73%74%61%69%72%73%3b%4d%61%69%6e%3b%42%65%64%72%6f%6f%6d%20%32%3b%42%65%64%72%6f%6f%6d%20%33%3b%5a%6f%6e%65%35%3b%5a%6f%6e%65%36%3b%5a%6f%6e%65%37%3b%5a%6f%6e%65%38&zone_onoff=1%3b1%3b1%3b1%3b0%3b0%3b0%3b0

This is to set zones on/off. You have to send all 8 zone names and all 8 on/off values, otherwise Airbase returns error. All characters in parameter values has to be encoded, otherwise Airbase returns error
Basically I took the result from the get_zone_setting and send it back only replacing a comma between parameters with & and it worked. Tried to flipping 0/1 and changing zone names - worked
I think in the plugin it's best not to generate zone names and just send them back as is to avoid accidental changing them

The logic would be:
If en_setzone=1 - enable support for zones and generate number of switches based on en_zone value. Name switches from get_zone_setting
If en_common_zone=0 don't allow turning off the last active switch

Probably makes sense to implement zone switches as a separate grouped accessory with multiple switch services. The main aircon device already has 4 services so adding more might make a mess. Especially with the way how Home app sorts accessories
This also will match the logic of a physical wall controller where zones are completely independent from the mode controls

@TimofeyK how do you set the fields settings on the aircon? I am curious.

That depends on the controller. There is little documentation available but for my new one it was in the manual. Search YouTube for Daikin field settings and there are several videos for most common settings

@TimofeyK wow that's great I finally found how to change the fan speed of my unit, it was at the maximum possible setting and even on low fan speed, it was quite noisy! Thanks so much for helping me discover field settings! Haha

@TimofeyK I have a first version of the plugin with zone support. I have not been able to test any of the zone functionality so there is a 150% change it will fail dramatically. I am now running with that version in my home and the basic aircon functionality has not regressed (so far).
Please install the following version:
npm install yenoiwesa/homebridge-daikin-airbase#69c66ddc096ace1f8f82cbe2224eaef1f4058b6d

And start your Homebridge server in debug mode. Let me know what happens 😬

Installed, restarted Homebridge but nothing new happened. I can see a new zone-switch.js file in the npm module folder but nothing in logs related to zones
Do I need to do anything other than installing?

OK, I needed to use install -g
[3/29/2020, 9:37:31 PM] [My Daikin Airbase Hub] Auto-discovery finished with 1 device(s) found
[3/29/2020, 9:37:31 PM] [My Daikin Airbase Hub] Sent: http://<IP_ADDRESS>/skyfi/common/basic_info With Values: undefined Response: {
version: '1.1.3',
name: 'Daikin',
zonesSupported: true,
ssid: 'DaikinAP08350'
}
[3/29/2020, 9:37:31 PM] [My Daikin Airbase Hub] Sent: http://<IP_ADDRESS>/skyfi/aircon/get_model_info With Values: undefined Response: {
model: 'N/A',
type: 'N',
isHumidifierSupported: false,
zoneCount: 4,
setTemperatureSupported: true,
fanRateSupported: true,
fanDirectionSupported: false,
autoModeSupported: true,
dryModeSupported: true,
coolMinTemperature: 16,
coolMaxTempertature: 32,
heatMinTemperature: 16,
heatMaxTemperature: 32,
fanRateSteps: 2,
autoFanRateSupported: true
}
[3/29/2020, 9:37:31 PM] [My Daikin Airbase Hub] Found Aircon Daikin
[3/29/2020, 9:37:31 PM] [My Daikin Airbase Hub] Starting polling for Aircon state every 5 minute(s)
[3/29/2020, 9:37:31 PM] [My Daikin Airbase Hub] TypeError: this.getRawZoneSetting is not a function
at DaikinAirbasePlatform.accessories (/usr/lib/node_modules/homebridge-daikin-airbase/src/daikin-airbase-platform.js:58:54)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
[3/29/2020, 9:37:31 PM] [My Daikin Airbase Hub] Initializing platform accessory 'Daikin'...

Ah, some bad copy paste. I fixed it, please install:
npm install -g yenoiwesa/homebridge-daikin-airbase#ab714eb34969279a08d6f4ac02775ca5f8e20293

Much better! :) Reading status correctly, setting fails because AirBase wants ALL characters to be encoded, not just special symbols. Also the URL in the log seems to be encoded twice. Look at my examples above - that the only form that the controller accepts
[3/29/2020, 11:14:35 PM] [My Daikin Airbase Hub] Sent: http://<IP_ADDRESS>/skyfi/aircon/set_zone_setting?zone_name=Downstairs%253BMain%2520bedroom%253BBedroom%25202%253BBedroom%25203%253BZone5%253BZone6%253BZone7%253BZone8&zone_onoff=1%253B1%253B1%253B1%253B0%253B0%253B0%253B0 With Values: {
zoneNames: [
'Downstairs',
'Main bedroom',
'Bedroom 2',
'Bedroom 3',
'Zone5',
'Zone6',
'Zone7',
'Zone8'
],
zoneStatuses: [
1, 1, 1, 1,
0, 0, 0, 0
]
} Response: null

@TimofeyK so somehow, Daikin engineers have decided to not use standard URI encoding for the zone names parameters but instead use custom percent hex encoding, and yet use standard URI encoding for the zone on/off 😩
Either way, I made a fix, could you please try:
npm install -g yenoiwesa/homebridge-daikin-airbase#3c8bdbf70b63d7be06b1ae2477c7c221f17e9ae7

Woo-hoo! It works! Thank you @yenoiwesa
Daikin API is really weIrd. Updating zone names in the same call as turning them on/off for example. But at least the controller is very stable. In a year it went offline only once and only when I was doing a lot of changes and restarts to my wifi mesh network

That's great news! Coding in the dark is not the easiest lol.
Would you have a screenshot to share so I can see how it looks? :-)

Nice! Thanks.
I will wait for a day or two to make sure you have time to find bugs, and if I don't hear back I will just merge this branch into master and officially release it.

So far so good! I haven’t seen any issues
Few things that aren’t bugs but worth mention in readme:

If a zone name is changed you need to restart Homebridge for the plugin to pick new name. I thought it might overwrite the name back but the plugin correctly reads the new name and sends in back when setting zones. It will not refresh names for zone switches (expected, because it set on start) and will not be able to read the state of the renamed zone (acceptable)
The plugin allows to turn off all zones but if there is no common zone configured in the aircon, the controller will ignore turn off for the last active zone. The plugin will reflect that on next refresh
Sorting of accessories in the Home app is kind of unpredictable: it sorted “Downstairs” in front of “Bedroom” but the rest are sorted alphabetically. Best to mention that the plugin has no control over sorting and this can only be done by changing zone names

If a zone name is changed you need to restart Homebridge for the plugin to pick new name. I thought it might overwrite the name back but the plugin correctly reads the new name and sends in back when setting zones. It will not refresh names for zone switches (expected, because it set on start) and will not be able to read the state of the renamed zone (acceptable)

Yes I also think the behaviour is acceptable. I wouldn't expect people to change zone names often on the Daikin Wall Controller.

The plugin allows to turn off all zones but if there is no common zone configured in the aircon, the controller will ignore turn off for the last active zone. The plugin will reflect that on next refresh

Homekit does not allow to disable a switch, so the only thing I could do for that is to check whether it is the last switch on, discard the command and then quickly update the state of the switch back on. That would be a bit tricky, so I think code wise it's better the plugin does not make assumptions about that mode for now.

Sorting of accessories in the Home app is kind of unpredictable: it sorted “Downstairs” in front of “Bedroom” but the rest are sorted alphabetically. Best to mention that the plugin has no control over sorting and this can only be done by changing zone names

Yes I will make a note in the README file about that.

Version 2.0.0 of the plugin has now been released! 🎉
You can update your homebridge server to the official release with the following command:
npm install -g<EMAIL_ADDRESS>


Issues trying to install AmpLocker

Hello,
Thanks very much for the packaging of AmpLocker. However, after adding your repo to my flake as an input, I can't install AmpLocker:
nix > sudo nixos-rebuild switch --flake .#                                                                  [1]
building the system configuration...
trace: warning: `overrideScope'` (from `lib.makeScope`) has been renamed to `overrideScope`.
trace: warning: `overrideScope'` (from `lib.makeScope`) has been renamed to `overrideScope`.
trace: warning: `overrideScope'` (from `lib.makeScope`) has been renamed to `overrideScope`.
error: builder for '/nix/store/5myp7nww4jy5lwg7sz1i3lggcjdlym08-Amp+Locker+Linux.zip.drv' failed with exit code
1;
 last 10 log lines:
 >
 > ***
 > This Nix expression requires the Amp Locker plugin download is
 > already part of the store. Please download your purchased
 > copy and place the Amp+Locker+Linux.zip file into the Nix Store with:
 >
 > "nix store add-file Amp+Locker+Linux.zip"
 >
 > ***
 >
 For full logs, run 'nix log /nix/store/5myp7nww4jy5lwg7sz1i3lggcjdlym08-Amp+Locker+Linux.zip.drv'.

Of course, I added the file, actually I tried different ways:
Downloads > nix-store --add-fixed sha256 Amp+Locker+Linux.zip
/nix/store/ppp24zlwyy45aqxdis0n4r0fb28gsfqr-Amp+Locker+Linux.zip
Downloads > nix store add-file Amp+Locker+Linux.zip
/nix/store/ppp24zlwyy45aqxdis0n4r0fb28gsfqr-Amp+Locker+Linux.zip

However, the error remains the same. I'd appreciate any help on this.
On a side note, I tried packaging AmpLocker and the Blacksun plugin myself, with limited success.
After looking at your derivation for AmpLocker, I think I need to patch so file in the same way you did to replace the references to /opt/Audio Assault. Could you explain to me how you created vst3.patch? I guess I could just take what you did, but the Blacksun plugin is only available as vst2, so I'd like to understand the process and do it myself for the plugin (if possible).
Thanks again, I appreciate it!

Maybe they released a new version and hence, the files are different. Or possibly, they customize each download and checksums will never match. You're the first person to try this as far as I am concerned. I'll try downloading this again and update the package when I find the time.
For the patching, I used Ghidra. I looked through the string table for a string containing /opt/Audio Assault and then for references to this string. You will only find one place where this is referenced. I then looked through the string table again to find something long enough that it could fit a typical path to the Nix store and found it in the description of a random amp or pedal. So the binary patch modifies the reference to /opt/Audio Assault to point to this new amplifier description string. I then use dd to replace the description string at build time with the nix store path.

Hello,
I'll close this issue for now.Just FYI: I contacted Audio Assault on this matter and asked them if it is possible to remove the hardcoding of /opt/Audio Assault from their applications and actually give the user the option to set the path (either through an env var or runtime param).
They were open about it and forwarded my request to the developers, but told me it could take a couple of months before they find time to implement it. But it's something!


Doesn't detect properly conditional expressions for role

I'm getting a false positive for the following example:
const clickable = onClick !== noop;
return (

     { /* */ }

);

error  Static HTML elements with event handlers require a role
jsx-a11y/no-static-element-interactions

I would expect onClick to be omitted when it's not a role=button, not passed as a noop.
For a number of reasons, you'd probably want to do:
if (clickable) {
  return
{children}
;
}
return
{children}
;

i'm not sure how the linter would be capable of knowing that you consistently have a role=button when you have an onClick, nor how the linter would be able to know that "noop" is in fact a noop.

Ok, actually you're right. I didn't think about it this way.


Remove git dependency

Hello,
I noticed there is a git based dependency for "world-countries" in package.json.
I think it could simply be replaced by the npm one:
https://www.npmjs.com/package/world-countries
Best regards,

Hello @Booster2ooo,
The npm package has not been updated for more than 10 months, and does not contain the latest changes, like the latest flags and country names (https://github.com/mledoze/countries/compare/v2.1.0...master).
It's the only reason for this decision and I agree with you that the use of the package is better, but I think that having up-to-date data is more important than a lighter node_modules folder on this case 😄
When a new version is be released, I will change the package.json file 😉

It's out :) https://github.com/mledoze/countries/issues/360


docs: Corrections/extra information in design.rst

What does this PR change? What problem does it solve?
Updates the design document. Corrects some wrong/misleading parts and adds information about tree meta data.
Was the change previously discussed in an issue or on the forum?
closes #3725
see also #3808
Checklist

[x] I have read the contribution guidelines.
[x] I have enabled maintainer edits.
[N/A] I have added tests for all code changes.
[N/A] I have added documentation for relevant changes (in the manual).
[ ] There's a new file in changelog/unreleased/ that describes the changes for our users (see template) - don't think that's worth it. Feel free to add one!
[N/A] I have run gofmt on the code in all commits.
[x] All commit messages are formatted in the same style as the other commits in the repo.
[x] I'm done! This pull request is ready for review.

I've addressed the review comments and improve the link formatting.


Unify hybrid extension logic and always use array instead of pointer …

…arithmetic
Issue # (if available):
N/A
Description of changes:
Builds on RHEL5 would fail doing the pointer arithmetic.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

:exclamation: No coverage uploaded for pull request head (hybrid_fix@93b271a). Click here to learn what that means.
The diff coverage is n/a.


binding/haskell: Package name should be opendal

Hi, @silver-ymz, I think we should use opendal as the package name in haskell side. And the version should align with opendal's.
name:               opendal-hs
version:            <IP_ADDRESS>
license:            Apache-2.0
synopsis:           OpenDAL Haskell Binding

I think we should use opendal as the package name in haskell side.

I agree with it.


[Question] Master node in internal network

What happened:
Hi, we want to deploy master node in an internal network where edge nodes cannot directly access master node.
For example, master node ip w.x.y.z, gate way ip l.m.n.o, edge node ip a.b.c.d. Mapping w.x.y.z:6443 (apiserver port) to l.m.n.o:5555. Later, edge node a.b.c.d will execute with command join l.m.n.o:5555.

What ports of openyurt componoent (such as port 10262, tunnel-server) need to be mapped?
Thanks!
What you expected to happen:
Openyurt components work properly.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

OpenYurt version:v0.4.0
Kubernetes version (use kubectl version):v1.18.2
OS (e.g: cat /etc/os-release):Centos7.6 & Ubuntu20.04
Kernel (e.g. uname -a):
Install tools:
Others:

others
/kind question

@tiezhuoyu Thank you for raising issue.

What ports of openyurt componoent (such as port 10262, tunnel-server) need to be mapped?

The type of tunnel-server service x-tunnel-server-svc is NodePort, and the port is fixed as 31008(and you can modify as you want in service template), so you can map one port on gateway to {nodeIP:31008}.


fixed typo in nn.module documentation

Thanks for the PR!  Can you please resubmit to the pytorch/pytorch repo, we only host generated documentation in this repo  The repo is automatically updated and we only submit a very small number of critical fixes manually.


DIMSEServiceProvider.debug_send_c_store_rq AffectedSOPClassUID checks against string

Need to check the string representation of the AffectedSOPClassUID instead of the UID itself

Fixed


Parent class contrusctor can't use protected and private fields while being called in inherited classes

Here's the code:
library.Move = library.Action.extends "Move" {
	constructor = function(self: T.Move, data: {})
		if typeof(data) ~= "table" then error("data parameter for Move class-family should be a table, provided type: "..typeof(data)) end
		for object, value in data do
			if self.Data[object] then
				self.Data[object] = value
			else
				error(object.." is not valid data for Move. Check ReplicatedStorage.Framework.Action/library/Move/Protected/Data to get full list of availabe move data")
			end
		end
	end,
	Protected = {
		Data = {
			SFX = {},
			Animations = {},
		},
		OperateStart = function(self: T.Move, ...)
			-- override
		end,
		CancelStart = function(self: T.Move, ...)
			-- override
		end,
		OperateEnd = function(self: T.Move, ...)
			-- override
		end,
		CancelEnd = function(self: T.Move, ...)
			-- override
		end,
		ProceedPrepare = function(self: T.Move, ...)

		end,
		ProceedCancel = function(self: T.Move, ...)
			coroutine.wrap(self.CancelStart)(self, ...)
			coroutine.wrap(self.CancelEnd)(self, ...)
		end,
	}
}

library.CoreMove = library.Move.extends "CoreMove" {
}

When I create an object of the CoreMove class, it shows me this error:
{Class++}: Property "Data" is protected in this class.
--- Stack Trace ---
ReplicatedStorage.Framework.Action:86 function constructor
ReplicatedStorage.Framework.Class++:436

It disappears when i transfer Move class constructor to CoreMove class. It doesn't disappear when I remove inheritance of Move from Action as well.
U. P. D.: The issue was in edited version of API. Sorry, my bad

Great to hear that the issue resolved on its own, however, can I learn why you modified the API in the first place? Perhaps I can implement that modification as a feature if it's a good one.

 Sure! I've made a timer class. Its realization involves calling loop function in the constructor, and it causes one issue: when i create a timer object anywhere, current thread of this _anywhere_ yields because of the loop. I haven't come up with using coroutines in the constructor just then, so i've looked on the API script to asynchronize constructor calls on lines 435 and 438.

This:
436    if superClassConstructor then superClassConstructor(newObj, ...) end
438    newObjTbl.Internal.constructor(newObj, ...)

Turned into this:
436    if superClassConstructor then coroutine.wrap(superClassConstructor)(newObj, ...) end
438    coroutine.wrap(newObjTbl.Internal.constructor)(newObj, ...)

 Why didn't i asynchronize the loop function inside of the timer class constructor instead? Well, firstly, as i said before, i haven't come up with using coroutines for calling loop function just then (i have no idea why), so i used ```task.spawn()```. It didn't work since you can't provide a function inside ```spawn()``` to any class as friendly because it doesn't have a name. Secondly, i needed to provide loop function as friendly so i could use private and protected fields inside of it (```coroutine.wrap``` is a perfect option for it, that's why i use it currently).
 Although, the issue is solved now and the solution is pretty simple (just use coroutine.wrap). Excuse me if there are some spelling mistakes (and i'm sure there are some) because i'm not a native speaker. Goodluck with future development!

I understand why you did it now, thank you. And as for the error, the super class constructor must be initialized first and the child class constructor must wait for the super one if it exists. With the coroutine however, it does not wait, therefore causing the bug you've mentioned.
Aside from this, I'm glad you removed the modification as this would've caused other issues with other classes you would want to implement with inheritation, both functions running at the same time or one running late than the other would cause major issues. I advise you to not modify internals unless very necessary, and you're out of options. And even then, you should make a feature request so I can make the experience better!

I don't think you should add it as a new feature. You could just add a note in documentation that tells "asynchronize any yields in constructors by using coroutine.wrap()", so other people won't meet this issue


Add Github Actions CI

Add CI via Github actions and Boost.CI
Closes #332
Closes #303
Currently it fails on Windows due to a timeout in test-timeout-suite.cpp (I guess running 6 tests with a sleep of 100ms already gets over 1s) and on OSX where the custom RTTI implementation fails.

Superseded by #370


Bump pg_graphql to 1.5.4

What kind of change does this PR introduce?

upgrade pg_graphql from v1.5.1 to v1.5.4

Additional context
Add any other context or screenshots.
Action Items

[x] New extension releases were Checked for any breaking changes
[ ] Extensions compatibility Checked

Proceed to extensions compatibility testing, mark as done after everything is completed

[ ] Backup and Restore Checked

Proceed to backup testing while extensions are enabled

After every restore, re-run the tests specified at point 3.1

Extensions compatibility testing

Enable every extension

Check Postgres’ log output for any error messages while doing so

This might unearth incompatibilities due to unsupported internal functions, missing libraries, or missing permissions

Disable every extension

Check Postgres’ log output for any cleanup-related error messages

Re-enable each extension

Run basic tests against the features they offer, e.g.:

pg_net - execute HTTP requests
pg_graphql - execute queries and mutations
…to be filled in

Backup Testing
Follow the testing steps steps for all the following cases:

Pause on new Postgres version, restore on new Postgres version
Pause on older Postgres version, restore on new Postgres version
Run a single-file backup backup, restore the backup

Testing steps

Generate dummy data

the ‘Countries’ or ‘Slack clone’ SQL editor snippets are decent datasets to work with, albeit limited

Save a db stats snapshot file

Do this by running supa db-stats gather -p <project_ref>

Backup the database, through pausing the project, or otherwise
Restore the backup, through unpausing the project or cli
Check the data has been recovered successfully

Visual checks/navigating through the tables works
Run supa db-stats verify against the project and the previously saved file

Thank you for opening, I wasn't aware this had been opened and resolved it in https://github.com/supabase/postgres/pull/967


[BUG] Font is not rendering properly when converting DOC to PDF in Blazor WASM NET8.0

Description
When converting DOC to PDF using Syncfusion DocIORenderer as shown in the code below, the output font family does not properly show as how it should be. I am using SkiaSharp.Views.Blazor 2.88.7 NuGet package.
Code
public MemoryStream BuildPDF()
{
    DocIORenderer render = new DocIORenderer();
    render.Settings.EmbedCompleteFonts = true;
    PdfDocument pdfDocument = render.ConvertToPDF(document);
    MemoryStream outputStream = new MemoryStream();
    pdfDocument.Save(outputStream);
    pdfDocument.Close();
    outputStream.Position = 0;
    return outputStream;
}

Expected Behavior
No response
Actual Behavior
No response
Version of SkiaSharp
Other (Please indicate in the description)
Last Known Good Version of SkiaSharp
2.88.2 (Previous)
IDE / Editor
Visual Studio Code (Windows)
Platform / Operating System
Windows
Platform / Operating System Version
No response
Devices
No response
Relevant Screenshots
The Word document is like the image below:

On the other hand, the output PDF from conversion:

Relevant Log Output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

I don't know what DocIORenderer is. Is that a separate library? Maybe open an issue for that team to investigate.

This issue has been fixed on the Syncfusion's side. Thank you!


Add Counting Aggregation Engines to Nucleus

Add the counting aggregation engines (fine and coarse) to Nucleus so time based counting aggregations can be performed using Rules

Basic feature added for Fine Counting Aggregations to Nucleus.


fix: Casing powerbidedicated/resource-manager/Microsoft.PowerBIDedicated

Not sure if #4728 will need a rebase if this lands first, but that should be OK

Automation for azure-sdk-for-python
Nothing to generate for azure-sdk-for-python

Automation for azure-sdk-for-js

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-java

Automation for azure-sdk-for-node

Automation for azure-sdk-for-go

@Anu would these be breaking changes on the generated packages? and does this actually now represent the right naming on the service side, or would the service side need to changes too. Specific for the Name of the official spec and not the examples ?

Hi @nschonni these file names might following certain policies and alias on the services side (even if misspelled) so I want to SUPER thank you for the contribution but I will kindly close this PR as the benefit of fixing them is minimal compared to the possible unknown damage

OK, I won't be resubmitting


Refactor(hack11/futurefriday): Import order (4)

This is a continuation of  https://github.com/artsy/energy/pull/83 where we run yarn lint --fix again to avoid conflicts

We can close https://github.com/artsy/energy/pull/83 PR


rules load

Do I have to restart falco when loading rules? Or can these configurations only be configured in yaml files? Configuring in the yaml file means that it can only be configured at the first startup, and you cannot add custom rules on the interface or through the http api

AFAIK, configuration/rules hot-reloading is supported in this way only:
https://falco.org/docs/getting-started/running/#hot-reload

AFAIK, configuration/rules hot-reloading is supported in this way only:
https://falco.org/docs/getting-started/running/#hot-reload

thank you

thank you

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle rotten

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

@poiana: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Add an API call to gather information about the instance

This update will require adding a new cluster role to the JupyterHub Service Account.

Can you please fix the conflicts?
I tested this and got cluster_id back, but not segment_key - any idea why?

@vpavlin Segment key needs to be added manually as a Secret resource by the admin user. Because different users may use different segment_key.

lgtm


Final classes

Why the read model repositories are marked as final?

It's impossible to unit test classes depending upon them, or at least it is possible with lots of mocking of the Doctrine's Connection/Statement class
Quoting Marco Pivetta:

Final classes only work effectively under following assumptions: There is an abstraction (interface) that the final class implements, All of the public API of the final class is part of that interface

An interface should be introduced or the final removed then.

I'm for remove final keyword. Having a finder interface makes no sense, especially when QueryBus (https://github.com/prooph/proophessor-do/issues/22) is used in this app.
your thought @codeliner ?

@mikemix Good catch. We should remove the final keyword.

yeah, we can remove the final keyword in this case. "final" is part of my template for new classes and I've forgotten to remove it for the finders. Good catch @mikemix


Allow Editing

Let me change the metadata or even the file itself.

After talking to Bill, need to clarify if edits will update an existing claim or just create a brand new claim with old data pre-populated (as you and I previously discussed)

Preferably it would be an update to the claim. The claim id is part of the short URL for my content, so unless you create a redirect, you'd want this to stay the same. The old claim would still need to be abandoned if we decided to make a new claim  - so that's 2 transactions instead of 1.
I would assume this would only be possible on authenticated channels, unless we introduce a new feature where we give the user an option to specify an "edit password" when publishing.


feat: xliff inserter

Q
A

Bug fix?
y

New feature?
y

BC breaks?
n

Deprecations?
n

Fixed tickets
n

nice! 👍


Include .config file when copying output files of a dependent project

Consider scenario where project A references project B and project B has an App.config file. The build copies .dll/.exe and .pdb files of B to the output directory of A, but doesn't currently copy .dll.config/.exe.config files that may contain binding redirects and other configuration.
I propose the build copies the configuration file as well, so that binding redirects are not lost. Since the latest CoreFX binaries heavily rely on presence of binding redirects having binding redirects flow seamlessly thru build system is becoming more and more important.

@ericstj

I think you can override this behavior by setting AllowedReferenceRelatedFileExtensions.
It sounds like @tmat is suggesting to add .config to this list.

Be aware that binding redirects are only loaded from the initial program's app.config.  For example, if you have foo.exe and foo.exe.config which loads bar.dll, the .NET Framework will not look for redirects within a bar.dll.config.  If foo.exe launches a bar.exe in a separate process, the binding redirects will be loaded.  I'm not sure from your example if you have EXEs referencing DLLs or other EXEs.
Also, if bar.dll has logic to read the config file using the standard API calls, it will be given the foo.exe.config.
var mySetting = ConfigurationManager.AppSettings["mysetting"];

If bar.dll has the logic to manually load it's own app.config, it can get to all of it's settings:
var appConfig = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location);
var mySetting = appConfig.AppSettings["mysetting"];

But again, binding redirects are only loaded from the initial .exe.config and as far as I know, there is no way for a class library to provide assembly redirects to its callers.  I think this is why the app.config was left out of the list of dependencies to copy.  But as @ericstj has said, you can easily add to the list in your project A.
<AllowedReferenceRelatedFileExtensions>
    .pdb;
    .xml;
    .pri;
    .config
</AllowedReferenceRelatedFileExtensions>

Be aware that binding redirects are only loaded from the initial program's app.config. For example, if you have foo.exe and foo.exe.config which loads bar.dll, the .NET Framework will not look for redirects within a bar.dll.config.

It is true that .NET assembly binder only uses .exe.config, however other frameworks (like unit testing frameworks including xunit) do load binding redirects from .dll.config files next to unit test .dlls.

I propose we add .dll.config and .exe.config to those extensions by default.

binding redirects are only loaded from the initial .exe.config and as far as I know,

BindingRedirects will be loaded from whichever config was configured for the AppDomain.  Most well behaved plugin hosts will provide a convention like .dll.config for plugins to specify their own config file.  Azure, MSTest, Xunit all do this.  MSBuild does not 😉

Can you point us to where these other systems do binding redirects for plugins?  I'd love to know more.

What are you looking for?  The APIs they call?  I believe it's AppDomainSetup.ConfigurationFile but it's been a while since I looked at the code.   You can probably reach out to MSTest folks, Azure SDK, or go poke around the Xunit repo (keeping license in mind of course).

It's important to note that MSBuild does not by default create a new AppDomain for task assemblies.

I'll start by saying that this is a bit of a tangent for this issue on related files.  Let me know if you have a better issue to move this discussion.

It's important to note that MSBuild does not by default create a new AppDomain for task assemblies.

Noted: MSBuild has an architecture that prevents people from using the package ecosystem in .NET.  I understand this was done for performance, but sometimes you need an option that favors correctness at the expense of performance.
@tmat and I were discussing the other day that it probably makes more sense for MSBuild to hook AssemblyResolve.  That way tasks don't have to worry about binding redirects.  You'd still hit issues with ordering where you encounter a task early that loads an older version of a library than one needed by a later task, but at least it would handle a common case where folks have conflicts within a task.  Right now tasks themselves have to deal with this.  Other ideas: If you have a complete view of all task directories you could unify up front for all possible assemblies.  If you don't have a complete view you could do a look when you're about to instantiate a task to determine if it would have a conflict and open a new app domain if it would.

MSBuild has an architecture that prevents people from using the package ecosystem in .NET. I understand this was done for performance, but sometimes you need an option that favors correctness at the expense of performance.

I don't think this is a fair characterization. The task-loading mechanisms were designed without consideration for the package ecosystem in .NET because they were designed over a decade ago and that ecosystem didn't exist then.
It's entirely reasonable to ask for improvements now that it does exist. Let's move that discussion to #1312.

WRT the subject of this issue, including .config sounds reasonable. My only concern is that it might be nice to be able to restrict it to .dll.config and .exe.config to avoid accidentally vacuuming up unrelated files.
@tmat

Since the latest CoreFX binaries heavily rely on presence of binding redirects

This is news to me. Is there documentation on what's changing here available somewhere? Or a couple of key PRs for me to educate myself?

@rainersigwald +1 for .dll.config and .exe.config. That's what I ended up doing in a global .targets of Roslyn project file: https://github.com/dotnet/roslyn/pull/14879/commits/1977e1daa7bb541b73e218d1cfe01e983d4666df
@ericstj Might be point out any documentation there is. I don't think there is much. It just simply happened as a side effect of some versioning decisions. It is not uncommon for packages to expose version X.Y.Z.0 in ref\netstandard1.3 directory while the implementation assembly in lib\net46 or the assembly shipping in .NET FX 4.6.* is actually X.Y.Z'.0 where Z' < Z.

Ah, conveniently the list of extensions would be happy to have the double-extension part: https://github.com/Microsoft/msbuild/blob/master/src/XMakeTasks/AssemblyDependency/ReferenceTable.cs#L868-L878
(I was a bit worried that we were calling Path.GetExtension somewhere which would have returned just .config.)

@krwq @piotrpMSFT @dsplaisted

@tmat and I were discussing the other day that it probably makes more sense for MSBuild to hook AssemblyResolve. That way tasks don't have to worry about binding redirects.

Why would we prefer this route vs. the route taken by Visual Studio?  Visual Studio has a similar style extension environment and approaches the problem by essentially dictating the version of .Net Standard it will run in it's process.  It then sets up the binding redirects appropriately.
This means that in order for an extension to run correctly in Visual Studio it simply needs to use a version of Net Standard which is compatible with that of Visual Studio.  The global binding redirects take care of all the nasty resolve issues.  Extensions really don't have to worry about the redirects.

The team discussed this and weren't quite completely for or against it.  We decided to error on the side of user request so I've sent a PR to include .config files.

@jaredpar VS also has binding redirects in devenv.config file. Packages can define additional binding redirects that get merged into devenv.config.

@tmat i'm not sure the merging would have any value for MSBuild.
The value of merging in Visual Studio is so that different extensions can have a coherent view of their dependencies.  It allows extensions to deploy / override shared components in their VSIX and ensure that others extensions see the new version as well.  That's valuable in Visual Studio because extensions often communicate using shared assets.
That's not the case in MSBuild.  Extensions are pretty much independent and don't really communicate directly with each other.  Hence I don't see a lot of value in merging the config files.

@jaredpar Good point.

@jaredpar Although, suppose there is an extension that depends on a library A that depends on a library B and the extension also depends on library B but newer version. Then the extension itself needs binding redirect for B.

@tmat they shouldn't if each extension deploys the library separately + it has a strong name.  In that case the "Load From" context rules should cause everything to work.  In each case the CLR logic should essentially be the following:

Is the assembly loaded?  If yes then done
Can the assembly be loaded by the primary load context?  If yes then done
Can the assembly be loaded from the directory that established the Load From context.

In the end this should cause the assembly to be loaded twice into the application: one copy from each extension directory.
I actually recently had to debug this exact case in Visual Studio for loading Microsoft.ApplicationInsights :)

I meant the case where there is a single extension, not multiple extensions.
Extension -> LibA -> LibB (v1)
Extension -> LibB (v2)

LibB v1 needs to be redirected to v2.

@tmat gotcha.  In that case yes they need to deal with assembly resolution in some way.

This change appears to have broken several customers:
https://developercommunity.visualstudio.com/content/problem/29031/dll-appconfig-being-built-in-vs-2017.html
https://developercommunity.visualstudio.com/content/problem/19696/vs-always-copies-all-appconfig-files-to-output-fol.html
https://developercommunity.visualstudio.com/content/problem/197297/class-library-config-files-included-with-client-ap.html
How to opt out
Define a property in your project
<!-- Redefine this list without .dll.config; see https://github.com/Microsoft/msbuild/issues/1307 -->
<AllowedReferenceRelatedFileExtensions>.pdb;.xml;.pri</AllowedReferenceRelatedFileExtensions>

That will prevent *.dll.config and *.exe.config from being copied.
Note that doing this overrides a property defined in common targets, so it may cause problems in the future if the default list changes (to something that you do want).

@rainersigwald Just to add to the problems that occurred due to this change. In my case this change lead to config files suddenly being included (mostly used for EntityFramework 6 connection strings) which contained sensitive connection strings not meant to be deployed with the main executable.
I recon this is a common occurrence when updating old projects since EF6 creates the app.config and those are often used for internal connection strings (for migrations or tests). This could possibly be a security issue.


Release Notes Doesn't Take Focus

Storage Explorer Version: 1.0.0 RC2
OS Version: Windows
Steps to Reproduce:
1.Try to tab into Release Notes
Expected Experience:
Can tab into release notes.
Actual Experience:
Can't :(

You can tab into the release notes now. Unfortunately web views are little bit buggy when it comes to force focusing elements in them, so clicking on the tab does not set focus into the editor reliably.


Fixing some issues with HeapSizeManager.

Using a wait/notify mechanism for HeapSizeManager flushes that waits for all completions to happen rather than reacting to each completion, which causes thread thrashing.
This is the same code as #614.  Something bad happened on the github side with all of the forced updates.

I updated the comments.  PTAL.

More comments. Did you update the code?

Add some test if not already there:
e.g.
T1: register op1
T2: register op2
T3: register op3 (full, blocked), op1 done
T4: flush (blocked), op2 done
T5: op3 done (notify flush), flush returns


Fix typo in IBAN entity type

There is a typo in entity type for IBAN.
Updated InternationlBankingAccountNumber to InternationalBankingAccountNumber

@akashdabhi03 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


ATAC-Seq short fragment bam and peak call

Hi Brad,
I have a question I have seen that you have add an ATAC option to the chip-seq pipeline. I think this is really useful. I was wondering if it would not make sense to make the peak calling only on short fragment (the one that do not span the nucleosome). I think would be nice if it would be possible to configure a parameter (maybe via YAML configuration) of the maximum length of the fragment, and have a bam of only short (open region) ATAC fragment and do the macs call on this.
What do you think?
Thanks
Alessandro

Hi,
I implemented that because we had a couple of project with that, and I did a simple implementation according ATAC-seq first developers of the protocol.
I am not in the position to decide that, but if you are working on that, and you can try to compare if that makes sense or not, I can certainly add someway an option inside resources for macs2 when running ATAC-seq to keep only short fragments in the BAM files.
Do you have any insight in what should be the default value? something that is reasonable?
thanks!

On Feb 17, 2017, at 2:50 PM, apastore<EMAIL_ADDRESS>wrote:
Hi Brad,
I have a question I have seen that you have add an ATAC option to the chip-seq pipeline. I think this is really useful. I was wondering if it would not make sense to make the peak calling only on short fragment (the one that do not span the nucleosome). I think would be nice if it would be possible to configure a parameter (maybe via YAML configuration) of the maximum length of the fragment, and have a bam of only short (open region) ATAC fragment and do the macs call on this.
What do you think?
Thanks
Alessandro
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/chapmanb/bcbio-nextgen/issues/1820, or mute the thread https://github.com/notifications/unsubscribe-auth/ABi_HJkMJ4y4WoyfEpP4aeagBRVpwIKoks5rdfoDgaJpZM4MErUL.

Thanks Lorena!
the nucleosome length its 180bp, so read pair that are bigger than (end to end) this are spanning multiple nucleosome. I usually set a insert size go 50 bp as a cutoff.
I also would be nice to output normalised bw file. there is a package call deeptols that is really useful for this. Would you like to consider it?
Thanks a lot
Alessandro

On 17 Feb 2017, at 16:25, Lorena Pantano<EMAIL_ADDRESS>wrote:
Hi,
I implemented that because we had a couple of project with that, and I did a simple implementation according ATAC-seq first developers of the protocol.
I am not in the position to decide that, but if you are working on that, and you can try to compare if that makes sense or not, I can certainly add someway an option inside resources for macs2 when running ATAC-seq to keep only short fragments in the BAM files.
Do you have any insight in what should be the default value? something that is reasonable?
thanks!

On Feb 17, 2017, at 2:50 PM, apastore<EMAIL_ADDRESS>wrote:
Hi Brad,
I have a question I have seen that you have add an ATAC option to the chip-seq pipeline. I think this is really useful. I was wondering if it would not make sense to make the peak calling only on short fragment (the one that do not span the nucleosome). I think would be nice if it would be possible to configure a parameter (maybe via YAML configuration) of the maximum length of the fragment, and have a bam of only short (open region) ATAC fragment and do the macs call on this.
What do you think?
Thanks
Alessandro
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/chapmanb/bcbio-nextgen/issues/1820, or mute the thread https://github.com/notifications/unsubscribe-auth/ABi_HJkMJ4y4WoyfEpP4aeagBRVpwIKoks5rdfoDgaJpZM4MErUL.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/chapmanb/bcbio-nextgen/issues/1820#issuecomment-280770715, or mute the thread https://github.com/notifications/unsubscribe-auth/AGOdNqNN38V_1tCiQRRZiksNKBvrdPZmks5rdhBbgaJpZM4MErUL.

sounds good. I will work on adding that.
About the deeptools, i know about it. I need to look if is already in bioconda and if you want to suggest some specific commands, I can do a TODO list. That probably will take more time since we would need some more chipseq project to work on that.
thanks!

On Feb 17, 2017, at 4:55 PM, apastore<EMAIL_ADDRESS>wrote:
Thanks Lorena!
the nucleosome length its 180bp, so read pair that are bigger than (end to end) this are spanning multiple nucleosome. I usually set a insert size go 50 bp as a cutoff.
I also would be nice to output normalised bw file. there is a package call deeptols that is really useful for this. Would you like to consider it?
Thanks a lot
Alessandro

On 17 Feb 2017, at 16:25, Lorena Pantano<EMAIL_ADDRESS>wrote:
Hi,
I implemented that because we had a couple of project with that, and I did a simple implementation according ATAC-seq first developers of the protocol.
I am not in the position to decide that, but if you are working on that, and you can try to compare if that makes sense or not, I can certainly add someway an option inside resources for macs2 when running ATAC-seq to keep only short fragments in the BAM files.
Do you have any insight in what should be the default value? something that is reasonable?
thanks!

On Feb 17, 2017, at 2:50 PM, apastore<EMAIL_ADDRESS>wrote:
Hi Brad,
I have a question I have seen that you have add an ATAC option to the chip-seq pipeline. I think this is really useful. I was wondering if it would not make sense to make the peak calling only on short fragment (the one that do not span the nucleosome). I think would be nice if it would be possible to configure a parameter (maybe via YAML configuration) of the maximum length of the fragment, and have a bam of only short (open region) ATAC fragment and do the macs call on this.
What do you think?
Thanks
Alessandro
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/chapmanb/bcbio-nextgen/issues/1820, or mute the thread https://github.com/notifications/unsubscribe-auth/ABi_HJkMJ4y4WoyfEpP4aeagBRVpwIKoks5rdfoDgaJpZM4MErUL.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/chapmanb/bcbio-nextgen/issues/1820#issuecomment-280770715, or mute the thread https://github.com/notifications/unsubscribe-auth/AGOdNqNN38V_1tCiQRRZiksNKBvrdPZmks5rdhBbgaJpZM4MErUL.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/chapmanb/bcbio-nextgen/issues/1820#issuecomment-280777382, or mute the thread https://github.com/notifications/unsubscribe-auth/ABi_HNEmf5olcnJPS6qTsCUGTTGo5CLQks5rdhdogaJpZM4MErUL.

Hi Lorena, Thanks!
deeptools is in bioconda.
I use deeptools in this way for chip seq (SE and PE)
Single End Bam
bamCoverage -b bam/${chip}-ready.bam -o bw/${chip}.bw
--binSize 20 --normalizeTo1x ${genomesize}
--smoothLength 30
--ignoreForNormalization chrX chrY
--extendReads 250
--centerReads
Pair End Bam
bamCoverage -b bam/${chip}-ready.bam -o bw/${chip}.bw
--binSize 20 --normalizeTo1x ${genomesize}
--smoothLength 30
--ignoreForNormalization chrX chrY
--extendReads
--centerReads
Thanks!
Alessandro

On 20 Feb 2017, at 15:12, Lorena Pantano<EMAIL_ADDRESS>wrote:
sounds good. I will work on adding that.
About the deeptools, i know about it. I need to look if is already in bioconda and if you want to suggest some specific commands, I can do a TODO list. That probably will take more time since we would need some more chipseq project to work on that.
thanks!

On Feb 17, 2017, at 4:55 PM, apastore<EMAIL_ADDRESS>wrote:
Thanks Lorena!
the nucleosome length its 180bp, so read pair that are bigger than (end to end) this are spanning multiple nucleosome. I usually set a insert size go 50 bp as a cutoff.
I also would be nice to output normalised bw file. there is a package call deeptols that is really useful for this. Would you like to consider it?
Thanks a lot
Alessandro

On 17 Feb 2017, at 16:25, Lorena Pantano<EMAIL_ADDRESS>wrote:
Hi,
I implemented that because we had a couple of project with that, and I did a simple implementation according ATAC-seq first developers of the protocol.
I am not in the position to decide that, but if you are working on that, and you can try to compare if that makes sense or not, I can certainly add someway an option inside resources for macs2 when running ATAC-seq to keep only short fragments in the BAM files.
Do you have any insight in what should be the default value? something that is reasonable?
thanks!

On Feb 17, 2017, at 2:50 PM, apastore<EMAIL_ADDRESS>wrote:
Hi Brad,
I have a question I have seen that you have add an ATAC option to the chip-seq pipeline. I think this is really useful. I was wondering if it would not make sense to make the peak calling only on short fragment (the one that do not span the nucleosome). I think would be nice if it would be possible to configure a parameter (maybe via YAML configuration) of the maximum length of the fragment, and have a bam of only short (open region) ATAC fragment and do the macs call on this.
What do you think?
Thanks
Alessandro
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/chapmanb/bcbio-nextgen/issues/1820, or mute the thread https://github.com/notifications/unsubscribe-auth/ABi_HJkMJ4y4WoyfEpP4aeagBRVpwIKoks5rdfoDgaJpZM4MErUL.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/chapmanb/bcbio-nextgen/issues/1820#issuecomment-280770715, or mute the thread https://github.com/notifications/unsubscribe-auth/AGOdNqNN38V_1tCiQRRZiksNKBvrdPZmks5rdhBbgaJpZM4MErUL.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/chapmanb/bcbio-nextgen/issues/1820#issuecomment-280777382, or mute the thread https://github.com/notifications/unsubscribe-auth/ABi_HNEmf5olcnJPS6qTsCUGTTGo5CLQks5rdhdogaJpZM4MErUL.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/chapmanb/bcbio-nextgen/issues/1820#issuecomment-281171546, or mute the thread https://github.com/notifications/unsubscribe-auth/AGOdNu7fJ4HaS0m3L2yuxSvMysn4vMy2ks5refOZgaJpZM4MErUL.

Alessandro and Lorena;
Thanks for looking at this. How is the performance and resource usage of deeptools for whole genome inputs? We looked at this a while ago and ran into extremely high memory usage for bigwig creation. We had automated bigwig generation and had to remove it as a result of this. This used UCSC's wigToBigWig but I'm not sure if there are fundamental challenges with bigwig writing that require holding a lot in memory. It might be worth doing some manual testing before trying to integrate.

Thanks Brad!
I normally allocate 10G for two process with  Chip-seq, ATAC-seq and RNA-seq.

On 20 Feb 2017, at 20:11, Brad Chapman<EMAIL_ADDRESS>wrote:
Alessandro and Lorena;
Thanks for looking at this. How is the performance and resource usage of deeptools for whole genome inputs? We looked at this a while ago and ran into extremely high memory usage for bigwig creation. We had automated bigwig generation and had to remove it as a result of this. This used UCSC's wigToBigWig but I'm not sure if there are fundamental challenges with bigwig writing that require holding a lot in memory. It might be worth doing some manual testing before trying to integrate.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/chapmanb/bcbio-nextgen/issues/1820#issuecomment-281217642, or mute the thread https://github.com/notifications/unsubscribe-auth/AGOdNh3TL53031Pq7Tn30gIhCt6ZZZopks5rejnYgaJpZM4MErUL.

Alessandro;
Thanks much. What types/sizes of files does your 10Gb limit work for? Have you investigated with deeper depths or whole genome files? It would be helpful to have a range on memory bounds for different file types. Thanks again.

Hi Brad,
My bam are around 5 Gb for Chip-seq and Atac-seq, for RNA-seq we usually aim for 50M to 100M reads (it depend on the application).
I use deeptools for epigenetic project, for bw generation and for the Count Matrix.
I have no experience at all on Whole Genome Data with deeptools, so I can not comment on this.
Thanks
Alessandro

On 20 Feb 2017, at 20:52, Brad Chapman<EMAIL_ADDRESS>wrote:
Alessandro;
Thanks much. What types/sizes of files does your 10Gb limit work for? Have you investigated with deeper depths or whole genome files? It would be helpful to have a range on memory bounds for different file types. Thanks again.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/chapmanb/bcbio-nextgen/issues/1820#issuecomment-281223045, or mute the thread https://github.com/notifications/unsubscribe-auth/AGOdNhT5XFRCu9bwvA2pDscb1hLrFxi8ks5rekNOgaJpZM4MErUL.

I'll follow up here: https://github.com/chapmanb/bcbio-nextgen/issues/1831


Documentation suggestion

On my Mac (10.13.4), I received this error running bootstrap:
❯ ./bootstrap
./bootstrap: line 3: exec: autoreconf: not found

I ran:
brew install autoconf automake libtool

and then the README instructions worked.

I added a list of required packages to the README. Does this also work for darwin?


Move to .NET 8 ?

Hi !
Using the latest .NET would make this cross platform and enable more contributions from people who do not use Windows.
I'm curious, what would be the main issues preventing that, and would you accept such a PR ?

I was also thinking about transition to .NET Core.
But few issues are preventing me to do just that:

You can't hook Key Up/Down and Mouse Up/Down/Move events, also, there are no alternatives. This specifically impacts Alt+?, Ctrl+? key combinations and map display (moving, etc.).
Paint event, couldn't find real alternative.
The code is still rough as there are a couple of objects still to be translated to managed state, also, the original dialogs would need to be translated to real .NET Forms/Dialogs.

I'm doing this step by step, and sure enough there will come a time when the gap will be almost non existent, but for now these are real problems preventing me to migrate to .NET Core.

For the UI side of things, I'm sure everything can be replaced with AvaloniaUI. Unless you use MDI (Multi Document Interface), which is not present.

Spice86 (a similar project that I contribute to. We focus on Dune) hooks up those events with AvaloniaUI with no problems:
See this issue for the paint event: https://github.com/AvaloniaUI/Avalonia/discussions/12306
I think this can be preserved and that the move to .NET 8 + AvaloniaUI won't change that... ? Is there more to it ?

There is a mid-step than I see: Still using WinForms, but the latest .NET 8 introduces binding APIs. This would make the
WinForms code, and furthermore code-behind code (The code ) tend to mix business logic with UI logic and form spagetthi code.
The UI side of things seems simple enough to be fixed very quickly, before it becomes a problem. WinForms is very problematic with this, very quickly (10 years of experience dealing with it).
WinForms in .NET 8 introduces binding APIs that enables the usage of the MVVM pattern, which makes things easier to maintain in the long run, and separate UI logic from business logic.
(I've done a ton of WinForms / WPF / AvaloniaUI, and a ton of .NET work, as you can see)

These are good news indeed :)
For now OpenCiv1 depends on one simple WinForm (MainForm.cs) which hooks:

KeyPress,
KeyDown,
MouseMove,
MouseDown,
MouseUp,
Paint,
FormClosing (For 'Are you sure you want to quit?' message)

There are a few buttons, Pause/Run button, and Hide/Display screen 1-n
You can see details in MainForm.cs
If you can perhaps contribute in alternative MainForm.cs code that would be great, as all other things in code should work also in .Net Core.
I'm sorry, but for now I really don't have time (already late with a few projects) to invest in learning new .NET Core things. For now, I have done one medium complexity .NET Core WebApp (Revigo) which works great, it's a little different than ASP.NET, but overall the experience has been very positive.
Perhaps there are a few NULL object references, but these can be resolved with time (as .NET Core is compatible with NULL object references).
I'm sure there are many people who will be happier with .NET Core version.
However, I plan to port code later on to JavaScript, as that would give us true Multiplatform capabilities, Multiplayer, real Hall of fame, game Save sharing, etc.
Of course everyone will be able to run their own private server ;) for offline playing, etc.

Thank you for this detailed answer.
Actually, the very first contribution would be to move to SDK-style .csproj files. This does not imply by itself a move from .NET Framework.

However, I plan to port code later on to JavaScript, as that would give us true Multiplatform capabilities, Multiplayer, real Hall of fame, game Save sharing, etc.

I'd use Blazor for that, but it's just because I really dislike Javascript, and keeping the same C# codebase would save time and efforts. Blazor uses C# seamlessly on the server side and on the client side. AvaloniaUI can do it too, with WASM, but Blazor is more documented. Blazor still can use JS modules if needed.

I completely overlooked Blazer ;)
Thanks for pointing me the right way will look at it later.
I specifically meant to upgrade to .NET Core/MAUI. Don't know if that supports all events that I need for conversion.

...and join the discord channel - there are so few reversing people out there :(

Did a conversion of project to a newer format (SDK-style .csproj files).

...and join the discord channel - there are so few reversing people out there :(

The invite link expired...

Here is a new one https://discord.com/invite/bXtzpqPj
I will send a PR today for net core.

I tried today on MacOS:

It works!!!

I would suggest that everyone who wants to participate in testing OpenCiv1 before release do so ;)

Very good! I actually suggest you show these two screenshots in the readme section.

Is there a way to increase the window size?

By default, there should be.

By default, there should be.

I fixed the size of the main window.

No, not yet :( The game is built for 320x200 and I increased it to 640x400 by doubling pixel size. Later on, when I translate more code then it will be possible. Well I could scale the image further, but the game resolution will stay the same.

You can put a viewbox as a parent to the Image control. It will scale it properly at any size.

No, not yet :( The game is built for 320x200 and I increased it to 640x400 by doubling pixel size. Later on, when I translate more code then it will be possible. Well I could scale the image further, but the game resolution will stay the same.

You can put a viewbox as a parent to the Image control. It will scale it properly at any size.

Yes, perhaps that is what I should do ;)

Wow, so easy, and it works instantly ;)
I committed the changes.

Amazing, now full screen mode works! This will make play testing the game easier.

I'm going to close this, a project was successfully migrated to .NET 8 and Avalonia UI


subversion: Depends on zlib

Otherwise the build was failing on CentOS 6.7
https://gist.github.com/anonymous/1613a9b672b3215546c4

In the gist that you posted, I couldn't find an error related to zlib. Just this error:
https://gist.github.com/anonymous/1613a9b672b3215546c4#file-02-make-L27
/usr/include/stdlib.h:521:1: error: C++ style comments are not allowed in ISO C90
 // XXX There should be a macro to signal with C++ revision is used.

It manifested when using /usr as include directory for zlib.
Brewed gcc does not have /usr/include in the include path by default and everything goes wild when it is added.

It manifested when using /usr as include directory for zlib.

Right. Of course. I understand. Yes, good patch. Please fix up my comments, and I'll merge it.

Okay, fixed as per comments

https://travis-ci.org/Linuxbrew/linuxbrew/builds/111967566
Testing subversion
==> svnadmin create test
/home/travis/build/Linuxbrew/linuxbrew/Cellar/subversion/1.9.3/bin/svnadmin: error while loading shared libraries: libapr-1.so.0: cannot open shared object file: No such file or directory
Error: subversion: failed
Failed executing: /home/travis/build/Linuxbrew/linuxbrew/Cellar/subversion/1.9.3/bin/svnadmin create test

Strange error from Travis, unrelated to this patch.

Merged. Thanks for your contribution, Arseny!


Swagger gem in rails for RESTful apis renders same model for 2 different apis if same model name is used to describe two different schemas under 2 different APIs in Swagger

You'd need to open the issue on that specific project. I'm afraid we can't help there.


[Tools/MachOReader] Reading newer framework files with TMachOReader fails

As per title - e.g. reading the GoogleMobileAds framework in v11.2.0 SDK fails to read the headers. It appears the code does not correctly read the "magic" in this code (as indicated in comments):
procedure TMachOReader.ExtractFatHeader(const AMagic: TMagic);
var
  LHeader: fat_header;
  LHeaderSize, LArchSize: NativeUInt;
  LArchOffset, LMachOffset: Int64;
  LArch: fat_arch;
  I: UInt32;
  LMagic: TMagic;
begin
  FillChar(LHeader, SizeOf(LHeader), 0);
  LHeaderSize := SizeOf(LHeader);
  ReadMachOStruct(@LHeader, LHeaderSize, 0);
  if AMagic.NeedsSwapBytes then
    swap_fat_header(LHeader);
  LArchSize := SizeOf(LArch);
  LArchOffset := LHeaderSize;
  for I := 0 to LHeader.nfat_arch - 1 do
  begin
    ReadMachOStruct(@LArch, LArchSize, LArchOffset);
    if AMagic.NeedsSwapBytes then
      swap_fat_arch(LArch);
    LMachOffset := LArch.offset;
    LArchOffset := LArchOffset + LArchSize;
    // **** Here, LMachOffset is: 32 - see below
    LMagic := ReadMagic(LMachOffset);
    // Resulting LMagic -
    // magic:<PHONE_NUMBER> ($72613C21), Is64: False, IsFat: False, NeedsSwapBytes: False
    // magic should be either $feedfacf or $cffaedfe for 64-bit arches
    // This causes ExtractMachHeader to fail, since it thinks the header is NOT 64-bit
    // I suspect the offset of 32 is "wrong", since this magic value is wrong
    ExtractMachHeader(LMagic, LMachOffset);
  end;
end;

I am not sure whether there is something else I need to take into account here. By contrast, the WebRTC framework (a build from Sep 2nd, 2022) returns an offset value of: 16384.

Just discovered the reason it fails: the GoogleMobileAds framework is an archive:
GoogleMobileAds: Mach-O universal binary with 1 architecture: [arm64:current ar archive]
GoogleMobileAds (for architecture arm64):	current ar archive

"Parking" this for now, because it appears handling archive files will be complex. It was hoped that the tool could be used for determining dependencies of frameworks ahead of time, instead of discovering them when the linker fails due to the dependency being "missing".


How to validate minimum maximum value in text field?

Currently it supportes validation only for radio and select . I need validation based on my
<input cf-questions="questions" type="number" class="form-control" name="coverage-term" id="coverage_term" min="1" max="30">
currently no errors appearing when I enter more than 30.

@ssrgspdkt correct, min and max are not implemented.
You can use pattern attribute instead:
<input cf-questions="questions"  type="number" class="form-control" name="coverage-term" id="coverage_term" pattern=".{1,30}" required>

@felixnielsen, can't validate a number between 1-10 using standard HTML5 min max, or pattern attribute, or mix of both on <input type="number" />
demo
Is this expected or should i move this kind of validation to the flowStepCallback?


AND should have higher priority then XOR.

Describe the bug:
AND should have higher priority then XOR.
To Reproduce:
Steps to reproduce the behavior:
This code gives wrong result
Ink X xor Y and 1

This one is fixed.


Please put up the latest version on npm

The current version doesn't work and throws: "ORIGINAL EXCEPTION: TypeError: observable.map is not a function" when I try to call my REST endpoint, but if I copy and paste the most recent angular2-rest.ts file and compile it then it works fine.

Until it's updated, you can put Paldom/angular2-rest instead of a version in your package.json and it will take the latest commit from master.


pmr and mdb files

Does any of the built tools allow to open PMR or MDB files in "Avid Media Files" folder?
Thank you

No, the tools can only be used to read and write the MXF OP-Atom files.


Link Terra.validates calls to screenshot files

Summary of scope
The scope is to implement a ReferenceContibutor for Terra.validates.screenshot(); and similar calls, so that its first, name String parameter can be linked to the screenshot files it references.
Solution details

The pattern to resolve the screenshot file name by:
<parent describe/Terra.describeViewport block's name argument>[<screenshot validation call's name parameter>].png
Some special characters are converted into underscores: whitespace, apostrophe, double-quotes
The full list of characters to investigated.
The calls to include:

Terra.validates.screenshot
Terra.validates.element
Terra.it.validatesScreenshot
Terra.it.validatesElement

Out of scope

Screenshot validation calls without a name parameter specified, since there is no element to add the reference to. That will need a separate investigation.
latest and diff versions of images won't be included in the reference suggestion list, only the reference ones.

This is completed.


No such command in 2.7.15 of python

This is using 2.7.15 installation. I'm using fish 3.0 if that matters at all.

Hi, sorry for the delay.
I did not manage to reproduce (I'm also using fish 3.0).
Could you try to uninstall and reinstall just to be sure, please?
Thanks.

I've actually stopped using asdf as it wasn't working out for me. I'll close this then.
Thanks for trying to replicate it though!


[kueuectl] Support autocompletion on kueue CLI commands

What type of PR is this?
/kind feature

What this PR does / why we need it:
Support autocompletion on kueue CLI commands.
Which issue(s) this PR fixes:

Fixes #2295
Special notes for your reviewer:
Does this PR introduce a user-facing change?

Support autocompletion on kueue CLI commands

/assign

/ok-to-test

/assign @trasc

/cc @IrvingMg @vladikkuzn

/assign @alculquicondor

Please check integration failure

@alculquicondor Looks like flakiness problem here.
[FAILED] Expected <string>: "...     1s" to equal               |  <string>: "...     0s"
Should I fix here or on another PR?

/test pull-kueue-test-integration-main

oh ok, yes, fix in a separate PR
/lgtm

Created issue #2353

/hold cancel

/release-note-edit
CLI: Support autocompletion


feature(lcm): add MBPO algorithm

Description
add the pipeline of model-based rl, along with mujoco config and MBPO algorithm.
Related Issue
TODO
Check List

[ ] merge the latest version source branch/repo, and resolve all the conflicts
[ ] pass style check
[ ] pass all the tests

please add some algorithm results in PR statement (like performance table or tensorboard)


Get all constant values to a identical type

For the context:
I think we need some common pattern for all our DOM-integrated constants, with some naming convention with clear names, because currently it's pretty random and not clear. I think we can do it in separate PR after v1.0, can you fill the issue pls?

E.g., turn this
const IFRAME_WINDOW_INITED = 'hh_iwi_5d9138e9';

into
const IFRAME_WINDOW_INITED = '%hammerhead|iframe-window-inited%';


Increase visibility of SecurityTestRule#addApplicationServletFilter

I'm a developer of the SAP Cloud SDK and currently I'm creating a sample application and different test setups for best practices to show the integration of both libraries.
In order to enable the Cloud SDK within applications served by the internal Jetty container during tests, we would need the consumer to be able to attach our filter class.
Before:
@ClassRule
public static SecurityTestRule rule =
  SecurityTestRule.getInstance(Service.XSUAA)
    .useApplicationServer()
    .addApplicationServlet(TestServlet.class, "/app");

After:
@ClassRule
public static SecurityTestRule rule =
  SecurityTestRule.getInstance(Service.XSUAA)
    .useApplicationServer()
    .addApplicationServlet(TestServlet.class, "/app")
    .addApplicationServletFilter(com.sap.cloud.sdk.cloudplatform.servlet.RequestAccessorFilter.class);

I already tested by invoking the package-private function via Java Reflection. As a workaround.

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


Add test case for removing not responding peer

Codecov Report

Merging #14 into master will increase coverage by 1.364%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##            master      #14       +/-   ##
============================================
+ Coverage   82.245%   83.61%   +1.364%
============================================
  Files           56       55        -1
  Lines         3999     3972       -27
============================================
+ Hits          3289     3321       +32
+ Misses         710      651       -59


Socket server need to restart on day start

I've created the server in laravel command file & set in supervisor to run the socket server continuously to accept client msg
Laravel Command file code
Server.php
$loop = React\EventLoop\Factory::create();
$IP = getHostByName(getHostName()); // this will get current server IP address // <IP_ADDRESS>
$socket = new React\Socket\Server($IP.':8080', $loop);

$socket->on('connection', function (React\Socket\ConnectionInterface $connection) {
    $connection->on('data', function ($data) use ($connection) {
        // process data sent from client
    });
});
$loop->run();

Client.php
$loop = React\EventLoop\Factory::create();
$connector = new React\Socket\Connector($loop);

$connector->connect('<IP_ADDRESS>:8080')->then(function (React\Socket\ConnectionInterface $connection) use ($loop,$data) {
    $connection->write($data); // sent data to Server.php
});
$loop->run();

This is working fine but when I check on the next day it will be sent data from Client.php but not received at Server.php Then  restart Supervisor of Server.php / php artisan server  then it working fine for the whole day

You mentioned at https://github.com/reactphp/socket/issues/203#issuecomment-871327457 that his happens at midnight? What happens at midnight on that server and with your application? Aside from that this code looks fine, What is happening at // process data sent from client?

I've found what exactly happen.
I've set IP with port <IP_ADDRESS>:8080 to communicate with the socket server. but when I've checked for the next day the IP is changed to <IP_ADDRESS>:8080.
Below is the solution to communicate with any IP address.
Server.php
$loop = React\EventLoop\Factory::create();
$IP = getHostByName(getHostName()); // this will get current server IP address // <IP_ADDRESS>
$IP = '<IP_ADDRESS>'; -> set this to I/O to any IP address
$socket = new React\Socket\Server($IP.':8080', $loop);

$socket->on('connection', function (React\Socket\ConnectionInterface $connection) {
    $connection->on('data', function ($data) use ($connection) {
        // process data sent from client
    });
});
$loop->run();

o	sudo lsof -i -P -n | grep LISTEN -> run this cmd to check 8080 port
with updated code, It's showing now *:8080

@kailasb10 you mean the IP of the server changes? or is the IP still the same but your socket server isn't listening to the unchanged IP?

@kailasb10 you mean the IP of the server changes? or is the IP still the same but your socket server isn't listening to the unchanged IP?

I'm requesting <IP_ADDRESS>:8080 but on the server, it's set to <IP_ADDRESS>:8080 that's why it's not communicating may be getHostByName(getHostName()); this line gives the local IP.
but after restart of supervisor, this line get getHostByName(getHostName()) server IP so it set back to again <IP_ADDRESS>:8080
So I've changed in server.php file to create a connection with <IP_ADDRESS>:8080 it's will start communicating with any IP address.

So you say (react)php looses the IP binding at some point in the process?
Switching to the wildcard IP <IP_ADDRESS> is a workaround but doesn't solve the actual problem.
Just to be on the same page.

You start your ReactPHP Server
It binds to <IP_ADDRESS> in port 8080
it runs several hours without problem and sind bound to <IP_ADDRESS>
at some point in time it doesn't response anymore
you check with lsof -i -P -n | grep LISTEN or netstat -lnp (should be the same result) and see that the PHP process with the same PID runs no on <IP_ADDRESS>:8080
you restart your ReactPHP Server and it works normally again bound to <IP_ADDRESS>?

So you say (react)php looses the IP binding at some point in the process?
Switching to the wildcard IP <IP_ADDRESS> is a workaround but doesn't solve the actual problem.
Just to be on the same page.

You start your ReactPHP Server
It binds to <IP_ADDRESS> in port 8080
it runs several hours without problem and sind bound to <IP_ADDRESS>
at some point in time it doesn't response anymore
you check with lsof -i -P -n | grep LISTEN or netstat -lnp (should be the same result) and see that the PHP process with the same PID runs no on <IP_ADDRESS>:8080
you restart your ReactPHP Server and it works normally again bound to <IP_ADDRESS>?

yes

AFAIK that's not possible ;-)
Does your server loose the IP or network connect at some point? or maybe use DHCP?

Does your server lose the IP or network connection at some point? or maybe use DHCP?

That is a very good point! No clue how the socket server behaves what it expires, that would also depend on the network stack of the OS. But I wouldn't be surprised if it would fall back to the loopback interface and bind on <IP_ADDRESS> instead, it's unexpected from a consumer's POV. But maybe not so much from a network POV.
Also, if you lose that IP, an active connection might be dropped no matter how long. I kinda assumed you had a very good reason to go for a specific IP, but otherwise use <IP_ADDRESS> if you don't have a very good reason. Use a firewall to shield it off if you have to. Also look into using an on error handler on the client's side to reconnect when it disconnects: https://reactphp.org/socket/#connectioninterface

Does your server lose the IP or network connection at some point? or maybe use DHCP?

That is a very good point! No clue how the socket server behaves what it expires, that would also depend on the network stack of the OS. But I wouldn't be surprised if it would fall back to the loopback interface and bind on <IP_ADDRESS> instead, it's unexpected from a consumer's POV. But maybe not so much from a network POV.
Also, if you lose that IP, an active connection might be dropped no matter how long. I kinda assumed you had a very good reason to go for a specific IP, but otherwise use <IP_ADDRESS> if you don't have a very good reason. Use a firewall to shield it off if you have to. Also look into using an on error handler on the client's side to reconnect when it disconnects: https://reactphp.org/socket/#connectioninterface

I've observed that this will happen when the server restart.
I've checked in VM it creates an issue when the next day I've started & the same will happen when I've restarted my AWS server.
I think when the server started the supervisor is also restarted that time somehow it didn't get the server IP then it points to the local IP

I think when we get NULL IP address then it points to local IP (<IP_ADDRESS>) address

Thanks for you answer. It looks like that's a completely different scenario compared to my understanding of you description.
In this case I would expect ReactPHP (actually the underlying layers down to the kernel) behaves correctly. At point in time when your application starts you get the IP that exists in the system which is at least localhost. That means you application starts too early.
I don't know which supervisor you use, I can only suggest to change the start dependencies the way your application is started after the network stack is ready.
The good thing is that is not a ReactPHP issue 😅

Thanks for you answer. It looks like that's a completely different scenario compared to my understanding of you description.
In this case I would expect ReactPHP (actually the underlying layers down to the kernel) behaves correctly. At point in time when your application starts you get the IP that exists in the system which is at least localhost. That means you application starts too early.
I don't know which supervisor you use, I can only suggest to change the start dependencies the way your application is started after the network stack is ready.
The good thing is that is not a ReactPHP issue 😅

yes. It's not ReactPHP issue :)


A command for posting twitter threads

I.e. Someone talking about the anime industry (Yuyucows) will normally have one tweet to kick things off. The thing I'd want is to be able to read the whole thread (be it with a -> next function to go to the next post or something) without having to open up Twitter.
This suggestion was created by a user and sent by the bot:
jukebox-botto#8602

postponed until discord.py 2.0 comes out officially
Use of ephemeral messages would reduce clutter a lot here

twitter api changes made this feature impossible will not do anything with the twitter api


Error during WebSocket handshake: Unexpected response code: 400

@ #293
In my case. The mentioned error is caused by the way jsmpeg create websocket. It create with an subprotocol called 'null', which means server should accept the connection request properly.
In Django, this means
this.accept('null')

Hoping this will be fixed soon.

@ #293
In my case. The mentioned error is caused by the way jsmpeg create websocket. It create with an subprotocol called 'null', which means server should accept the connection request properly.
In Django, this means
this.accept('null')

Hoping this will be fixed soon.


inotifywait occasionally reports zero-length file

Issue Type: Bug
Setup:
mkdir repro
cd repro
git init
touch test.txt
cat > watch << EOF
#!/bin/bash
path=test.txt
while inotifywait -e modify \$path; do
  stat --printf="%s" \$path
done
EOF
chmod +x watch
code .

Inside VSCode, open test.txt and open an integrated terminal with Ctrl+` . Inside the integrated terminal, start the watcher script with ./watch.
Now make repeated edits to test.txt. Occasionally the watcher script will report that the file has zero-length.
VS Code version: Code 1.29.1 (bc24f98b5f70467bc689abf41cc5550ca637088e, 2018-11-15T19:07:43.495Z)
OS version: Linux x64 4.15.0-38-generic

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz (4 x 2700)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: disabled_softwarevideo_decode: unavailable_softwarevideo_encode: unavailable_softwarewebgl: enabledwebgl2: enabled

Load (avg)
1, 1, 1

Memory (System)
15.52GB (10.20GB free)

Process Argv
.

Screen Reader
no

VM
0%

Extensions: none

When saving a file, node.js will first truncate the file to be empty and then fill it up. There is nothing we can do against that.


[tweek-gateway] try to reload errored jwk cached endpoints

I think we should avoid reading the JWKS endpoint in response to a request, it can create problems if the server is slow.
It should be only run as a background process

@yshayy that's why I added throttling, it will only make the request if there was an error and 5 seconds passed since the last request.
It's eight a slow response or an error, in my opinion I would prefer a slower response

It could affect throughput if there's multiple requets, it's especially critical in non-editor scenarios. (Better to reject thousands of concurrent requests than to hold them which will affect all consumers)

you only hold one request every 5 seconds, and only if there was an error resolving the jwk

If there's another concurrent request? is it dropped?


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-29-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4512

Questions ?
Please refer to the Backport tool documentation


Root Namespace

Dear,
How i can bring hosts into root namespace?
Thanks

This is not a bug or feature request.

@KiarashS Have you tried suggestion at Connect Mininet Hosts to Root Namespace?


Respect TypeScript path aliases in Wrangler module-collection

Which Cloudflare product(s) does this pertain to?
Wrangler
What version of Wrangler are you using?
2.13.0
What operating system are you using?
Mac
Describe the Bug
Getting the following module resolution error when resolving a non-standard extension (.graphql) while using TS path aliases.
Please note: this works fine if I don't use the ~/* alias I have configured and use a relative import instead. Just the alias seems to mess up the file resolution.
[ERROR] [plugin wrangler-module-collector] ENOENT: no such file or directory, open '/Users/estrattonbailey/Sites/rainbow/arc/workers/nfts/src/routers/graphql/~/routers/graphql/schema.graphql'

    src/routers/graphql/index.ts:7:19:
      7 │ import schema from '~/routers/graphql/schema.graphql';
        ╵                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  This error came from the "onResolve" callback registered here:

    ../../node_modules/.pnpm/wrangler@2.13.0/node_modules/wrangler/wrangler-dist/cli.js:130799:19:
      130799 │             build5.onResolve(
             ╵                    ~~~~~~~~~

    at /Users/estrattonbailey/Sites/rainbow/arc/node_modules/.pnpm/wrangler@2.13.0/node_modules/wrangler/wrangler-dist/cli.js:130799:20
    at Array.forEach (<anonymous>)
    at /Users/estrattonbailey/Sites/rainbow/arc/node_modules/.pnpm/wrangler@2.13.0/node_modules/wrangler/wrangler-dist/cli.js:130798:22
    at Array.forEach (<anonymous>)
    at setup (/Users/estrattonbailey/Sites/rainbow/arc/node_modules/.pnpm/wrangler@2.13.0/node_modules/wrangler/wrangler-dist/cli.js:130795:16)
    at handlePlugins (/Users/estrattonbailey/Sites/rainbow/arc/node_modules/.pnpm/esbuild@0.16.3/node_modules/esbuild/lib/main.js:1276:21)
    at buildOrServeImpl (/Users/estrattonbailey/Sites/rainbow/arc/node_modules/.pnpm/esbuild@0.16.3/node_modules/esbuild/lib/main.js:965:5)
    at Object.buildOrServe (/Users/estrattonbailey/Sites/rainbow/arc/node_modules/.pnpm/esbuild@0.16.3/node_modules/esbuild/lib/main.js:773:5)
    at /Users/estrattonbailey/Sites/rainbow/arc/node_modules/.pnpm/esbuild@0.16.3/node_modules/esbuild/lib/main.js:2112:17

I'm importing the following:
import schema from '~/routers/graphql/schema.graphql';
...

Here's my wrangler.toml:
rules = [
  { type = "Text", globs = ["**/*.graphql"], fallthrough = true }
]

And here's my tsconfig.json:
{
  "include": ["src", "env.d.ts"],
  "compilerOptions": {
    "strict": true /* Enable all strict type-checking options. */,
    "target": "es2021" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
    "lib": [
      "es2021"
    ] /* Specify a set of bundled library declaration files that describe the target runtime environment. */,
    "module": "es2022" /* Specify what module code is generated. */,
    "moduleResolution": "node" /* Specify how TypeScript looks up a file from a given module specifier. */,
    "baseUrl": "./" /* Specify the base directory to resolve non-relative module names. */,
    "paths": {
      "~/*": ["src/*"]
    } /* Specify a set of entries that re-map imports to additional lookup locations. */,
    "types": [
      "@cloudflare/workers-types"
    ] /* Specify type package names to be included without being referenced in a source file. */,
    "resolveJsonModule": true /* Enable importing .json files */,
    "allowJs": true /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */,
    "checkJs": false /* Enable error reporting in type-checked JavaScript files. */,
    "noEmit": true /* Disable emitting files from a compilation. */,
    "isolatedModules": true /* Ensure that each file can be safely transpiled without relying on other imports. */,
    "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */,
    "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
    // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
    "skipLibCheck": true /* Skip type checking all .d.ts files. */
  }
}

This seems to also affect importing from a package without an absolute path:
// This doesn't work
import myModule from "package/file.wasm";
// This does
import myModule from "../node_modules/package/file.wasm";

@Malobre Importing from package/file.wasm will work with up to date versions of wrangler, as long as the package exposes file.wasm in their exports map. I dug into this one at https://jross.me/improving-wasm-imports-with-wrangler-and-cloudflare-workers/.

Hi, any update so far?

Also hitting this issue, any updates?


How to register external threads?

The function “ptvsd.debugger.new_external_thread()” no longer exists. Is there another way to register an external thread?

For ptvsd 4.x questions, I'd recommend asking at https://github.com/Microsoft/ptvsd/issues since the ptvsd devs don't hang out here as much anymore. Thanks!

Ok.


Cannot use plugin if user has no credential manager installed

If a user has no credential manager installed (they don't want their passwords saved, it's a shared workstation, whatever reason), connecting to source control from within the editor fails.
There should be an authorisation prompt for this situation instead of failing, seeing as this is a valid way to use Git.
Error:

Repro:

install Git without a credential manager

make new UE4 project with starter content
try to connect to source control with Git LFS 2, with "Uses Git LFS 2 File Locking workflow" tickbox ticked

It would be a nice improvement, but currently it's not withing the scope I wanted to tackled, I mentioned in the README


Add import example to README

Hey this component is awesome, thanks.
Here is a PR to add import DatePicker from 'react-native-datepicker' to the usage instructions.

Coverage remained the same at 100.0% when pulling 091f744097a1bf323765a94b55799fdb380092ac on s2t2:master into 7bed2921e5e6b1044f3bc8af05ed3d54c633c81f on xgfe:master.


(x) Default to LazyRemote components

We think this can bring a lot of complexity regarding searching logic, so it will be off for now.


Request: Make DC module available to macros

I have some custom macros that I want to make checks with level-based DC. It would be nice to have the DC module available at runtime to custom macros.

It looks like I may be able to meet my scenario for skill checks using the inline chat option<EMAIL_ADDRESS>- but that doesn't work for saving throws, which is what I'm actually aiming for.

Copy the code if you'd like, but this isn't public API.


Clean modules and run npm install --production

This avoids the footprint that devDependencies bring in.

this will be excellent, and really save us a big problem in the future (by eliminating that human error to forget to run npm install)
I think this is important to have sooner than later.

:+1:

https://github.com/RebelMail/node-lambda/pull/5
Now we have it.


Token tx fee payer

Specifies the fee_payer when creating transactions for the token client. This might be the fix for #272

Ok looks like this is the fix. This was originally discovered in #96

🎉