Dectection issues ConfigMgr VcRedist 2012, 2013, 2019

Expected Behavior
VcRedist 2012, 2013, 2019 detected as installed by Config Mgr.
Current Behavior
VcRedist 2008 and 2010 are being installed and detected correctly by Config Mgr. VcRedist 2012, 2013, 2019 are being installed, they show up in Control Panel -> Add remove programs, but Config Mgr isn't detecting them as such.

Steps to Reproduce
Please provide detailed steps for reproducing the issue.

$VcList = Get-VcList
Get-VcRedist -VcList $VcList -Path "C:\Temp\VcRedist"
Import-VcConfigMgrApplication -VcList $VcList -Path "C:\Temp\VcRedist" -CMPath "\myshare" -SMSSiteCode xxx
Deploy Visual C++ Redistributable for Visual Studio 2019 x64 to a collection in Config Mgr

Context
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

VcRedist Version: 2.0.168
PowerShell Version: 5.1.17763.1007
Operating System: Server 2019 x64 and Windows 10 1909 x64

Are the Windows Installer GUIDs not matching what's on the client?

No the GUID that is in the application deployment type in Config Mgr for the 2019 x64 version is {282975d8-55fe-4991-bbbb-06a72581ce58}. I can't find that GUID on my test system at all after the software is installed and showing up in the Programs and features list where it can be repaired or uninstalled manually.

There's a new version of the 2019 x86 & x64 VcRedist. I'll release a new version of the module with the updated GUIDs ASAP.

I will wait for the update and try again. Please note the 2012 and 2013 versions weren't detected either.

New version should be up on the Gallery in a few minutes.
Could you please check the GUID of the 2012 and 2013 versions on a client and compare to what's in the ConfigMgr app? Not sure why those versions are failing.

From what location do you take the GUID's usually? Just to be sure that I am checking in the right place.

KLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall
HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

I've just been trying to install Visual C++ Redistributable for Visual Studio 2012 Update 4 x64 through Config Mgr. It gets installed but Config Mgr is reporting it as failed as the application won't get discovered.
HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall{ca67548a-5ebe-413a-b50c-4b9ceb6d66c6} is present on the system and is the same GUID as in Config Mgr.
Would there be a change Config Mgr is only looking in HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall? As the GUID is only available in HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall?

I am experiencing detection failures on the majority of the apps however the registry keys exist.
I do no ever use the Win32_Product class, but I did just for testing, and I do not see the GUIDs in there for the apps failing to discover after install.
Apps failing to discover post install:

2019 x64 + x86
2012 x64 + x86
2013 x86

{65e650ff-30be-469d-b63a-418d71ea1765} 2019 x86
{6913e92a-b64e-41c9-a5e6-cef39207fe89} 2019 x64
{33d1fd90-4274-48a1-9bc1-97e33d9c2d6f} 2012 x86
{ca67548a-5ebe-413a-b50c-4b9ceb6d66c6} 2012 x64
{9dff3540-fc85-4ed5-ac84-9e3c7fd8bece} 2013 x86
The above 100% exist in registry. 100% do not exist in Win32_Product.
This gist may be useful for some inspiration if you're interested in using registry based detection instead: https://gist.github.com/indented-automation/32efb05a5fb67ef9eed02bbb8fe90691 or this utility: https://reg2ps.azurewebsites.net/

Example snippet generated from Roger Zander's tool
# Reg2CI (c) 2020 by Roger Zander
try {
	if(-NOT (Test-Path -LiteralPath "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{65e650ff-30be-469d-b63a-418d71ea1765}")){ return $false };
	if((Get-ItemPropertyValue -LiteralPath 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{65e650ff-30be-469d-b63a-418d71ea1765}' -Name 'DisplayVersion' -ea SilentlyContinue) -eq '14.25.28508.3') {  } else { return $false };
}
catch { return $false }
return $true

I can feel the urge to give a huge middle finger to Microsoft right now.
I feel your pain.

I am also struggling with this I see 3 reg keys for the current 2019 x64
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
{EEA66967-97E2-4561-A999-5C22E3CDE428} Microsoft Visual C++ 2019 X64 Minimum Runtime - 14.25.28508
{7D0B74C2-C3F8-4AF1-940F-CD79AB4B2DCE} Microsoft Visual C++ 2019 X64 Additional Runtime - 14.25.28508

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
{6913e92a-b64e-41c9-a5e6-cef39207fe89} Microsoft Visual C++ 2015-2019 Redistributable (x64) - 14.25.28508

I ended up just using a PowerShell detection method. The GUID detection was not working for the current executable.
#addapted from https://blog.niemalsnever.de/sccm-detection-script-for-the-visual-c-redistributable-s/

& {
    Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*
    Get-ChildItem HKLM:\SOFTWARE\WoW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*
} | ForEach-Object {
    $CurDisplayName = $_.GetValue("DisplayName") # Get DisplayName
    # Check if Display Name matches the rgex
    $Regex = "^Microsoft Visual C\+\+ 2015-2019 Redistributable \(x64\).*"
    # "^Microsoft Visual C\+\+\D*(?<Year>(\d|-){4,9}).*Redistributable.*"
    if( $CurDisplayName -match $Regex ) {
        Write-Host "Installed"
    }
}

@aaronparker perhaps re-open this so folks can easily see this and this thread?

Good idea.

I need to double check all product codes in the manifest; however, this detection method looks to work:

Registry
Hive: HKEY_LOCAL_MACHINE
Key: 'SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall{65e650ff-30be-469d-b63a-418d71ea1765}'
Value: DisplayVersion
Data Type: Version
Operator: Greater than or equal to or Equals
Value: 14.25.28508.3

Just a note we're up to 14.28.29325.2 now and the method immediately above me does not work with this one unfortunately.
I ended up using this script myself which worked wonders.
https://github.com/aaronparker/VcRedist/issues/58#issuecomment-617332000
& {
    Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*
    Get-ChildItem HKLM:\SOFTWARE\WoW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*
} | ForEach-Object {
    $CurDisplayName = $_.GetValue("DisplayName") # Get DisplayName
    # Check if Display Name matches the regex
    $Regex = "^Microsoft Visual C\+\+ 2015-2019 Redistributable \(x64\).*"
    if( $CurDisplayName -match $Regex ) {
        Write-Host "'$CurDisplayName' Installed"
        Exit 0
    }
}

Exit 1```

Just a note we're up to 14.28.29325.2 now and the method immediately above me does not work with this one unfortunately.
I ended up using this script myself which worked wonders.
https://github.com/aaronparker/VcRedist/issues/58#issuecomment-617332000
& {
    Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*
    Get-ChildItem HKLM:\SOFTWARE\WoW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*
} | ForEach-Object {
    $CurDisplayName = $_.GetValue("DisplayName") # Get DisplayName
    # Check if Display Name matches the regex
    $Regex = "^Microsoft Visual C\+\+ 2015-2019 Redistributable \(x64\).*"
    if( $CurDisplayName -match $Regex ) {
        Write-Host "'$CurDisplayName' Installed"
        Exit 0
    }
}

Exit 1```

I've added some changes to version 2.0.231 - see 7f592a8f0cc0853b852943e92e484cdf5ee17b86. This makes the following changes:

Creates a new application for every version - likely to only affect 2017 and 2019 as previous versions aren't typically updated any more
Uses a registry detection method for the appropriate ProductCode in the 32-bit or 64-bit UninstallKey (e.g. HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{33d1fd90-4274-48a1-9bc1-97e33d9c2d6f}) - I need to complete some more testing here in ConfigMgr, but the same approach with in Intune

Screenshots:


[Windows/UWP] WinUI support for Windows

What platform is your feature request related to? (Delete other platforms).

UWP
WinUI Desktop

Is your feature request related to a problem? Please describe.
Are there any plans to add/move to support WinUI over WUXC for future versions
Describe the solution you'd like
Stop using the soon to be deprecated Windows.UI Xaml, and move to WinUI 2.x and 3.x in the future.
Additional context
As the control designs develop, and new controls are added to WinUI - it will lead to an inconsistent design, and having to roll your own versions of new controls from the UI Library

Hi @mdtauk; Yes infact we've been talking about this internally esp with regards to pulling in some key accessibility fixes we'd need that are in WinUI but not backported i believe into the Windows.UI.Xaml version(https://github.com/microsoft/AdaptiveCards/projects/15#card-32415361). Thanks for filing this though since it just helps push this up in our consideration list. @RebeccaAnne / @paulcam206 / @matthidinger

Hi @mdtauk; Yes infact we've been talking about this internally esp with regards to pulling in some key accessibility fixes we'd need that are in WinUI but not backported i believe into the Windows.UI.Xaml version(https://github.com/microsoft/AdaptiveCards/projects/15#card-32415361). Thanks for filing this though since it just helps push this up in our consideration list. @RebeccaAnne / @paulcam206 / @matthidinger

Glad to know it is under consideration.  I am not sure if the Windows 10X shell is using AdaptiveCards like the Windows 10 Timeline feature does, but it would be nice to see it used more in the OS.

It's being tracked now in our product board also


Compiled Sycl kernels should be cached based on the device type and should be reused

Feature request

Sycl can have different queues for each device and for the same device. We should cache kernels/programs we have compiled based on the type of device and reuse them.

@reazulhoque Can you add comment on how this was implemented and close this ticket?

@reazulhoque any updates?

@reazulhoque any updates?

SYCL kernel caching is done based on SYCL context.


ENH: implement SAT similarity

Implement functionality from Sound Analysis Tools for Matlab
Adapt from the following:

birdsonganalysis
avn.acoustics module that is AFAICT more or less a literal translation of the core SAT class into Python

We should prefer a functional approach and then document the entire thing with a tutorial.

[ ] vocalpy.spectrogram.sat
[ ] vocalpy.feature.sat <-- note this means that fixing this issue will also fix #3, and so we should use xarray
[ ] vocalpy.similarity.sat

Not clear to me how tightly coupled feature extraction is with the specific time-frequency representations, so this might be easier said then done. We'll find out :smile:

Branch in progress here: https://github.com/vocalpy/vocalpy/tree/add-similarity-sat


Be able to submit more than one experiment without waiting for the other to finish

At the moment the workflow waits for each experiment to finish before submitting another. Would be nice to be able to submit one after another without waiting.

Possibly related, but snakemake exits with an error if the job times out.

You could do that by removing the wait option from https://github.com/Urban-M4/misc/blob/eab22fde05dea647f0be0b1d993c2bb65c81baa0/workflows/snakemake/Snakefile#L174
But then you cannot do any other task after it that depends on it. Currently there's a 'cleanup workdir' task after WRF. If you don't wait, this will start right after the job submission. But perhaps we can make it a two-step workflow, that first runs up to WRF job submission, and you need to invoke a separate rule to do cleanup.


Initial change to deprecate "vmdk" driver name in favor or "vsphere" driver.

This is the same as #919  but after sync'ing with the current master. #919 is reporting 20 files as changed and seems to have taken files from other commits. I'll be merging this one. Pls. see #919 for review and test results.

Closing. Have corrected issues with commits in #919


padding social icons

hi i've been messing around with these icons, awesome work btw, and i can't find how to add padding to them to space them evenly. I can do it in developer tools but i'm not sure how exactly the styling works for these whether an external style sheet or inline styling. any idea?

How about something like this?
https://codesandbox.io/s/wonderful-bush-q5jk0?file=/src/styles.css


doc: fix headings in device tree doc

Heading hiearchy is #*=-
Also tweaked some layout formatting
Signed-off-by: David B. Kinder<EMAIL_ADDRESS>

@agross-linaro Also noticed the yaml template example in the doc isn't correct yaml syntax.  Can you take a look and fix.


Aggregation doesn't work correctly when time series crosses 0 epoch time

With the data points like this (first 10 points printed):

select * from data limit 10
name: data
----------
time data_type frame frame_type segment value
0 data 85 key 0 1
794000000 data 86 key 0 1
797000000 data 86 key 2 1
798000000 parity 86 key 0 1
798000000 data 86 key 4 1
1203000000 data 2494 delta 0 1
1207000000 data 2495 delta 0 1
1208000000 data 2496 delta 0 1
1212000000 parity 2494 delta 1 1
1212000000 data 2497 delta 0 1

Aggregation query does not work correctly:

select count(value) from data where time >= 0 and time <= 500s group by time(1s)
name: data
----------
time count
0 1577

Expected: data will be grouped by 1-second intervals.

This is a special case of https://github.com/influxdb/influxdb/issues/2703. Leaving this open so we make sure to handle both the raw and aggregated query results properly.


[NDM] Add NDM metadata support for Cisco ACI

What does this PR do?

https://datadoghq.atlassian.net/browse/NDMII-2651
This PR introduces methods that will submit NDM device and interface metadata to Event Platform (specifically to our ndm track in EP)
See document on Confluence for additional context and reasoning:
Cisco ACI Integration (metadata)
Motivation

We are looking to move existing Cisco ACI integration into NDM, this requires device and interface metadata for it to be processed and appear on our product
Additional Notes

Review checklist (to be filled by reviewers)

[x] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[x] Changelog entries must be created for modifications to shipped code
[ ] Add the qa/skip-qa label if the PR doesn't need to be tested during QA.
[ ] If you need to backport this PR to another branch, you can add the backport/<branch-name> label to the PR and it will automatically open a backport PR once this one is merged

You can see the device metadata from the sandbox on staging here


install-docker script 19.03.5.sh doesn't work on SLES 12 SP5

What kind of request is this (question/bug/enhancement/feature request):
BUG
Steps to reproduce (least amount of steps as possible):

execute https://releases.rancher.com/install-docker/19.03.5.sh on SLES 12 sp 5

Result:
$:~> ./19.03.5.sh

Either your platform is not easily detectable or is not supported by this
installer script.
Please visit the following URL for more detailed installation instructions:

https://docs.docker.com/engine/installation/

Other details that may be helpful:

line 266 trying to grab the lsb_dist with lsb_release -si command

        if command_exists lsb_release; then
                lsb_dist="$(lsb_release -si)"
        fi

which will return SUSE in SLES 12 SP5, and it broke the platform detection

nick@linux-goam:~> lsb_release -si
SUSE

lsb_release command doens't exists on SLES 15 SP2. Hence, it is working fine on SELS 15 SP2

nick@localhost:~> lsb_release -si
-bash: lsb_release: command not found

It will work if I overwrote the SUSE to empty

        if command_exists lsb_release; then
                lsb_dist="$(lsb_release -si)"
                if [ "$lsb_dist" == "SUSE" ]; then
                        lsb_dist=''
                fi
        fi

I was unable to reproduce this issue on SLES 12 SP5.
Steps:
Provision a SLES machine using ami-0f84a134e8f9d527b
ec2-user@ip-172-31-7-11:~> uname -r
4.12.14-122.23-default
ec2-user@ip-172-31-7-11:~> cat /etc/os-release
NAME="SLES"
VERSION="12-SP5"
VERSION_ID="12.5"
PRETTY_NAME="SUSE Linux Enterprise Server 12 SP5"
ID="sles"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:12:sp5"

This ami already has docker 19.03.5 installed. Was not able to find a SUSE 12 ami without Docker preinstalled.
Running Rancher Docker install command still runs all the way through.
curl -sSL https://releases.rancher.com/install-docker/19.03.5.sh |sh

Uninstalling docker and reinstalling Docker using the curl command works.
I was also unable to use lsb_release -si in my setup.
ip-172-31-7-11:/home/ec2-user # lsb_release -si
If 'lsb_release' is not a typo you can use command-not-found to lookup the package that contains it, like this:
    cnf lsb_release


Azure AD Connect: clarify a name in different C versions

This rule will have different names depending on the Connect version. Need to fix an earlier fix (which I don't think I reviewed) so it is correct for all currently supported versions of Connect.

@AndKjell,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@AndKjell - Please review the proposed changes. Thanks

#sign-off


Set up coverage reports

We use coveralls for our client libraries.

Configure Travis to work with coveralls
Add coveralls badge

This library might help: https://github.com/csMACnz/coveralls.net

I'll just find the version that works with Travis, no problem. I haven't tried building the solution on my Mac with Xamarin yet -- that'll give me a good idea of what it needs to build on Linux.

This would be great to do... just not going to do it right now. :smile:


CSV exported from "Checker statistics" view does not contain (Windows-compatible?) newlines

Describe the bug
The CSV file created with the Export CSV button when viewing the "Checker statistics" page is not usable on Windows (e.g., as a data-source to Excel), as the file does not contain the appropriate newlines.
See this example file: codechecker_checker_statistics.csv
CodeChecker version
6.22 release
To Reproduce

Click the "Export CSV" button and save the file.

Expected behaviour
I get a CSV that is usable. If not appropriately aligned with Windows-specific \r\ns, then at least the \ns should be there so I can fix up the file later manually. Currently, the first column cell of the second row is immediately appended to the last column header in the first row, so it takes a lot of manual clicking back and forth to fix it.
Desktop (please complete the following information)

OS: Microsoft Windows 10 Version 22H2 (OS Build 19045.3570)
Browser: Firefox
Version: 118.0.1 (64-bit)

@cservakt I vaguely recall you touching things around these parts for the checker status overview pane #4210. Could you please re-check if this thing was fixed by that?


Fix lint issue in treeUtils.ts that was introduced due to merge

Looks like https://github.com/microsoft/FluidFramework/pull/10159 introduced a lint issue. This was probably not caught because of the new linting rules that were added.
@tylerbutler @ssimic2

Looks like #10159 introduced a lint issue. This was probably not caught because of the new linting rules that were added. @tylerbutler @ssimic2

Whoops, wrong branch!


Adding Rixa 3

Add Rixa
This pull request was created using the https://discordbots.co.uk/edit menu.

The bot works.


Realtime nodes are blocking ingestion

Hi,
An issue with realtime nodes (standalone, launched manually, using kafka ingestion) is triggered when a node is restarted.
Basically what the node does is
1/ assign itself kafka partitions ownership (and so block any other nodes actually READING from kafka)
2/ see there are merging to be done (segments not handoff still on disk)
3/ decide to - of course - merge them first
4/ well I don't know about you guys, but some on our dimensions take ages to be indexed / merged (for instance io.druid.segment.IndexMerger - Completed dimension[tokens] in 97,724 millis. )
5/ once all is finished, it will actually start reading from kafka brokers
My question is:

why isnt proper ingestion a priority of Druid ? Seems to me thats the one thing we all want: realtime ingestion, reading from kafka should be the main focus (in case all realtime nodes are restarted for instance, it will hang forever, creating a terrible downtime).
why the ingestion is designed to block other consumers ?

I tried to be smart after some segments were not handed off from our boxes so in order to clean them (we had performance issues since all historical queries were also querying realtime nodes because of those segments not handed off to deep storage), so I stopped a realtime node at a time, cleaned them up, started them up again and wait for it to reingest again before stopping the next one.
The problem is it didnt work that way at all: it started to own kafka partitions, forbidding any other consumer from the same group to read those and started his merging job:
io.druid.segment.IndexMerger - Starting dimension[trigrams] with cardinality[731,855]
io.druid.segment.IndexMerger - Completed dimension[trigrams] in 606,939 millis.
So as you can see, 600 seconds is 10 minutes so whatever druid will read after that will be thrownAway (the window time being PT10M) and will force us to reindex this hour (still meaning the actual realtime data is incorrect).
Please could you check this issue and try to fix it ? Thanks !

Hi @T0aD,
I don't believe this is a software problem as much as it is a setup problem. Druid's realtime ingestion is designed to block ingestion is there are too many pending persists. This is to prevent nodes from running out of memory and crashing entirely. The times seen for creating some of your dimensions are absolutely insane and completely not normal, and points to improper configuration or improper setup.
I'm going to repeat what I've mentioned a few times already. Given the tidbits of information I have seen about your cluster, I strongly believe that your cluster is misconfigured. We'd be very happy to help straighten things out, but we need more information about how you guys are setting things up.

Hi Fangjin,
First of all, thanks for the answer, I realize indeed we might have issues in our usage of Druid but still, aren't realtime nodes supposed to ingest data in realtime and answer clients' queries ? Because here this design is not respected and there is absolutely no logic behind throttling ingestion to the point of DISABLING ingestion completely on a group of kafka partitions.
I still feel there is a serious design problem in the way Druid ingests its data through Kafka:
if the ingestion is being throttled to save the node from crashing, why even claim ownership over partitions other nodes could trivially read from ? It only blocks other consumers from reading data they could ingest, triggering latency issues and ultimately forcing us to reindex data at a later point (meaning realtime data becomes incorrect, incomplete).
Thanks for addressing this issue, I'm sure you can see this is not a behaviour that can be acceptable.
And if you still think this is a correct behavior and you feel throttling ingestion is the way to go, then I suggest to throttle the whole process, not just the reading part but also the Kafka rebalancing part, that way, nodes not restarted have a chance to continue ingesting data while late nodes can catch up with their handing off process.
Thanks!

@T0aD, I think it makes sense to delay claiming partitions until the realtime node is finished starting up and ready to ingest. The linked PR makes that change.

Waow ! Great news, can't wait to test it, thanks a bunch @gianm !


what are the difference b/w nuxtjs and razzle?

I am currently using nuxtjs. what are the difference b/w nuxtjs and razzle?

nuxt is for just Vue apps, it's a lot like Next.js, but Next has since started to support  a lot more frameworks. Razzle works with a lot more frameworks than Vue or React (Elm, Reason, etc). Razzle is just an engine to power your app, abstracting away the complexity and tedious setup, and gives you a lot more flexibility for how your app works, without the headache.


Fix reversed frequent item upper/lower bounds

Description
It should be the case for FrequentItems that lower bound <= estimate <= upper bound. It looks like we got the upper & lower bounds reversed between the pybind11 interface code and the FrequentItemsMetric
items = [FrequentItem(value=x[0], est=x[1], upper=x[2], lower=x[3]) for x in limited_freq_items]  in metrics.py but
    py::tuple t = py::make_tuple(iter->get_item(),
                                 iter->get_estimate(),
                                 iter->get_lower_bound(),
                                 iter->get_upper_bound());

in fi_wrapper.cpp (in the datasketches-cpp repo).
Changes
-Upper/lower bounds fixed
Related

[ ] I have reviewed the Guidelines for Contributing and the Code of Conduct.

It might not be practical to use enough data in the unit tests to trigger the bug :(


Fix fonts

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 6.27%

Totals

Change from base Build<PHONE_NUMBER>0:
0.0%

Covered Lines:
162

Relevant Lines:
2880

💛  - Coveralls


TypeScript for client

Hi,
It would be nice if the client was written in TypeScript too

Yeah it really would be nice, if only I knew someone who knows TypeScript and could help out you know.. Anyhow I wrote it and pushed it to master


pdf.output instead of save

Hi.
First of all, congratulations about your work. It´s amazing.
I would like to know if with your library is it possible to get the output directly to a var?
For example, with pure jsPDF:
var doc = btoa(pdf.output());
I use it to send as binary to the server, and then attach it to an email.
Otherwise, Do you think is it possible to improve/include, next version?
Sorry my english, please.
Thanks in advance. Best regards.

Hi @djjatoro, thanks! Yes that would be great, and I plan to incorporate that soon. The feature was also requested in #12.

Hi,
Imodified line 214 so that I can open the pdf in a new window:
if(opt.newWindow){       pdf.output('dataurlnewwindow');     }else{       pdf.save( opt.filename );     }
You can try this:
if(opt.return){return btoa(pdf.output());}else .....
And in your JS:
var element = document.getElementById('myElementId');
var doc = html2pdf(element, {return: true});
I hope it helps

Hi @dherrero, many thanks for this suggestion. I'm trying to call html2pdf with some additional parameters but also I need to get the pdf to a var, so it can be saved to a database. The code is:

var table = document.getElementById("rgnDashboard");
var parameters = {
margin:			0,
filename:		'test_jpeg.pdf',
image:			{ type: 'jpeg', quality: 1 },
html2canvas:	{ dpi: 192 },
jsPDF:			{ unit: 'mm', format: [ width, height], orientation: 'portrait' }
};
html2pdf(table, parameters);
How can I call html2pdf in this way and still get the output as a blob, so it can be saved to a database?
Thanks in advance!

Hey guys, I'll have an update soon (hopefully next week) to allow html2pdf to be run in pieces, so that you can get just the PDF object, etc. @delgah for now, if you want to just get the final PDF object as a variable, I've created a new branch. Use the version over there, pass a function in the pdfCallback option, and you should be good!
Note, this isn't the approach I'll be using in the upcoming update, it's just a temporary solution. That's why I'm keeping it as a separate branch for now.

Many thanks @eKoopmans !! What would be the correct syntax to add the pdfCallback option?

});

Hi @eKoopmans, with our custom function we're trying to send the pdf object to an ajax process to finally save the pdf as a blob file into a database table. Do you know if we need to convert first the pdf to a clob or something else before we can send it to the ajax process?
Many thanks

Hi @eKoopmans, we found a solution encoding the pdf in base64 and decoding it in a pl/sql process. Regards

Great, glad you found a solution!

Hi @vitormc1, it looks like you received some help already over in #70 and #54. In the future please create a new issue rather than posting in multiple existing issues.
Following up on the other responses, once you have the PDF data with pdf.toDataURL(), you can do what you want with it (i.e. email). There's no way to email client-side, so you would need to send the data to some server-side script to send the email for you.
I'll point out that the main purpose of html2pdf is to keep things client-side - if your server's getting involved, there are other PDF-creating tools that may be more appropriate, particularly wkhtmltopdf.

Hi, I have just pushed a new branch, new-api, which is ready for testing! The readme has all the information on the new API. Please let me know if there are any problems with it - I want to make sure it's stable before merging into master!
For this specific request, you will see that I have added a .output method that links into jsPDF.output.

I'm getting a "Maximum call stack size exceeded" error when running the new-api branch

Interesting, I'll definitely want to fix that! What code were you using/can you show me how to reproduce it?

HTML

Here's some text

Javascript
var element = document.getElementById('html-2-pdfwrapper');
html2pdf(element);

I also tried doing
html2pdf(element, options).output('datauristring')
and got the same error.

Thanks. What browser?

Hi @clintj42, give it another try, it should be fixed now. There was a recursive definition happening when using es6-promise instead of native Promises.

Thanks for looking into this so quickly. Looks like I made it past one error but now I'm getting a "Maximum call stack size exceeded" in a different place. I'm using Chrome and Ionic framework. Here's the stack trace:
ShareAttendancePage.html:39 ERROR RangeError: Maximum call stack size exceeded
    at Function.toString (polyfills.js:3)
    at t.setProgress (html2pdf.js:517)
    at t.updateProgress (html2pdf.js:525)
    at then (html2pdf.js:544)
    at t.set$$1 (html2pdf.js:449)
    at new Worker (html2pdf.js:127)
    at t.then (polyfills.js:3)
    at then (html2pdf.js:545)
    at t.set$$1 (html2pdf.js:449)
    at new Worker (html2pdf.js:127)

Hey @clintj42, thanks. It says polyfills.js, do you know what polyfill you are using for Promises?

I've tried to generalise the fix for all polyfills, but I'm not that confident about it. See if it works now - and let me know what polyfill you're using either way, thanks!

Still getting the error the polyfill I'm using is "cordova-promise-polyfill": "0.0.2"

Hi @gauge421, I haven't been able to reproduce - maybe it's something unique to the Ionic/Cordova framework? I've tried with promise-polyfill (the basis of cordova-promise-polyfill) and with ionic-angular's polyfills.js, but both worked fine.
Can you track down what file polyfills.js is in your stack/where it comes from? And/or give me a suggestion of how I can reproduce the error on my end? Thanks!

Hey, I had the same problem trying to get the new-api branch to work on Ionic.
I was able to fix it by changing the two instances of
var selfPromise = (Promise.toString().indexOf('[native code]') === -1) ?
      Worker.convert(Object.assign({}, self), Promise.prototype) : self;

to just
var selfPromise = Worker.convert(Object.assign({}, self), Promise.prototype);
I even tried removing es6-promise-plugin and just use "es6-promise": "4.2.4" but that didn't help. Only the changing of lines seem to.
(I would make a pull request but I really don't know what I'm doing so just thought it best to pass on that information).

Well to be accurate, it's not the [native code] check that causes the issue, it finds the term [native code] at index 30 of the string, and then doesn't do the Worker.convert as a result.
At any rate, thanks for your interest in this. This library has been fantastic for me to generate a PDF as a blob, use ionic-native to save it to a phone's file system, then let people send the resulting PDF around.
To recreate the issue
Install ionic
npm install -g cordova ionic

Run
ionic start helloWorld blank --type=ionic-angular

Choose yes when it asks for cordva/ionic-native (not sure if this is needed to re-create the problem but it’s standard use)
Test that this much works with
cd helloWorld
ionic serve

Quit the serve process and add the dependencies below.
Install new-api and types/node to expose require
(Ionic uses Angular that typically uses typescript, typescript likes to use type definitions for safety if the provided packages are in plain javascript).
npm i eKoopmans/html2pdf#new-api --save
npm i @types/node --save

Now edit src/pages/home/home.ts so it looks like
// just below the import statements
const html2pdf = require('html2pdf.js');

// inside the HomePage definition
  public pdf() {
    html2pdf().from('
HelloWolrd
').save();
  }

Edit src/pages/home/home.html to add the following inside ion-content
<button ion-button (click)="pdf()">PDF</button>

Run ionic serve again, now you should see a PDF button, when you click it you should get a stack trace of
RangeError: Maximum call stack size exceeded
    at JSON.stringify (<anonymous>)
    at new Worker (http://localhost:8100/build/vendor.js:123112:74)
    at t.then (http://localhost:8100/build/polyfills.js:3:22475)
    at then (http://localhost:8100/build/vendor.js:123535:42)
    at t.set$$1 (http://localhost:8100/build/vendor.js:123439:15)
    at new Worker (http://localhost:8100/build/vendor.js:123117:15)
    at t.then (http://localhost:8100/build/polyfills.js:3:22475)
    at then (http://localhost:8100/build/vendor.js:123535:42)
    at t.set$$1 (http://localhost:8100/build/vendor.js:123439:15)
    at new Worker (http://localhost:8100/build/vendor.js:123117:15)

Thank you again @TheMadBug, I'll investigate as soon as I have a chance!

Okay! It's been two months, but I'm back with a fix! I think you'll find the latest commits are now working just fine on Ionic (and more generally, Angular). Thanks again @TheMadBug for the super-clear instructions to test in Ionic, it really helped, once I finally had time to look into it!
In the end, it was just down to Angular doing funny things. It uses its own custom ZoneAwarePromise (part of its zone.js) but masks itself as browser-native code. Fortunately, the same fix works for it as for other non-native Promise implementations - it was just a matter of detecting it.
I'm about ready to merge new-api down into master, as long as no other major issues have cropped up with it. Let me know if there are any further issues!

Does is any way to use it without es6-promise-plugin ?

Hi @eKoopmans ,
I am using html2pdf in React. Here is my code
const element = document.getElementById('test');
const opt = {
  margin: 1,
  filename: 'myfile.pdf',
  image: { type: 'jpeg', quality: 0.98 },
  html2canvas: { scale: 2 },
  jsPDF: { unit: 'in', format: 'letter', orientation: 'landscape' }
};

html2pdf(element, opt);

It downloads a pdf file with all blank pages. Please help.

html2pdf().from('
HelloWolrd
').save(); is working fine in browser. But when I run on my androind using apk file, file is not getting downloaded. .output  not working.
How to download file in Android.

Hi eKoopmans , how crazy html2pdf!
html2pdf().from('HelloWolrd').save();  The code could download, but I hope it show on the browse directly, how can do, please?

I make one website. Here i use html2pdf lib now this web use to android studio.this code not working


Downgrade react-router to uhc-portal version.

Use react-redux as dependency to not depend on uhc-portal version

uhc portal has a pending PR to update react-redux and react-router

closing, uhc-portal upgraded their deps


batch size found with .tune() is not applied to val_dataloader

🐛 Bug

To Reproduce
You can use the following Colab link:
https://colab.research.google.com/drive/1p9K2b86bT5gluJ5uUtGp_GBHx3RJRNTw?usp=sharing
Expected behavior
The validation step should run with the same batch size as train - but it does not. Training runs in 1 batch, validation in 2501 batches.

Environment

CUDA:

GPU:

Tesla K80

available:         True
version:           10.2

Packages:

numpy:             1.19.5
pyTorch_debug:     False
pyTorch_version:   1.9.0+cu102
pytorch-lightning: 1.4.9
tqdm:              4.62.3

System:

OS:                Linux
architecture:

64bit

processor:         x86_64
python:            3.7.12
version:           #1 SMP Sat Jun 5 09:50:34 PDT 2021

Additional context

ok sorry for the misunderstanding.
Regards


KFP lightweight components: document 'packages_to_install' arg for func_to_container_op

A customer was trying to figure out how to support the functionality provided by 'packages_to_install', and I don't think we've documented it on kubeflow.org.  Here's an example that shows it in action: https://github.com/kubeflow/pipelines/blob/master/samples/tutorials/mnist/04_Reusable_and_Pre-build_Components_as_Pipeline.ipynb

Where I have to add about it? I would like to add it.

great!  Adding Joe (who owns the docs) for guidance.
/cc @joeliedtke

/priority p2

keep open

lifecycle /frozen

/reopen

/lifecycle frozen

/lifecycle frozen


fix: Cannot assign null to property DOMNode::* of type string

This change is

coverage: 66.051% (-0.04%) from 66.091%
when pulling 0c27c54bece43cb223ce5bbdd5abafe262fd49b7 on frugan-dev:master
into e2ced0848fd3268465a924a3aa26a69bc1cf2ef1 on voku:master.


Dev next

One signal integration and many plugin mocks added

Some of these checks failed in Travis CI. There are also a lot of merges here to keep up with; can you either separate discrete fixes into discrete PRs, or squash the ones that are related?


Feature request: Avoid using Angular's directives add input name

Imagine a component that by mistake uses an input with the name routerLink. In the parent it would be used like <comp [routerLink]="...">, which will add Angular's directive, something wrong. I feel having a linter that checks input names and has a blacklist of Angular's directives to warn about misuses could be useful.

I can try to submit a PR if approved.

Such a rule would, in its most general form, allow for providing a blacklist of input names. Then we could have some pre-defined configurations like "standard", which would include a bunch of DOM properties, things from @angular/forms like formGroup, formGroupName, things from @angular/router like routerLink, etc.
Note, however, that Angular's selector mechanism was specifically designed to allow this kind of behavior. For example, it's common to define selectors such as something[formControlName],something[formControl], implying that, when something is used as a reactive form control, something else will happen as well. Inside such as component, you usually purposely grab the @Input() formControl in order to do something with it.
There aren't many directives with inputs in Angular. IMO it probably makes more sense to learn them all as part of learning the framework itself, and then use it smartly, instead of forbidding its usage. Unless, of course, you have reasons to believe this is an anti-pattern and want to stop yourself (and the team) from using it, which is the point of having a linter in the first place.

Not sure I got the point of this issue, but it sounds like what I suggested in #668, no?

@rafaelss95 You are right, #668 should cover this one.


Correction for raw affiliation EthoS-Ethologie humaine et animale (UMR 6552 Univ Rennes 1), 35042, Rennes cedex, France

Correction needed for raw affiliation EthoS-Ethologie humaine et animale (UMR 6552 Univ Rennes 1), 35042, Rennes cedex, France
raw_affiliation_name: EthoS-Ethologie humaine et animale (UMR 6552 Univ Rennes 1), 35042, Rennes cedex, France
new_rors: 015m7wh34;02evk6c51
previous_rors: 015m7wh34
works_examples: W4318689266
contact: 307a9461093c1765828edcd26035e8c0:0c1936a1df587b4029dc58b8e96a32f1 @ univ-rennes.fr

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.


Added versioning consistency checks

This patch adds last-minute versioning checks for when you do make dist

LGTM!
( I have not checked it out and tested it locally yet. @milancurcic with your blessing I'd be happy to test, then merge this if no problems are found and create a patch release... But maybe not until tomorrow or later though, because my computer is currently having hardware problems. )

@zbeekman Yes, please go ahead! Thank you and @blippy for the contribution!!

Note that 'make dist' will report a fail, and refuse to make a tarball if the version number in configure.ac does not match with the one in the module.
It's entriely likely that the version number from configure.ac can be #include'd in the source file, but I didn't want to make assumptions about compiler capabilities wrt preprocessing.


publish to npm?

I’d like to use this, is there a reason it was never published to npm?

Well, because I never felt it was ready for primetime.
E.g. the ffi stuff is outright ugly (and I wouldn't be too sure it still works in newer node versions as is, regardless of the ugliness), forking to create a worker process to do sync fallocates is ugly too, the limitations are not great, etc.
It is probably better to re-implement this as a proper extension (be it something nan or neon based). Still a bit of a maintenance burden then, but it would avoid most of the ugliness and limitations.
On top of that, my projects that actually used or could use this have long been migrated to C++ or rust or go or C#, or abandoned.

@mikeal I was just looking for ways to call fallocate in node and came across your issue here. Could you share how you implemented it in the end?


frigate hass card - error

Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 235, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 146, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/camera/init.py", line 735, in get
return await self.handle(request, camera)
File "/usr/src/homeassistant/homeassistant/components/camera/init.py", line 775, in handle
stream = await camera.handle_async_mjpeg_stream(request)
File "/usr/src/homeassistant/homeassistant/components/ring/camera.py", line 145, in handle_async_mjpeg_stream
await stream.close()
File "/usr/local/lib/python3.10/site-packages/haffmpeg/core.py", line 159, in close
await self._loop.run_in_executor(None, _close)
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.10/site-packages/haffmpeg/core.py", line 154, in _close
self._proc.stdin.write(b"q")
BrokenPipeError: [Errno 32] Broken pipe
023-05-11 23:09:51.236 ERROR (MainThread) [frontend.js.latest.202305033] http://<IP_ADDRESS>:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.240 ERROR (MainThread) [frontend.js.latest.202305033] http://<IP_ADDRESS>:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.241 ERROR (MainThread) [frontend.js.latest.202305033] http://<IP_ADDRESS>:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.242 ERROR (MainThread) [frontend.js.latest.202305033] http://<IP_ADDRESS>:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.244 ERROR (MainThread) [frontend.js.latest.202305033] http://<IP_ADDRESS>:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.246 ERROR (MainThread) [frontend.js.latest.202305033] http://<IP_ADDRESS>:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.248 ERROR (MainThread) [frontend.js.latest.202305033] http://<IP_ADDRESS>:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.249 ERROR (MainThread) [frontend.js.latest.202305033] http://<IP_ADDRESS>:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.250 ERROR (MainThread) [frontend.js.latest.202305033] http://<IP_ADDRESS>:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.251 ERROR (MainThread) [frontend.js.latest.202305033] http://<IP_ADDRESS>:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.253 ERROR (MainThread) [frontend.js.latest.202305033] http://<IP_ADDRESS>:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.254 ERROR (MainThread) [frontend.js.latest.202305033] http://<IP_ADDRESS>:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long
2023-05-11 23:09:51.255 ERROR (MainThread) [frontend.js.latest.202305033] http://<IP_ADDRESS>:8123/hacsfiles/frigate-hass-card/live-go2rtc-c50a1f44.js:1:4855 RangeError: source array is too long

it was a ring camera in one of the cards causing problems.

Can you clarify what you're seeing and what the problem is? The issue template helps guide you to provide the information necessary to debug/support. As is, I can't tell what the problem is, or if there is even a problem or how to reproduce it.

Please re-open if the issue continues, providing the information requested in the issue template. Thanks!


module01, kafka cluster setup display really bad on GitHub

[source, sh]
# $ oc apply -f examples/kafka/kafka-ephemeral.yaml
$ oc process strimzi-ephemeral -p ZOOKEEPER_NODE_COUNT=1 | oc apply -f -
kafka "my-cluster" created

Is badly rendered and people will run the following commands
oc apply -f examples/kafka/kafka-ephemeral.yaml
oc process strimzi-ephemeral -p ZOOKEEPER_NODE_COUNT=1 | oc apply -f - kafka "my-cluster" created

This cannot end up well.

Done.


Added DDDEastMidlands talk

Hi @poornimanayar, thanks for your PR to add your contribution to Hacktoberfest 2023 for Umbraco!
Just one change to make and it can be merged

I think I have updated it :-) (from my phone)

Hi @poornimanayar, I've done a little tweak and this has now been merged 👍
Thanks for your contribution of the talk!


Colored noise and IR convolution deformers added

colorednoise.py and ir.py added now.

This change is

Thanks for adding this!  Can you rebase this PR off the current master so that it only includes your changes and not the entire history?

@yeliuyChuy I just fixed the travis builds on master; can you pull and rebase one more time so the tests run properly on this PR?  Thanks!

@bmcfee just made the changes as requested, could you help me check with that?

Thanks again for all your work on this!


Migrate away from rocker...

rocker has been a great way to easily manage the execution, but the gpu handling has not been that great in general. I would pretty much prefer handling it manually and have full control of the processes.

Fixed in #47


feat: cluster::interaction_followup_get_original

This PR adds a method for the Get Original Interaction Response API endpoint, which is quite essential in order to use raw interactions. It also adds interaction_response_get_original as an alias for it, similar to interaction_response_create. Also adds sync and coro methods for both.

doesnt this do what get_original_response already does?
there are so many interaction endpoints, i get confused.

Yes, from dpp::interaction_create_t ; however this is similar to the cluster::interaction_followup_edit_original() that already exists, which is the same as dpp::interaction_create_t::edit_original_response.
Having a method on the cluster notably allows for sync and coro convenience calls ; for example with PR #724 one can do co_await cluster->co_interaction_get_original(...) instead of co_await dpp::awaitable{event, &dpp::interaction_create_t::get_original_response}

There is no such thing as "original followup" in the API.

So then should we remove cluster::interaction_followup_edit_original which is currently already in the lib?

Im for removing the old interaction_followup_edit_original

It's more confusing than helpful having this duplication anyway

So then should we remove cluster::interaction_followup_edit_original which is currently already in the lib?

Sure.

we can't just remove it, things are using it.
it would have to be deprecated, but there is a reason it's called "original":
https://discord.com/developers/docs/interactions/receiving-and-responding#followup-messages
the API endpoint contains the string "@original". it was originally called the "original response" and was renamed to "initial response". both mean the same thing.
definitely do not delete!

also it's in the API docs section about follow up messages.
the API docs on interactions are a mess.

That is not a followup message.

no, bots are using that function


New version: Microsoft.AzureDataStudio version 1.35.1

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.0 schema?

Microsoft Reviewers: Open in CodeFlow

/azp run


Add functionality: count_ones and count_zeros

Thanks for these ideas!
It seems to me that the analogous functions for BitArray and BitVector don't exist in Julia. That makes me a bit hesitant. What use cases do you have in mind?

I was actually unpleasantly surprised that BitVector does not have this functionality, and did not want to type-pirate it. The concrete use case I have (thank you for providing me this package!) is to get the Hamming weight of a bitstring.


CDI-439 Clarify ProcessBean.getAnnotated()

also introduce ProcessSyntheticBean (allows to filter custom bean impls added through AfterBeanDiscovery.addBean())

Looks ok.

@tremes Thanks for review, I've changed the wording a little bit.

Looks good.


Use native inputs in whitespace dropdown

Use native <input type="radio"> instead of fake icon font. The pointer-events: none is necessary so the link click always takes effect. Tested in Firefox, Safari and Chrome.
Before:

After:

I do not like the name pen either.
If people reading code "<input class="pen" ...>` without searching the CSS name in the helper, how could they know what's that for?
Gitea's frontend has been quite messy, it should be more messy anymore.

Why red color? 🤔

Red is what I have configured as my

Why red color? 🤔

Red is what I have configured as my highlight color in macOS, it will appear in whatever highlight color you have set in your OS, default is blue.

I do not like the name pen either.
If people reading code <input class="pen" ...> without searching the CSS name in the helper, how could they know what's that for?
Gitea's frontend has been quite messy, it should not be more messy anymore.

What do you suggest? pointer-events-none?

no-pointer-events?

no-pointer-events?

I feel it's better to picture the property exactly in the class name so I went with pointer-events-none and added a comment that it matches tailwind, so if we should ever migrate to it, we can just delete that block of rules.


CSS min() max() functions not allowed

Using min() with a css variable throws an error. I think this is due to use of an older version of sass.js. From the current Sass documentation:

CSS added support for min() and max() functions in Values and Units Level 4, from where they were quickly adopted by Safari to support the iPhoneX. But Sass supported its own min() and max() functions long before this, and it needed to be backwards-compatible with all those existing stylesheets. This led for the need for extra-special syntactic cleverness.

If a min() or max() function call is valid plain CSS, it will be compiled to a CSS min() or max() call. “Plain CSS” includes nested calls to calc(), env(), var(), min(), or max(), as well as interpolation. As soon as any part of the call contains a SassScript feature like variables or function calls, though, it’s parsed as a call to Sass’s core min() or max() function instead.

I figured out how to update the sass.js library in easysass and it does not fix this problem because sass.js doesn't support these css functions. https://github.com/sass/libsass/issues/2701
Work around: use the unquote sass function:
width: unquote("max(10%, 100px)");


Pode and creating AD groups

Hi all,
I have developed a service using Pode. Pode is running in a Windows Service and I think that may be the problem.
My issue is that I can not create an AD group. But when I execute the same script in a PowerShell prompt, it is no problem. The powershell prompt and pode is executing by the same user account. I have also tried to create groups in different ways, New-ADGroup, New-Object System.DirectoryServices.DirectoryEntry - But is result in the same way.
In New-Object System.DirectoryServices.DirectoryEntry way I get:
Exception calling "CommitChanges" with "0" argument(s): "Access is denied.\r\n" StackTrace : at \u003cScriptBlock\u003e, C:\Pode\Server.ps1: line 117\r\nat Invoke-PodeScriptBlock, C:\Pode\Public\Utilities.ps1: line 634\r\nat \u003cScriptBlock\u003e, \u003cNo file\u003e: line 114
In New-ADGroup way I get :
Access is denied StackTrace : at \u003cScriptBlock\u003e, C:\Pode\Server.ps1: line 96\r\nat Invoke-PodeScriptBlock, C:\Pode\Public\Utilities.ps1: line 634\r\nat \u003cScriptBlock\u003e, \u003cNo file\u003e: line 114
As I have mentioned, If run the same script in a PS prompt it works just fine and AD group is created. Any Ideas why? The Windows Service is made via NSSM. Do Pode have to have some other rights?.
I have no problem searching in the AD (Get-ADGroup, Get-ADGroupMember, Get-ADObject), add/remove users to groups (Add-ADGroupMember, Remove-ADGroupMember), all via Pode.

Windows Server 2016 Standard
Versions:

Pode 2.6.2
PowerShell 5.1.19041.2364

Cheers!
//Andreas
createADGroups.txt

Hi @Skakiz,
I'm not overly familiar with the AD module but:

Are you running Import-Module ActiveDirectory before Start-PodeServer?
Are you running Pode on the DC itself, or from another server? (I know the AD module doesn't like running on a DC at times)
Are you, or have you tried, passing the -Credential parameter - see if it makes a difference.
As a test, what happens if you call New-ADGroup directly within the Start-PodeServer scriptblock?
If you run Pode directly from a PowerShell terminal does it make any difference - or same error as a Windows Service?

It's a little strange that adding and removing users works all right, but it fails on groups 🤔

Do you have a different user which is running the service?
I use the project shawl (also here on GitHub) because the NSSM isn't updated anymore. I specified a user which has no rights anywhere except local admin of the webserver itself.
I get credentials from the user authenticating to pode and use them to run the AD command.
Hope that helps

I don't see anywhere where you are providing credentials needed to create the new AD object.  Hence the "Access Denied" error message.  When you are running the script from a PowerShell prompt, the command-lets are using your credentials since none were provided.  Running the script as a service, the script is running (most likely) using the System account that won't have the needed rights to create AD objects.
Instead of running Pode/script as a service try running it as a Windows Scheduled Task.  The Scheduled Task method will allow you to specify the credentials that Pode/script should run as.  As long as those credentials have Create AD object rights, the script will be able to then create new AD objects.

Hi,
thanks for all the input. I will try to answer all your questions and comments.
I can see that Import-Module ActiveDirectory is called upon start. Im running the powershell on the server, no DC.
I will try  -Credential parameter and New-ADGroup directly within the Start-PodeServer that asap, good idea.
If you run Pode directly from a PowerShell terminal does it make any difference - or same error as a Windows Service?
I will clear this up. When I run the ps in a terminal/prompt it is all good. But when the same code is ran in Pode, I get the error messages above.
The users are the same in both terminal and Windows Service. I will look into shawl and passing in credentials. The only thing is that I have noticed the pode takes its time to authenticate AD login. But I believe it may have be resolved in a newer version of pode.
@jbaechtelMT - So you mean that I can use the Windows Service login I have specified in the Windows Service Manager.
I know that the account can create AD object, maybe not users actually.
I will get back to you when I have tried the different approches you have given.
Cheers!
//Andreas

Are you running the command/s directly from Pode server or are you using PSSession?
In our case everything worked fine (using NSSM) except DNS cmdlets. For those, we had to find a workaround. We connect to the remote machine (a management box in the desired domain), create a Scheduled Task, launch it, then read the output and return back to Pode. For whatever reason running the DNS cmdlets within a PSSession didn't work, but running the exact same code as a Scheduled Task as the same user works fine.

Hey Philip, the issue you're running into is the "second hop problem" related to Kerberos. You're only authenticated on the first machine (that management box) but if you try to do AD stuff the domain controller cannot "see" the authentication and refuses it.
By creating that scheduled task on the box you eliminate one hop so authentication works again.
I used PSSessionConfigurations with the credentials given from Pode and then execute the commands in the context of that configuration.

We did have this issue originally with AD cmdlets, but passing the credentials into the session scriptblock as an argument worked around that. This same method doesn't work for DNS cmdlets though. I'll do some more testing with the config as you mentioned. Ultimately that would be much cleaner 👍🏻


Fixing the issue of half-space in some words

As far as I know, we shouldn't use half-space or nimfaseleh after these seven letters: ا، د، ذ، ر، ز، ژ، و because they have a kind of natural spacing already. But when I normalize text with Hazm, it puts half-space after these (E.G. کشور ها becomes کشور‌ها).

این مشکل فعلاً وجود نداره.


Cpp CI may be broken

http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/PR-10970/1/pipeline/717
http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/PR-10311/36/pipeline/718
http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/PR-10433/30/pipeline/721
[11:04:45] /work/mxnet/tests/cpp/engine/threaded_engine_test.cc:133: Stopping: NaiveEngine
[11:04:45] /work/mxnet/tests/cpp/engine/threaded_engine_test.cc:135: Stopped: NaiveEngine Starting...
[11:04:45] /work/mxnet/tests/cpp/engine/threaded_engine_test.cc:137: Started: NaiveEngine Done...
[11:04:45] /work/mxnet/tests/cpp/engine/threaded_engine_test.cc:133: Stopping: ThreadedEnginePooled
terminate called after throwing an instance of 'std::system_error'
  what():  Operation not permitted
/work/runtime_functions.sh: line 477:     7 Aborted                 (core dumped) build/tests/mxnet_unit_tests
build.py: 2018-05-16 11:04:45,909 Running of command in container failed (134): nvidia-docker run --rm -t --shm-size=500m -v /home/jenkins_slave/workspace/ut-cpp-gpu:/work/mxnet -v /home/jenkins_slave/workspace/ut-cpp-gpu/build:/work/build -u 1001:1001 mxnet/build.ubuntu_gpu /work/runtime_functions.sh unittest_ubuntu_gpu_cpp
build.py: 2018-05-16 11:04:45,909 You can try to get into the container by using the following command: nvidia-docker run --rm -t --shm-size=500m -v /home/jenkins_slave/workspace/ut-cpp-gpu:/work/mxnet -v /home/jenkins_slave/workspace/ut-cpp-gpu/build:/work/build -u 1001:1001 -ti --entrypoint /bin/bash mxnet/build.ubuntu_gpu /work/runtime_functions.sh unittest_ubuntu_gpu_cpp
into container: False
Traceback (most recent call last):
  File "ci/build.py", line 263, in <module>
    sys.exit(main())
  File "ci/build.py", line 204, in main
    container_run(platform, docker_binary, shared_memory_size, command)
  File "ci/build.py", line 126, in container_run
    raise subprocess.CalledProcessError(ret, cmd)
subprocess.CalledProcessError: Command 'nvidia-docker run --rm -t --shm-size=500m -v /home/jenkins_slave/workspace/ut-cpp-gpu:/work/mxnet -v /home/jenkins_slave/workspace/ut-cpp-gpu/build:/work/build -u 1001:1001 mxnet/build.ubuntu_gpu /work/runtime_functions.sh unittest_ubuntu_gpu_cpp' returned non-zero exit status 134
script returned exit code 1

Confirmed. Steps to reproduce:
Instance: g3.8xlarge (don't forget nvidia-docker)
Build using
ci/build.py --download-docker-cache --docker-cache-bucket mxnet-ci-docker-cache-prod --platform ubuntu_build_cuda --shm-size 500m /work/runtime_functions.sh build_ubuntu_gpu_cuda91_cudnn7
Run using

Failure log:
[----------] 4 tests from Engine

[ RUN      ] Engine.start_stop

[13:17:58] /work/mxnet/tests/cpp/engine/threaded_engine_test.cc:133: Stopping: NaiveEngine

[13:17:58] /work/mxnet/tests/cpp/engine/threaded_engine_test.cc:135: Stopped: NaiveEngine Starting...

[13:17:58] /work/mxnet/tests/cpp/engine/threaded_engine_test.cc:137: Started: NaiveEngine Done...

[13:17:58] /work/mxnet/tests/cpp/engine/threaded_engine_test.cc:133: Stopping: ThreadedEnginePooled

terminate called after throwing an instance of 'std::system_error'

  what():  Operation not permitted

/work/runtime_functions.sh: line 477:     7 Aborted                 (core dumped) build/tests/mxnet_unit_tests

build.py: 2018-05-16 13:17:59,886 Running of command in container failed (134): nvidia-docker run --rm -t --shm-size=500m -v /home/jenkins_slave/workspace/ut-cpp-gpu:/work/mxnet -v /home/jenkins_slave/workspace/ut-cpp-gpu/build:/work/build -u 1001:1001 mxnet/build.ubuntu_gpu /work/runtime_functions.sh unittest_ubuntu_gpu_cpp

build.py: 2018-05-16 13:17:59,886 You can try to get into the container by using the following command: nvidia-docker run --rm -t --shm-size=500m -v /home/jenkins_slave/workspace/ut-cpp-gpu:/work/mxnet -v /home/jenkins_slave/workspace/ut-cpp-gpu/build:/work/build -u 1001:1001 -ti --entrypoint /bin/bash mxnet/build.ubuntu_gpu /work/runtime_functions.sh unittest_ubuntu_gpu_cpp

into container: False

Traceback (most recent call last):

  File "ci/build.py", line 306, in <module>

    sys.exit(main())

  File "ci/build.py", line 243, in main

    container_run(platform, docker_binary, shared_memory_size, command)

  File "ci/build.py", line 155, in container_run

    raise subprocess.CalledProcessError(ret, cmd)

subprocess.CalledProcessError: Command 'nvidia-docker run --rm -t --shm-size=500m -v /home/jenkins_slave/workspace/ut-cpp-gpu:/work/mxnet -v /home/jenkins_slave/workspace/ut-cpp-gpu/build:/work/build -u 1001:1001 mxnet/build.ubuntu_gpu /work/runtime_functions.sh unittest_ubuntu_gpu_cpp' returned non-zero exit status 134

script returned exit code 1

GDB reports "During startup program terminated with signal SIGABRT, Aborted.". Unfortunately, I can't get more informations since the error is flaky. Sometimes it happens multiple times in a row, sometimes it takes ages to show up.

Also blocked my PR: http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/PR-11001/11/pipeline

This has been fixed by #11065 thanks to @haojin2


Pin environment to Julia versions

@lrennels, can we pin the Julia version (and any others that we need) in this repository in the same way that we did the others? Some folks have been trying to replicate our estimates and getting the warning about Julia versions and different estimates.

Let's only worry about this for MimiGIVE, not the IWG stuff (just to keep it simple). And should we remove the MimiGIVE/Manifest.toml from this repository as well?

let's do the same thing we did here

@bryanparthum sounds good, I can take this on this week

@bryanparthum just an FYI right now the README says this:
## Requirements
1. *Julia* is free and available for download [here](https://julialang.org/). Estimation of the SC-HFCs for the MimiGIVE and MimiIWG damage modules was performed on Julia 1.8. While newer versions of *Julia* are compatible with all the code (e.g. 1.9), the random number generators were updated and results might not be identical due to random differences in the random parameters underlying the Monte Carlo runs of MimiGIVE and MimiIWG. Install *Julia* and ensure that it can be invoked (ran) from where the replication repository is to be cloned ("in your path").

I was the one who wrote that, so my assumption here is that that was incorrect and you actually ran things on v1.6? I'll update the README and Manifests in a PR to reflect that, but just double checking. We can also just check that that replicates correctly and go from there as necessary.

Sounds good. My local is 1.6.3, but I'll have to fire up a DMAP instance to confirm the version there (I believe it is also 1.6, but not 100%)

Sounds good, I can on the readme be even more specific to 1.6.3 but I don't think patch (the versioning goes major.minor.patch) is likely to change the random number generator so it's probably not necessary.


Problem with print_result (Line 173 + 179 of Install Script)

I believe these lines won't work because the print_result() function is missing.

fixed in latest commit


redis as an alternative for NBT and LevelDB storage

We could get rid of a lot of awkwardness and get great cloudservice support mostly for "free".
Not my idea, it's gurun's from #mcdevs @ freenode

gurun|work: This should be an alternative for NBT and LevelDB storage, right - http://redis.io/

gurun|work: especially if you do a cloudservice.

gurun|work: the biggest differences seems to be that LevelDB is faster, but if transactions, redis is both safer and faster.

gurun|work: basically i read it as redis actually supports real transactions (out of process scenarios), but LevelDB doesn't really do that (hence the speed)

This seems like the sort of thing we should allow mods to implement.

What map format we selected? Anvil? I prefer database storage. Because I think they handle these better we what was handles.
(Out topic, MapReduce? I don't know.)

We will need to support Anvil for vanilla compatibility. Any other storage can be added later, possibly through the mod API.
I don't understand your second comment, sorry.

@fenhl Second comment means distributed things, don't mind :)


Get variant by ID

Add tests and endpoint that gets variants by their ID.
Note: We will have to be smart in picking IDs since when there are multiple variant sets the primary key in the database won't be unique.

The trick here is to concatenate the variant set ID with the variant ID. That means you'll give variant IDs back hg37-1, variansetid:variantid.

It needs to 404 if not found.


probe for available BMI port numbers

Fixes #165
Requires origin/master version of BMI as of 8/9/2017

if no port number is specified for BMI in server mode, then try ports
within a range until one of them works, and store default hostname and
port as address that can be queried with HG_Addr_to_string() and used
by other hosts

Merged in af445c7aba71e882f9f18387bea97c7a2577b382


take effect doesnt return an action anymore in beta

Steps to reproduce
For some reason below code doesn't work anymore in latest beta:
const action = yield take(a => isRequestAction(a) && (!a.meta || a.meta.runByWatcher !== false));

It doesn't return action object anymore, but {"@@redux-saga/IO":true,"TAKE":{...}}, which looks like effect instructions for redux-saga, not the action.
Description of the bug/issue
You can see the full context of above snippet here: https://github.com/klis87/redux-saga-requests/blob/master/packages/redux-saga-requests/src/sagas.js#L239
I read releases of beta and I didn't notice any change for take, am I missing something or just beta doesn't work properly yet?
Environment information

redux-saga version: 1.0.0-beta.3

are you sure that problem is in this snippet?
action from take test shows it should work as expected https://github.com/redux-saga/redux-saga/blob/master/packages/core/tests/interpreter/take.js#L5-L119

@restrry I am sure, because I don't do anything fancy at https://github.com/klis87/redux-saga-requests/blob/master/packages/redux-saga-requests/src/sagas.js#L239, just take an action, plus everything works in redux-saga 0.16. Unfortunately I cannot do unit tests because I use redux-saga-test-plan which doesnt support redux saga 1.0.0-beta.3 yet.
If thats not problem for you re debugging, you can add console.log to check returned action by take, then build everything with yarn build in project root, then you can go to examples, like https://github.com/klis87/redux-saga-requests/tree/master/examples/advanced

You have to update redux-saga across whole project. At the moment you are using v1 runtime but 0.16 effects.

@Andarist what do you mean, effects were moved to a separate package? Do we have any migration guide?

They are still part of the core package, but your redux-saga-requests package has dependency on 0.16 and take imported from that directory uses this 0.16 package (according to regular resolution algorithm).

@Andarist Ahhh sry for this, I updated it locally, I just gave you a reference to it so you could see the whole codebase, officially I support only 0.16. Do you want me to prepare a 1.0 branch so you could clone it to reproduce it locally?

if you update package, it should work. the problem right now that saga cannot recognize that you yielded effect and returns object as is. https://github.com/redux-saga/redux-saga/blob/master/packages/core/src/internal/proc.js#L144-L149

Yeah, shape of the effect object has changed slightly but it has obviously major implication for our runtime code. You had to import take from 0.16. Please try to update to v1 everywhere in that monorepo, if it doesnt help you - then please prepare a branch I can take look at.

@restrry @Andarist probably this was my mistake, sry for that. I assumed that I needed to update only dep in my examples, because redux-saga is peer dep of redux-saga-requests. However, I had redux-saga as dev dependency pinned which I didn't think about.
All in all, the only change I need to make is delay import, other stuff work! Thanks and apologies again for taking your time


Update README.md

updated example to ensure the component is there when navigating away from the route and back again. Previous example only loaded it once because the component destroyed the object.

The updates on this look solid. @FranckFreiburger


Add Ubuntu 17.10 image

Hey guys,
it's quite urgent now that ubuntu 17.04 has reached EoL and no longer receive security updates !
Could you at least tell us what's blocking an upgrade ?

Ubuntu 17.10 was supported till 2018-07-19, so ticket can be closed.


Minor faults in blog entry Kong Ingress Controller and Service Mesh: Setting up Ingress to Istio on Kubernetes

This is a Bug Report

Problem:
The blog entry Kong Ingress Controller and Service Mesh: Setting up Ingress to Istio on Kubernetes has some issues:

HTML mixed in with a code block, rendering as:$ curl $PROXY_IP/productpage

“And to check pods, run the following command:” is followed by sample output, not a command.

Proposed Solution:
Fix blog article
Page to Update:
https://kubernetes.io/blog/2020/03/18/kong-ingress-controller-and-istio-service-mesh/
Original pull request: #19451
/area blog
/language en
/kind bug
@devadvocado have you got time to fix this?

/assign
I'll take a look


💡 [REQUEST] - Change the background image/ or the font color as it is not visible properly

[x] I am from GSSoC'23.
[x] I would like to be assigned this task.

Section
Description

Concise Description
Not visible properly

Solution Proposed
Change the background image/ or the font color as it is not visible properly

Alternative Solutions
Describe any alternative solutions you can think of

Additional Context
Write any other contexts related to the feature request

Screenshots

Code of Conduct
By submitting this issue, you agree to follow our Code of Conduct.

[x] I follow the Contributing Guidelines of this project.
[x] I have checked the current issues for duplicate problems.
[x] I have read the readme of this repository.

@abhijeet141 please assign me this issue under gssoc'23

@smty2018 Thank you for creating this issue but the issue is already resolved.


rename exercise_skipped to section_skipped

Addresses #44
@robbyshaver This PR renames the exercise_skipped event to section_skipped. As part of the change your exerciseSkipped helper function is no longer called (both section_completed and section_skipped both call sectionCompleted):
https://github.com/rstudio/tutor/blob/feature/section-skipped/inst/rmarkdown/templates/tutorial/resources/tutorial-format.js#L446-L453
Not sure if this is the right change and/or if other refinements are required. Could you try out this PR locally and let me know if everything is working as you expect and whether we need additional refinement?

@jjallaire We care in the UI about the difference between an exercise getting completed vs. getting skipped, so I renamed/updated the exerciseSkipped function to sectionSkipped and call it when we get the section_skipped event. Everything looks to be working right now.

Great, I just merged the changes.
On Friday, March 17, 2017, Robby Shaver<EMAIL_ADDRESS>wrote:

@jjallaire https://github.com/jjallaire We care in the UI about the
difference between an exercise getting completed vs. getting skipped, so I
renamed/updated the exerciseSkipped function to sectionSkipped and call it
when we get the section_skipped event. Everything looks to be working right
now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rstudio/tutor/pull/49#issuecomment-287369797, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAGXxwZUtiuNpERQFG8AnJ-D071VCHnDks5rmplegaJpZM4MgmU_
.


image srcset not working with lazy load

+1. Using srcsets and picture elements are now really quite commonplace.


Enhancements to key functions

What ❔

Enhancement in Node Config Creation Tool:

Added create_node_config function for centralized and efficient configuration creation.

Improved Use of first Method in Vector Operations:

Replaced get(0) with first for accessing the first element in vectors, improving code readability and semantic accuracy.

Simplification in Configs Function:

Streamlined code with a match statement for loading the validator key, enhancing clarity and comprehension.

Why ❔

The create_node_config function is introduced to ease maintenance and reduce potential errors, adhering to a more centralized and streamlined approach.
Utilization of the first method in vector operations leverages Rust's idiomatic features, aiming to boost code readability and effectiveness.
The simplification in the Configs::read function is a critical measure to elevate application security and mitigate possible erroneous scenarios, thereby contributing to the overall robustness and reliability of the application.

Thank you for your contribution. The code that you suggest to refactor already satisfies our style guide and is consistent with the formatting of the codebase in general, so I'm closing this pr for now. You are more than welcome to open another pr in case you spot a bug though.


Use $OBJCOPY and $STRIP instead of hardcoding

You forgot to add the OBJCOPY ?= objcopy to this file

Right, I badly assumed it somehow wouldn't be needed in this file due to $CXX being used but absent, which seems a bit weird.


Memory allocation error - incorrect checksum for freed object

Description
Memory allocation errors occur when launching 100 servers that do not appear when launching 10 servers in the same configuration.

OS: Mac OS 10.14
Node: Homebrew v10.15.2

Code to reproduce
https://github.com/bunchtogether/braid-server/blob/master/tests/peers-ring.test.js
(Apologies, I have been unable to reproduce in a simpler example.)
Output
node(65675,0x1091595c0) malloc: Incorrect checksum for freed object 0x104819200: probably modified after being freed.
Corrupt value: 0x1baffed00baffedf
node(65675,0x1091595c0) malloc: *** set a breakpoint in malloc_error_break to debug

Extended Description
The Braid application syncs key-value pairs between a small network of peers and a larger network of read-only subscribers. All communication between the peer and subscriber processes occurs over WebSockets.
In this test 100 uWebSocket servers are created and linked in a ring using ws, i.e. peer A opens a connection to peer B, peer B opens a connection to peer C, peer C opens a connection to peer A.
When the test is reduced to 10 uWebSocket servers the error does not occur.
Thanks
Thanks for the great work and let me know if there is any additional information I can provide.

I was not able to reproduce the error using the code below, but have included it for reference in the event you would like a similar setup.
const WebSocket = require('ws');
const uWS = require('uWebSockets.js');

const danglingWs = new Map();

const launchServerAndClient = async (port, connectPort) => {
  const app = uWS.App({});
  app.ws('/*', {
    compression: 0,
    maxPayloadLength: 16 * 1024 * 1024,
    idleTimeout: 10,
    open: (ws) => {
      const id = Math.random().toString();
      danglingWs.set(id, ws);
      const b = Buffer.from(id);
      ws.send(b.buffer.slice(b.byteOffset, b.byteOffset + b.byteLength));
    },
  });
  const listenSocket = await new Promise((resolve, reject) => {
    app.listen(port, (token) => {
      if (token) {
        resolve(token);
      } else {
        reject(new Error(`Unable to listen on port ${port}`));
      }
    });
  });
  let ws;
  return {
    connect: async () => {
      ws = new WebSocket(`ws://localhost:${connectPort}`);
      const messagePromise = new Promise((resolve, reject) => {
        ws.once('message', (data) => {
          console.log({ data });
          resolve();
        });
        ws.once('error', reject);
      });
      await messagePromise;
    },
    stop: async () => {
      await new Promise((resolve, reject) => {
        ws.once('close', resolve);
        ws.once('error', reject);
        ws.close();
      });
      uWS.us_listen_socket_close(listenSocket);
      for(const ws of danglingWs.values()) {
        // Modifying the socket here does not seem to trigger the error
        ws.foo = Math.random().toString();
      }
    },
  };
};

const count = 100;

const run = async () => {
  const serverClientPairs = [];
  for (let i = 0; i < count; i += 1) {
    const port = 20000 + i;
    const connectPort = i === 0 ? 19999 + count : 19999 + i;
    const serverClientPair = await launchServerAndClient(port, connectPort);
    serverClientPairs.push(serverClientPair);
  }
  await Promise.all(serverClientPairs.map((x) => x.connect()));
  await Promise.all(serverClientPairs.map((x) => x.stop()));
};

run();


add hyper-tabs-enhanced

Checklist for submitting an awesome plugin, theme, or resource:

[x] The title for my package or theme uses its npm title (hyper-plugin-example)
[x] The link for my package or theme uses the npmjs.com link (https://www.npmjs.com/package/hyper-plugin-example)
[x] There is a visual representation of what my plugin or theme does in the repo. (Plugin: screenshot or gif || Theme: screenshot of the theme applied to Hyper)
[x] Put your awesome item at the BOTTOM of the correct (plugin, theme, or resource) list.
[x] VERY IMPORTANT: I've written a short (one sentence) description for my package or theme as the description of the awesome plugin, theme, or resource in the README.md file I'm submitting in the PR.

yo, @bnb can you help me to resolve conflicts for this?


Add "jxr" keyword to JPEG XR

(DE) https://www.gamestar.de/artikel/neues-update-fuer-windows-11-soll-euren-desktop-hintergrund-so-viel-besser-machen,3398929.html

https://blogs.windows.com/windows-insider/2023/08/04/announcing-windows-11-insider-preview-build-25921/

You can now set JXR files to be your desktop background and if you have an HDR display, they will render in full HDR.

https://en.wikipedia.org/wiki/JPEG_XR

JPEG XR (.JXR) format

If you search for "jxr" currently, the entry for JPEG XR isn't found: https://caniuse.com/?search=jxr
Fixing that 🙃

Thanks!


Docker version upgraded to incorrect version

Organization Name: Advantech

Short summary about the issue/question: Docker version upgraded to incorrect version during executing quick-start-kubespray.sh
Brief what process you are following:
Based on https://openpai.readthedocs.io/en/latest/manual/cluster-admin/installation-guide.html

Prepare devbox, master and worker environment as describe
Docker version

Client:
Version:           18.09.7
API version:       1.39
Go version:        go1.10.4
Git commit:        2d0083d
Built:             Fri Aug 16 14:19:38 2019
OS/Arch:           linux/amd64
Experimental:      false
Server:
Engine:
Version:          18.09.7
API version:      1.39 (minimum version 1.12)
Go version:       go1.10.4
Git commit:       2d0083d
Built:            Thu Aug 15 15:12:41 2019
OS/Arch:          linux/amd64
Experimental:     false

Execute "/bin/bash quick-start-kubespray.sh -m /path/to/master.csv -w /path/to/worker.csv -c /path/to/config"

Deployment script is failed because docker issue on master and worker

RUNNING HANDLER [container-engine/docker : Docker | reload docker] **************************************************************************************************************************************************************************
Tuesday 23 June 2020  15:09:26 +0000 (0:00:00.059)       0:00:56.943 **********
fatal: [testworker1-1039180-iaas]: FAILED! => {"changed": false, "msg": "Unable to restart service docker: Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.\n"}
fatal: [testmaster-1039177-iaas]: FAILED! => {"changed": false, "msg": "Unable to restart service docker: Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.\n"}
RUNNING HANDLER [container-engine/docker : Docker | wait for docker] ************************************************************************************************************************************************************************
Tuesday 23 June 2020  15:09:27 +0000 (0:00:00.390)       0:00:57.334 **********
NO MORE HOSTS LEFT **************************************************************************************************************************************************************************************************************************
to retry, use: --limit @/root/pai-deploy/kubespray/cluster.retry
PLAY RECAP **********************************************************************************************************************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=0
testmaster-1039177-iaas    : ok=111  changed=23   unreachable=0    failed=1
testworker1-1039180-iaas   : ok=95   changed=23   unreachable=0    failed=1
Tuesday 23 June 2020  15:09:27 +0000 (0:00:00.003)       0:00:57.337 **********

Docker version upon failed deployment

ubuntu@testworker1-1039180-iaas:~$ sudo docker version
Client: Docker Engine - Community
Version:           19.03.12
API version:       1.40
Go version:        go1.13.10
Git commit:        48a66213fe
Built:             Mon Jun 22 15:45:49 2020
OS/Arch:           linux/amd64
Experimental:      false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

How to reproduce it:
Just repeat the above Installation From Scratch steps

OpenPAI Environment:

OpenPAI version: 1.0.0

Anything else we need to know:

Ref: https://github.com/kubernetes-sigs/kubespray/issues/6160, https://github.com/docker/for-linux/issues/1004
It used to happened before Jun 8. The deployment is OK between Jun 8 until now.

Cannot downgrade docker version API to 1.39 successfully even after follow the steps on References, and hope that the docker checking and installation can be skip since the docker installation is outside quick-start-kubespray.sh.

@hzy46 - may you take a look at this issue? thanks.

It seems your docker doesn't work well. Could you please remove docker on your machine, and follow the instruction below to install docker 18.09?
sudo apt-get update
sudo apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt-get update
sudo apt-get install -y docker-ce=5:18.09.9~3-0~ubuntu-xenial docker-ce-cli=5:18.09.9~3-0~ubuntu-xenial containerd.io

Hope to specify the correct docker version without fix the version after  quick-start-kubespray.sh
May I set the configuration in  ~/pai//contrib/kubespray/example/openpai.yml ?
E.g.
Uncomment and set docker_version: 18.09.7 in ~/pai//contrib/kubespray/example/openpai.yml

Hope to specify the correct docker version without changing the version after executing quick-start-kubespray.sh
May I set the configuration in ~/pai//contrib/kubespray/example/openpai.yml ?
E.g.
Uncomment and set docker_version: 18.09.7 in ~/pai//contrib/kubespray/example/openpai.yml

You don't neet to modify openpai.yml.

kubespray version release-2.11 specifies the docker-ce version in the following link:
https://github.com/kubernetes-sigs/kubespray/blob/release-2.11/roles/container-engine/docker/vars/ubuntu-amd64.yml#L6L16


Added ability to set user password when adding a new user

The ability to change password already exists, however this removes the previously used "generate unusable password" feature when creating a new user.

Thanks for the PR, there was some talk about this to have this added to the API. Would you be willing to look at adding it there as well?

I did not think the django model permissions have ever worked with DefectDojo. This was because when dojo was originally written, the Django permissions did not sufficiently cover the authorized user permission scheme currently in place.
Also looks like the admin page is not removed, but just disabled by default. Before, since the admin page enabled variable was set as an environment variable through the docker file, there was no way to disable it without a rebuild. Now it looks like the admin page can be enabled/disabled through settings as it was intended.

The permissions are working, @madchap is using them and we've been instructing others on slack to use them.

Oh interesting! I wish I would've none that years ago. Either way, the admin page is still available. Just needs to be enabled in settings first.

Yeah, easiest would be to leave it enabled until we have the new authorization V2. But if other insist on disabling it by default, we should add some docs to re-enable it easily.

Good solution, thanks.


X axis should start at 0

We just ran a test evaluating var vs const, and the difference was 4300 ops/sec to 4320 ops/sec.
However the chart made it feel like there was a massive difference in the two.
Can the x axis start at 0 for better comparison of the results?

Yes, of course (+ option for switching to detailed view).

Done: https://dl.dropboxusercontent.com/s/xcffhe0nkwzyaoj/Screenshot 2016-05-19 22.49.55.png?dl=0

Excellent. thank you! @caseq


Error loop with custom domain validation using external DNS

Environment information
Not Applicable / Using AMP1

Description
Steps to reproduce

Set up custom domain
Start the process / generate the SSL cert
Enter the CNAME into the DNS server after 1 day (simulate propagation time)
Go back Amplify control panel. DNS authorization failed. Retry button is the only option,
Click the retry button
A new SSL certificate is generated
A new CNAME key is generated
The validation fails because Amplify sees the old CNAME in the DNS
Go back to step 4.

Hi @RobertBouillon 👋, thanks for reaching out. Can you confirm if you are utilizing the Amplify managed SSL/TLS certificate or a custom SSL/TLS certificate during the domain activation process? Also, can you share your Amplify app id?

We're using the Amplify-managed SSL/TLS
App ID: db543lofnne0x

We were able to use the following workaround:

Delete the CNAME from the DNS record
Ensure the CNAME entry has expired
Restart process
Immediately add the CNAME to the DNS

I don't know if it was because the CNAME was incorrect, or if it just took too long for the correct CNAME to appear in the DNS.
Note we're using Route53 as our DNS, however it's managed under a different account, so it's "external" for all intents and purposes.

Thanks for sharing that information @RobertBouillon. We highly recommend that you update your CNAME records in the DNS provider settings as soon as you create your custom domain. After your app is created in the Amplify console, your CNAME record is checked every few minutes to determine if it resolves. If it doesn’t resolve after an hour, the check is made every few hours, which can lead to a delay in your domain being ready to use. If you added or updated your CNAME records a few hours after you created your app, its likely that your app could get stuck in the Pending Verification state.

Thanks - we did manage to get it up and running with the workaround described previously.
The behavior I observed deviates a bit from what you described. In less than one hour after I clicked "retry", the process failed with a red X on the first step, and the "retry" button was the only way to restart the process. I did wait more than a day after making a change and there were no automatic retries; it seems to have given up after the first failure.
There seems to be something like a 30-minute window to get the DNS entry in or the process fails. Note that the initial failures were not because the CNAME record was missing, but because it was incorrect (it reflected the CNAME generated from the previous attempt). The only way around this was to lower the TTL, delete the entry, restart the process, and add the CNAME in real-time with Amplify.

Thanks for sharing the additional context. When you click the retry button, it will generate new DNS records (the ACM record might remain the same, but the CloudFront distribution record will change). Therefore, if the domain activation process fails, we recommend deleting the domain and then restarting the process. It is crucial that you add the records to your DNS settings promptly after adding your custom domain in the Amplify console. The AWS Certificate Manager (ACM) immediately starts attempting to verify ownership, and the verification checks become less frequent over time.

If the recommendation is to delete the record, wait for the TTL to expire, and then try again (presumably up to 3 days), that's not clear during the process, and seems less than ideal.
If the argument is that this is not a defect and is "working as intended," there are a couple problems with that:
1, There is no indication that the DNS record changes when you hit "retry." You have to find out when it fails again.
2. There's no instruction to delete the previous DNS record before retrying
Based on the information I have, I would recommend two possible remedies:

Ideally, hitting "retry" will just retry the ACM verification process and not reissue an SSL certificate with new DNS records
If "retry" is clicked, it should be clear to the user that the DNS entries previously entered are invalid, and Amplify should provide up to 3 days for the changes to take affect because DNS can take up to 3 days to propagate. The ACM verification process should not fail and stop retrying if the CNAME record exists and is incorrect.

Im experiencing this exact problem as @RobertBouillon has described it. It's really annoying that you can't just "retry" with the same cloud front domain being used.

@RobertBouillon @frankadrian Thanks for sharing that feedback. We appreciate you highlighting the confusion around the current retry process. We are working on improving that workflow, and in the meantime, we will update our documentation to clarify how it works. Thank you.


最意外的事情有哪些？ - jaaleng's blog | BY Blog

https://jaaleng.github.io/2019/09/08/最意外的事情有哪些/?
Every failure is leading towards success.

试试评论...


Unable to post an angular-seed based project on github

I have made a project based on angular-seed. Now when I am trying to push it in my repository on github, it gives me an error: Permission to angular/angular-seed.git denied. The requested URL returned error: 403
Please suggest.

Your problem is most likely related to git and/or github, not the angular-seed project.  You might find this SO article helpful: http://stackoverflow.com/questions/7438313/pushing-to-git-returning-error-code-403-fatal-http-request-failed

It seems you are trying to upload your project as https://github.com/angular/angular-seed.git (which is obviously not possible and not what you intend).
I don't know how exactly you are trying to push it to github, but you should configure git first.
Setting the origin to your own repo might be enough: git remote add origin https://github.com/<username>/<reponame>
Closing since this is not related to angular-seed.


gh-1890 removed "slim.tests" environment option in UploadFile that wa…

…s not used in tests

Coverage increased (+0.1%) to 96.718% when pulling 7e41ef5f9573960a49435850312d44b9fa38aa36 on llvdl:gh-1890 into 30cfe3c07dac28ec1129c0577e64b90ba11a54c4 on slimphp:3.x.

You removed slim.files, not slim.tests :)

bc break

We can't remove slim.files as an application may be using it.


Symfony 4.1 + How to generate form

Hi All,
I have upgrade Symfony 3.4 ( Propel ORM ) to Symfony 4.1 (Propel ORM).
I have copy my schema.xml in below path :
src->propel -> schema.xml
I have try to run below command but not working.
php app/console propel:form:generate @AppBundle ActivityLog
php app/console propel:form:generate @App ActivityLog
php app/console propel:form:generate App\Form ActivityLog
Above all commands are not working.
Please help to fixed this issue.
Also if you have any Symfony 4.x with Propel document then please share link
Thanks
Parthiv Shah

Is this still relevant or can it be closed?


matrix_constr function

There is an ambiguity in matrix_const function as stasis_ind is shorter than delta:
In matrix_const.m, line 41:    A(stasis_ind)=(1-delta)(1-y(t+6hr))
It returns an error message caused by the different length between stasis_ind and delta. Should delta be delta(2:(m-1)) instead?

I'm a little confused at this error, because stasis_ind should have the same length as delta (it's pre-allocated based on the length of volbins, which also determines the length of delta, so they should be the same). What were your inputs to matrix_const.m?

it works, stasis_ind was not properly defined in my case.


Minor Wording Corrections

Corrected the following in Get Support App features:

"who hare assigned" to "who is assigned"
"PowerBI.S." to "Power BI."

Docs Build status updates of commit 873d8d6:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/samples/app-templates.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We do not currently enforce a minimum score for content merged to the default branch. This will change in the future.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/samples/app-templates.md
84
142
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.


Write more tests for default http encoder as part of example-auth-methods

re-enable auth method tests after splitting from distributed graph
testing top-level Maps Lists Sets Tuples Enums as json response entitie