Mapping with https scheme for service fails error check

Ambassador 1.6.0 with mapping like this:
apiVersion: getambassador.io/v2
kind: Mapping
metadata:
  name: backoffice
spec:
  host: backoffice.example.com
  prefix: /
  timeout_ms: 600000
  service: https://backoffice:443

Fails with error:
cluster_https_default___backoffice_443_default: service https.default://backoffice:443 has unknown scheme https.default, assuming HTTP

This happens if there is any scheme in the address. Removing the scheme eliminates the error but defaults to HTTP.
I'm not very familiar with Python but looks like this line is the problem (running the if statement every time)? https://github.com/datawire/ambassador/blob/f4423e55ef389ba035d138ff6df5e6204c47500a/python/ambassador/ir/ircluster.py#L143

FTR, the fix for this is in commit bb43fa9e8a9036d98ed20fb235d20f4f9635fd31. 🙂


Uncaught Error: TreeError [Test Explorer List] Tree element not found: [object Object]

Error: TreeError [Test Explorer List] Tree element not found: [object Object]
at P.o in src/vs/base/browser/ui/tree/objectTreeModel.ts:318:10
at P.resort in src/vs/base/browser/ui/tree/objectTreeModel.ts:200:25
at P.resort in src/vs/base/browser/ui/tree/objectTree.ts:73:14
at i.applyTo in src/vs/workbench/contrib/testing/browser/explorerProjections/treeProjection.ts:264:9
at ue.X in src/vs/workbench/contrib/testing/browser/testingExplorerView.ts:900:26
at O.a in src/vs/workbench/contrib/testing/browser/testingExplorerView.ts:887:53
at O.h in out/vs/workbench/workbench.desktop.main.js:129:18593
at O.g in src/vs/base/common/async.ts:904:9

Go to Errors Site

I rewrote/refactored a bunch of test stuff, so hopefully this goes away now :)


Update to WebUI v2.1.0

#New Features

Supporting more web browsers
Search for web browsers in Windows Reg.
Using the same show() function for HTML script, files, and refresh content
Support Chrome on macOS
The getInt() and returnInt() are now 64bit integer instead of 32bit

#Breaking code

Switching from show(html, browser); to show(content);, and it's used for HTML, files, or reload the window
Removing showCopy(), refresh(), refreshCopy()

Sorry, the commit has the wrong title, Update to WebUI v2.0.7. I changed it to Update to WebUI v2.1.0.

LGTM.

Some of the core functions such as _webui_browser_start_vivaldi still  need to be wrapped.

Usually, all function that starts with _webui_xxx does not need to be care of by the wrappers.

I know that, but I would still like them to be available in bindings.nim.

I know that, but I would still like them to be available, however.

Of course, that will be great. Something like showBrowser(content: string; browser: cuint).
showBrowser("<html>Hello World</html>", BrowserChrome);
showBrowser("index.html", BrowserFirefox);

This PR LGTM.


Issue with packing

D:\FIRMWARE MODIFICATIONS\Huawei HG8245\HW_WIN32>hw_fmw.exe -d "D:\FIRMWARE MODIFICATIONS\Huawei HG8245\HW_WIN32\unpack" -p -o HG8245mod.bin -v
[ - ] Error: [main:124] - [items_hdr.size() == 0]:[Count of items]
I didn't modified anything i simply extracted the firmware and trying repacking it and i got this issue, Also i wanted to ask if i extract ROOTFS modify it and repack it using relevant mksquashfs will the modifications gonna work?

You need to change - to + for files you modified in outputdir/item_list.txt


Hover preview opens unknown file types in system when "all file types" option is on

Files with extensions that don't have a registered view type should not trigger a preview, as this will launch the file in the OS.

Implemented in 0.8.2


Small improvements

In preparation to resolve #1190 (implement cipher.AEAD) this PR improves some minor things I noticed along the way.

Codecov Report

Merging #1395 into master will increase coverage by 0.18%.
The diff coverage is 72.72%.

@@            Coverage Diff             @@
##           master    #1395      +/-   ##
==========================================
+ Coverage      51%   51.18%   +0.18%
==========================================
  Files         136      136
  Lines       13600    13600
==========================================
+ Hits         6936     6961      +25
+ Misses       5810     5781      -29
- Partials      854      858       +4

Impacted Files
Coverage Δ

internal/repository/testing.go
58.33% <100%> (ø)
:arrow_up:

internal/crypto/kdf.go
27.27% <66.66%> (ø)
:arrow_up:

internal/repository/key.go
52.41% <71.42%> (ø)
:arrow_up:

internal/backend/s3/s3.go
62.53% <0%> (+1.26%)
:arrow_up:

internal/checker/checker.go
72.02% <0%> (+3.83%)
:arrow_up:

Continue to review full report at Codecov.

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


Bug

Describe the issue
I currently have a data tracking bug that's blocking all my installments
Code of Conduct

[x] I agree to follow the IETF's Code of Conduct

Details

/Duplicate of #8164


[WIP] travis cmake osx

First I'll get this working within .travis.yml which will be a bit messy.
Then we can think about extracting some of the functionality into scripts that could be used both in travis and by developers.

Actually that wasn't so bad. I'll open a PR to merge this into cmake-2.

See PR #2856


How can I stop the blob files from automatically deleting after .build callback ; React Native

we're using this library in a React Native project (0.41) and your version being used is 0.10.4
after this call completes successfully:
   Blob
     .build(rnfbURI, { type : `image/${uriImageType};`})
     .then((blob) => {
        .....

        blob.close();
     }

we can see the blob file being DELETED from the directory on device. However we want to keep it stored/available. We tried this before the call above but no dice.
   RNFetchBlob           <===added this
      .config({
        fileCache : true
   });

    let rnfbURI = RNFetchBlob.wrap(iOSTemporaryFilePathString);

Can you help re explaining what flag(s) we need to set to ensure the file does not get cleaned up automatically ? Many thanks.

@ajonno , sorry for replying late. By design, if you create a Blob from existing file, the source file will be removed once you close the blob. We doing this because the source file might be a large one, and we're not going to make a copy of that when creating a new Blob.
However, I know this might not be a good design, people already gave us some feedback. Perhaps we can make it optional. Has any idea?

no problem and thanks for getting back on this. let me have a look at the new method and test it, how it fits into the use case etc and I'll come back to you shortly.


Host bulk-actions stimulus controllers in separate action-models npm package

Extract out the action-models-specific bulk actions Stimulus controllers into a separate action-models npm package
Update the docs on how to install the action-models npm package once created

@andrewculver I've got this working in branches on the different repos (the npm package isn't created yet), but I'm not sure these Stimulus controllers should live in the private repo for the Pro-level plugin. The main reason: nobody can see the private repo, just the minified Stimulus controller javascript within the npm package.
If you're okay with bulk actions Stimulus controllers being only publicly visible via minified version inside the npm package, then I'll push the branches and setup the npm package.
Before al that, however, I recommend we merge the PRs about extracting select-all into its own controller. The new bulk-actions controllers are updated to expect a separate select-all controller.


Add CLion 1.0 with bundled JDK 1.8

Awesome work, thanks. Looks good to me and also works as expected on my machine. The only teeny-tiny nitpick I have is that the homepage url could also be https, but that’s a nice to have, not a must. :+1:

Not a problem @sebroeder. I've changed the homepage url to https and fixed up the commit.


Scrollbar goes too high in Recent topics and settings tables

In a number of places, including Recent topics and settings tables, we have scrollbars that go into the header row. This is incorrect, as the header row is not scrolled. We should fix this.

[issue description updated by @alya ]

I remember this being impossible to do due to simplebar having some conflict with it. I will dig it up and report.

To understand why this cannot be fixed easily, we need to understand how this works, we start by making position of table relative, and then make thead's position sticky. This means that thead will maintain its position compared other rows.
Now, we could simply tell browser that only elements in tbody are scrollable, but that is not how simplebar works. simplebar needs to be initialed at table level for it to work. Hence, we cannot make tbody separately scrollable.
This is what I recall. I will let someone else take a stab at it for fresh perspective.

@zulipbot claim

@andersk do you know if there's a way to make simplebar handle this sort of table with sticky headers correctly? See https://github.com/zulip/zulip/issues/17933#issuecomment-812617254 for the research thus far.

This seems to still be a Simplebar limitation; even their own sticky-header example gets an overlapping scrollbar.

@karlstolley I think #18009 has good fix for it.

Oh, thanks @amanagr -- I'll take a look.

Ideally we should replace the recent conversations SimpleBar with the normal browser scrollbar on <html>, like we did for the Inbox view in 7bce78694eea529aafa5f6cba394f1b8b31eafe0 (#26733).


Outbound alias

I am trying to forward email with aliases. How can I do this with Haraka and not another SMTP server? I noticed that the smtp_forward plugin in trying to connect to another server and not use itself as the server. I want Haraka to only accept email at its own domain and then forward those emails to other addresses on the internet based on the alias configuration. I do not want users to actually be able to log in to the server. Is this possible?

@smfreegard I know that it can be done, but how? I can't quite find the right info in the docs.

Create a queue plugin that does this:
exports.hook_queue = function (next, connection) {
    var transaction = connection.transaction;
    outbound.send_email(connection.transaction, function(retval, msg) {
        switch(retval) {
            case constants.ok:
                return next(OK, msg);
                break;
            case constants.deny:
                return next(DENY, msg);
                break;
            default:
                return next(DENYSOFT, msg);
        }
    });
}

Then any recipient that you accept in hook_rcpt will use outbound for delivery.


include github action workflow to build and publish

includes github action to build container image on changes in main branch and on creation of new tag v*
include custom /etc/nginx/nginx.conf

~@vdemeester This github action needs the following secrets,~
~* QUAY_USERNAME~
~* QUAY_TOKEN~
~The above credentials should have write permission to quay.io/openshift-pipelines/console-plugin repository~
Managing with ghcr.io registry

/assign vdemeester

/lgtm


Show node details sidebar

Add a sidebar which displays a breakdown of the node details when clicked on.
Example (Screenshot from first proposal):

This is not needed after committing to the radial representation of the graph. All the information available on this sidebar is essentially already represented on the graph.

Now I remember the use case: routes may have their own hooks, so those values were not shown in the radial graph.
Is this use case covered now?

Now I remember the use case: routes may have their own hooks, so those values were not shown in the radial graph.
Is this use case covered now?

Yeah, this should already be covered.
For example:


SSD recommendations

Aim to collect here SSD types which work reliable with the RPI4 powered only through the USB-C port.
See this comment to start:
https://github.com/rootzoll/raspiblitz/issues/905#issuecomment-581526545
More suggestions in this thread:
https://twitter.com/floristotle/status/1331715583939907585
and from this article:
https://www.anandtech.com/show/15887/the-samsung-870-qvo-1tb-4tb-ssd-review-qlc-refreshed/5
Please add if you have tried any specific models. 1TB and above preferred.

RPi4 officially supports 1.1A for its USB ports (combined?).
So 5V x 1.1A means the SSD can have a peak power draw of 5,5W, theoretically.
Unsure if the amperage on the back of SSD's is for 5V or for 3,3V....
I'll update this when I know more.

I'm running the Samsung 1TB SSD 870 QVO SATA III 2.5 inch (MZ-77Q1T0BW). Picked it for the decent transfer rates and the low power consumption.
https://villman.com/Product-Detail/samsung_1tb-ssd-870-qvo-sata-iii-25-inch-mz-77q1t0bw

Environment
Average Power Consumption (system level) Average: 2.2 W Maximum: 4.0 W (Burst mode) Actual power consumption may vary depending on system hardware & configuration
Power consumption (Idle) Max. 30 mW * Actual power consumption may vary depending on system hardware & configuration
Allowable Voltage 5V ± 5% Allowable voltage
Reliability (MTBF) 1.5 Million Hours Reliability (MTBF)
Operating Temperature 0 - 70 ? Operating Temperature
Shock 1,500 G & 0.5 ms (Half sine)>

Raspberry Pi 4 Model B with recommended touchscreen, this SSD and noting else connected is pulling between 5 and 8W on the wall depending on load.
SSD connected to ORICO 2.5 Inch USB C External Hard Drive Enclosure, USB 3.1 Gen 2 to SATA III 10 Gb/s and I have not had any trouble with it.
https://www.amazon.de/-/en/gp/product/B07NYC6LKB/ref=ppx_yo_dt_b_asin_title_o01_s01?ie=UTF8&psc=1

Deviece: Sabrent 256GB Rocket NVMe PCIe M.2 2280 Internal SSD High Performance Solid State Drive (SB-ROCKET-256) (https://www.amazon.com/Sabrent-Rocket-Internal-Performance-SB-ROCKET-1TB/dp/B07KGLN3HN/ref=sr_1_4?dchild=1&keywords=nvme%2Bsabrent%2Brocket&qid=1614375903&sr=8-4&th=1)
Enclosure: FIDECO M.2 NVME ＆ SATA SSD Enclosure Adapter https://www.amazon.com/FIDECO-NVME-SATA-Enclosure-Adapter/dp/B088M3TZ5Y/ref=sr_1_8?crid=2PBJ5073V65X3&dchild=1&keywords=fideco+m.2+nvme+external+ssd+enclosure&qid=1614642393&sprefix=fideco%2Caps%2C266&sr=8-8
Case 35 dollars + NVME 45 dollars (256GB) = 80 dollars.
The same nvme for 1TB costs 130 USD, 30 more than the sata, but the performance is another thing. Also, larger drives tend to have better speed, so my 256GB is slower than the 1TB one.
As for the nvme, there is no good brand for 128GB, I suggest starting from 256GB and beyond. If running the Blitz, of course 1TB.
Why this enclosure: First, the chip Realtek RTL9210B, saw majorly excellent reviews about it. Second: the case have good dissipation and comes with thermal paste. Third: It is USB 3.2 Gen 2 10Gbps (not yet supported on the Pi). Fourth is UASP support. Fifth is no cable.
The negative: You will lose a USB 3.0 and a USB 2.0 port, only remaining a USB 2.0, for either the backup usb or a keyboard.
I tried the thiniest enclosure posible with good dissipation. A USB HUB for the pendrive for static channel and keyboard would be the solution, but wouldnt use it for a high storage device.
I used raspberry pi os with desktop cause I wanted to run their sd card test, and because could not fit the nvme and the sata to usb adapter on the two USB 3.0 ports at the same time. This does not invalidate the use of NVME for the Blitz, but using as a USB stick can loose some ports. Although, the most comman way is by using a enclosure with cable.
Jeff Geerling used this one of 24 USD - TDBT M.2 NVMe SSD Enclosure with Heat Sink, 10Gbps USB-C to PCIe NVMe M.2 Hard Drive Enclosure with Thermal Cooling Pad, NVMe M.2 Drive to USB-C External Storage Enclosure, Fits M-Key B+M Key NVMe SSD  https://www.amazon.com/TDBT-Enclosure-Thermal-Cooling-External/dp/B07TJT6W8K/ref=as_li_ss_tl?dchild=1&keywords=tdbt+nvme&qid=1596741190&s=electronics&sr=1-1&linkCode=ll1&tag=mmjjg-20&linkId=6cec59da75a3dc3f4a35f3bc73e6284b&language=en_US. His benchmarks here https://www.jeffgeerling.com/blog/2020/fastest-usb-storage-options-raspberry-pi
The best drive I saw on other benchmarks is this one (200 USD for 1TB, the most expensive but the best results) SAMSUNG 980 PRO 1TB PCIe NVMe Gen4 Internal Gaming SSD M.2 (MZ-V8P1T0B)  https://www.amazon.com/SAMSUNG-500GB-Internal-Gaming-MZ-V8P500B/dp/B08GLX7TNT/ref=sr_1_1?crid=1QL129MB83MKZ&dchild=1&keywords=samsung%2Bevo%2B980&qid=1614652692&sprefix=SAMSUNG%2BEVO%2B9%2Caps%2C300&sr=8-1&th=1
SATA problems (could be that is a 1TB device, vs 256GB nvme) - After some reading I noticed that nvme requires much less power than sata - Topic 3 of the article https://www.digitalcitizen.life/reasons-buy-nvme-ssd/
I noticed the fan make very high sounds when booting with sata, but not with nvme
The hdmi screen didnt appeared when booting.
Couldnt SSH, as raspberry pi os doesnt come with ssh enabled.
The only way I could see the hdmi screen was by connecting the drive after boot
Used this article to get the commands to benchmark: https://linuxconfig.org/how-to-benchmark-disk-performance-on-linux
NVME through USB on the PI
Raspberry pi diagnostics sd card speed test
Sabrent Gen3X4 with Fideco USB 3.2 Gen2x2 enclosure with Realtek RTL9210B board on the Raspberry Pi USB 3.0 port with
prepare-file;0;0;277694;542
seq-write;0;0;276523;540
rand-4k-write;0;0;49573;12393
rand-4k-read;36088;9822;0;0
Sequential write speed 276523 KB/sec (target 100000) - PASS
Random write speed 12393 IOPS (target 500) - PASS
Random read speed 9022 IOPS (target 1500) - PASS
Test PASS
Read speeds:
pi@raspberrypi:~ $ sudo hdparm -Ttv /dev/sda1
/dev/sda1:
multcount     =  0 (off)
readonly      =  0 (off)
readahead     = 256 (on)
geometry      = 31130/255/63, sectors = 524288, start = 8192
Timing cached reads:   1544 MB in  2.00 seconds = 772.47 MB/sec
Timing buffered disk reads: 256 MB in  0.74 seconds = 345.69 MB/sec
pi@raspberrypi:~ $ sudo hdparm -Ttv /dev/sda1
/dev/sda1:
multcount     =  0 (off)
readonly      =  0 (off)
readahead     = 256 (on)
geometry      = 31130/255/63, sectors = 524288, start = 8192
Timing cached reads:   1544 MB in  2.00 seconds = 772.43 MB/sec
Timing buffered disk reads: 256 MB in  0.75 seconds = 339.29 MB/sec
pi@raspberrypi:~ $ sudo hdparm -Ttv /dev/sda1
/dev/sda1:
multcount     =  0 (off)
readonly      =  0 (off)
readahead     = 256 (on)
geometry      = 31130/255/63, sectors = 524288, start = 8192
Timing cached reads:   1552 MB in  2.00 seconds = 775.99 MB/sec
Timing buffered disk reads: 256 MB in  0.74 seconds = 343.72 MB/sec
Write speeds:
root@raspberrypi:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=16k
16384+0 records in
16384+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 14.8969 s, 144 MB/s
root@raspberrypi:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=16k
16384+0 records in
16384+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 14.0477 s, 153 MB/s
root@raspberrypi:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=16k
16384+0 records in
16384+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 14.212 s, 151 MB/s
root@raspberrypi:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=32k
32768+0 records in
32768+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 28.3408 s, 152 MB/s
root@raspberrypi:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=32k
32768+0 records in
32768+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 28.1212 s, 153 MB/s
root@raspberrypi:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=32k
32768+0 records in
32768+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 28.2688 s, 152 MB/s
root@raspberrypi:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=1G
dd: error writing '/tmp/mnt/temp': No space left on device
1895127+0 records in
1895126+0 records out
248397955072 bytes (248 GB, 231 GiB) copied, 1671.41 s, 149 MB/s
Jeff Geerling speed test
This script to compare with Jeff Geerling results (I changed line mmblks to sda2, my partition is sda2, yours could be different. - https://raw.githubusercontent.com/geerlingguy/raspberry-pi-dramble/master/setup/benchmarks/microsd-benchmarks.sh
Geerling results https://github.com/geerlingguy/raspberry-pi-dramble/issues/183
root@raspberrypi:/mnt# ./microsd-benchmarks.sh
Raspberry Pi Dramble microSD benchmarks
Running hdparm test...
/dev/sda2:
Timing buffered disk reads: 736 MB in  3.00 seconds = 245.11 MB/sec
Running dd test...
51200+0 records in
51200+0 records out
419430400 bytes (419 MB, 400 MiB) copied, 2.09376 s, 200 MB/s
Running iozone test...
Iozone: Performance Test of File I/O
Version $Revision: 3.488 $
Compiled for 32 bit mode.
Build: linux-arm
Run began: Tue Mar  2 02:10:51 2021

Include fsync in write timing
O_DIRECT feature enabled
Auto Mode
File size set to 102400 kB
Record Size 4 kB
Command line used: ./iozone -e -I -a -s 100M -r 4k -i 0 -i 1 -i 2
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
                                                          random    random     bkwd    record    stride
          kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
      102400       4    26338    31909    31432    31351    20483    31820

SATA SSD recommended (Sandisk)
Warning
The drive only had the blockchain, I dont want to delete it to test a clean and formatted drive, if someone has the guts or extra drive to do so....
Read speeds
pi@raspberrypi:~ $ sudo hdparm -Ttv /dev/sda1
/dev/sda1:
multcount     =  0 (off)
readonly      =  0 (off)
readahead     = 131064 (on)
geometry      = 121593/255/63, sectors =<PHONE_NUMBER>, start = 65535
Timing cached reads:   1474 MB in  2.00 seconds = 736.92 MB/sec
Timing buffered disk reads: 676 MB in  3.03 seconds = 223.33 MB/sec
pi@raspberrypi:~ $ sudo hdparm -Ttv /dev/sda1
/dev/sda1:
multcount     =  0 (off)
readonly      =  0 (off)
readahead     = 131064 (on)
geometry      = 121593/255/63, sectors =<PHONE_NUMBER>, start = 65535
Timing cached reads:   1430 MB in  2.00 seconds = 715.22 MB/sec
Timing buffered disk reads: 702 MB in  3.13 seconds = 224.60 MB/sec
pi@raspberrypi:~ $ sudo hdparm -Ttv /dev/sda1
/dev/sda1:
multcount     =  0 (off)
readonly      =  0 (off)
readahead     = 131064 (on)
geometry      = 121593/255/63, sectors =<PHONE_NUMBER>, start = 65535
Timing cached reads:   1454 MB in  2.00 seconds = 726.78 MB/sec
Timing buffered disk reads: 702 MB in  3.11 seconds = 225.51 MB/sec
Write speeds
root@raspberrypi:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=16k
16384+0 records in
16384+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 69.8648 s, 30.7 MB/s
root@raspberrypi:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=16k
16384+0 records in
16384+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 57.6648 s, 37.2 MB/s
root@raspberrypi:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=16k
16384+0 records in
16384+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 41.3699 s, 51.9 MB/s
root@raspberrypi:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=32k
32768+0 records in
32768+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 95.409 s, 45.0 MB/s
root@raspberrypi:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=32k
32768+0 records in
32768+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 89.2503 s, 48.1 MB/s
root@raspberrypi:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=32k
32768+0 records in
32768+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 92.1883 s, 46.6 MB/s
root@raspberrypi:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=1G
[ this is taking a long time...... I think more than an hour, so the sata sandisk cant continue with the same performance for large files that take long periods to transfer, and small files too arent so optimized to be transferred as can bee seen aboce on 16k vs 32k]
Jeff Geerling speed test
[ I will try this after the 1G files above ends]
Booting from this devices and running diagnostic sd card speed test
Sabrent Gen3X4 with Fideco USB 3.2 Gen2x2 enclosure with Realtek RTL9210B board on the Raspberry Pi USB 3.0 port
prepare-file;0;0;277694;542
seq-write;0;0;276523;540
rand-4k-write;0;0;49573;12393
rand-4k-read;36088;9822;0;0
Sequential write speed 276523 KB/sec (target 100000) - PASS
Random write speed 12393 IOPS (target 500) - PASS
Random read speed 9022 IOPS (target 1500) - PASS
Test PASS
My cheap Toshiba 32GB microSD card
prepare-file;0;0;11139;21
seq-write;0;0;12122;23
rand-4k-write;0;0;3438;859
rand-4k-read;12483;3120;0;0
Sequential write speed 12122 KB/sec (target 100000) - PASS
Random write speed 859 IOPS (target 500) - PASS
Random read speed 3120 IOPS (target 1500) - PASS
Test PASS
NVME through USB on Debian
Just to check the pi limitations, comparing to a notebook with Debian Buster 10
floor@debian:~$ sudo hdparm -Ttv /dev/sdb1
/dev/sdb1:
multcount     =  0 (off)
readonly      =  0 (off)
readahead     = 256 (on)
geometry      = 31130/255/63, sectors = 500115456, start = 2048
Timing cached reads:   6952 MB in  2.00 seconds = 3481.55 MB/sec
Timing buffered disk reads: 1322 MB in  3.00 seconds = 440.41 MB/sec
floor@debian:~$ sudo hdparm -tv /dev/sdb1
/dev/sdb1:
multcount     =  0 (off)
readonly      =  0 (off)
readahead     = 256 (on)
geometry      = 31130/255/63, sectors = 500115456, start = 2048
Timing buffered disk reads: 1324 MB in  3.00 seconds = 440.76 MB/sec
root@debian:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=1G
dd: error writing '/tmp/mnt/temp': No space left on device
1877829+0 records in
1877828+0 records out
246130671616 bytes (246 GB, 229 GiB) copied, 755.796 s, 326 MB/s
root@debian:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=16k
16384+0 records in
16384+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 6.55825 s, 327 MB/s
root@debian:/tmp# dd if=/dev/zero of=/tmp/mnt/temp oflag=direct bs=128k count=32k
32768+0 records in
32768+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 12.9521 s, 332 MB/s

hi guys, i am using the mx500 drive paired with your suggested enclosure with umbrel without any issue but really want to migrate to raspiblitz for more control - but it really seems as though there is some compatibility issue here. I'd really prefer not to buy another drive - has there been any progress made on understanding why there is an issue with the mx500 1TB drive?

@raspito I had occassional freezes with the MX500 when powered only through the USBC3 port of the RPi with a 3A power supply.
Since I am running it powered separately with an X825 board and barrel connector it is working fine.
Since then there were firmware updates to the RPi so might have improved.
If you did not experience issues running other software imthe hardware ahould be fine, but if you experience something similar will know wht the issue is.

thanks @openoms. how can i bump the firmware of the RPi?
I can't fit the X825 board in my case, so ideally I'd like to get this thing running on the MX500 with stock hardware.

@raspito if you are using the latest image of raspiblitz it is up-to-date.

I would add the Samsung T5 with 1TB or 2TB to this list. It's an USB3 drive that performs really well in benchmarks, it is typically on the 1st or 2nd page on PiBenchmarks:  https://pibenchmarks.com/fastest/1 or https://pibenchmarks.com/fastest/2
Besides, it is very compact and doesn't need a separate case / heatsink / cable.
Only one disclaimer, it needs an UDEV rule added for fstrim to work properly:
# idProduct may differ depending on storage size, see `dmesg`
sudo echo 'ACTION=="add|change", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="61f5", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"' >> /etc/udev/rules.d/10-uas-discard.rules

Results in:
# /etc/udev/rules.d/10-uas-discard.rules
ACTION=="add|change", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="61f5", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"

Alternatively, the following command should work for a non-persistent solution:
# please replace "sda" with your drive name
sudo echo unmap >  /sys/block/sda/device/scsi_disk/*/provisioning_mode

BTW, T5 1Tb works for me just fine, newer model T7 1Tb does not - the T7 is extremely flakey on the Pi, couldn't even copy the blockchain on to it.  I think it uses slightly more power, or maybe just demands slightly higher voltage - just enough that powering it through the RPi4's USB ports wasn't sufficient.  (Didn't try it though a powered hub.)

@xanoni - your script for adding the trim rule doesn't work for me: udevadm test says "invalid inotify descriptor".  (idProduct and idVendor are correct).
I notice the SUBSYSTEM I get via udevadm info -q all -a /dev/sda1 is scsi not scsi_disk but aside from that I don't know what I'm doing.  I don't even know if I'm running the correct udevadm command to test it:
udevadm test --action="change" /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb2/2-2/2-2:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda1

@david-bakin sorry looking at this on my phone and might have missed something but just to make sure, do you have a Samsung T5 drive?

The T5, and of course I confirmed with dmesg that the product&vendor ids are the same.  (This is from 1.7.0.)
=============================================================== T5 START
[    1.984600] usb 2-2: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
[    2.014201] usb 2-2: New USB device found, idVendor=04e8, idProduct=61f5, bcdDevice= 1.00
[    2.014222] usb 2-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[    2.014234] usb 2-2: Product: Portable SSD T5
[    2.014246] usb 2-2: Manufacturer: Samsung
[    2.014258] usb 2-2: SerialNumber: 123456871A77
[    2.023243] systemd[1]: System time before build time, advancing clock.
[    2.027467] scsi host0: uas
[    2.028848] scsi 0:0:0:0: Direct-Access     Samsung  Portable SSD T5  0    PQ: 0 ANSI: 6
[    2.030920] sd 0:0:0:0: [sda]<PHONE_NUMBER> 512-byte logical blocks: (1.00 TB/932 GiB)
[    2.031111] sd 0:0:0:0: [sda] Write Protect is off
[    2.031128] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
[    2.031519] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.032207] sd 0:0:0:0: [sda] Optimal transfer size 33553920 bytes
[    2.055729]  sda: sda1
[    2.058612] sd 0:0:0:0: [sda] Attached SCSI disk
=============================================================== T5 END

(Look at that serial number though! Did I get lucky 123456... or is that just Samsung's idea of a joke?)

@david-bakin the serial number is Samsung's idea of a joke, all my T5 drives have the format 1234568XXXXX.
I noticed that your drive uses uas, whereas mine say UAS is ignored for this device, using usb-storage instead. I'm not 100% sure if that's a good or a bad thing. I just know that it's faster than the CPU can do full disk encryption, and that it works with fstrim. Thus, I'm happy.
Did you set USB quirks in /boot/cmdline.txt? I've prepended the following to the line:
usb-storage.quirks=04e8:61f5:u

Thus, my dmesg says:
usb-storage 2-2:1.0: Quirks match for vid 04e8 pid 61f5: 800000

Maybe it's related to that.

@xanoni - no, actually it was me not following your directions, it should have been scsi_disk not scsi after all.
Now lsblk --discard /dev/sda shows:
NAME   DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda           0      512B       4G         0
└─sda1        0      512B       4G         0

as it should (non-zero amounts in DISC-GRAN and DISC-MAX) and sudo fstrim --verbose /mnt/hdd seems to do something ...
Thanks!

NICE!  fstrim -av all week long now.


Laravel Scout

new Laravel Scout would be great integration!

@SCIF what do you think about it?

It seems interesting but testing is on top of priority. I'm a bit out of context, therefore need some time to inspect how it works. Anyway, it doesn't seems impossible. I sure we can adopt it to propel.


Convert SpecGloass to MetalRough at import?

Would it make sense to perform a crude conversion of SpecGloss to MetalRough and import that instead?
The tradeoff would be it wouldn't look as accurate inside Blender, but it would export the same way it imported, and we could get rid of all the poorly exercised code in gltf2_blender_KHR_materials_pbrSpecularGlossiness.py.
For example
# Preserves only the diffuse and a constant glossiness
def specgloss_to_metalrough(specgloss):
    metalrough = {}

    metalrough["baseColorFactor"] = specgloss.get("diffuseFactor")
    metalrough["baseColorTexture"] = specgloss.get("diffuseTexture")

    if "specularGlossinessTexture" not in specgloss:
        glossiness = specgloss.get("glossinessFactor")
        metalrough["roughnessFactor"] = 1 - glossiness

    metalrough["extras"] = specgloss.get("extras")
    metalrough["extensions"] = specgloss.get("extensions")

    return metalrough

Originally posted by @scurest in https://github.com/KhronosGroup/glTF-Blender-IO/issues/1853#issuecomment-1416127718

Maybe we can add an option that let's choose if we want to

import native specGloss (accurate, but no roundtrip is possible)
import converted specGloss (less accurate, but export a better way)

That would make the importer more complicated instead of more simple though.

Let's start pros/cons to help decide
Pros:

More simple importer

Con:

Automatically convert (that will be not perfect) can be seen like a regression for people that want to see in Blender files with KHR_materials_pbrSpecularGlossiness.

Another way to think about it: replacing pbrSpecularGlossiness with a crude approximation is a slightly gentler way of dropping support for it. So in the first place, do you want to drop support?

So in the first place, do you want to drop support?

I will ask the Khronos TSG working group members what is their point of view about dropping it or not

this basically just replaces the Diffuse node in the current graph with the equivalent Principled node

Quite an interesting idea :)

Won't it be possible to do a lossless conversion to metal/rough, with Principled BSDF v2? This would require altering input textures if we want the model to export correctly. But if that's an outcome we're happy with, maybe there's no need to reduce support between now and then.

Isn't it possible to do a lossless conversion with KHR_materials_specular now?

Yes, it's just that we need the glTF Material Output node for KHR_materials_specular now, which doesn't render.

Hello,
Regarding this: https://devtalk.blender.org/t/2023-04-04-render-cycles-meeting/28766
Blender 3.6 should have Principled v1 and Principled v2
And Blender 4.0 will have only Principled v2

The new Principled v2 (including new specular model) is now in 4.0 beta.
We will now be able to convert SpecGloss to specular, and display it in Blender. No more glTF Material Output required


Reuse header_of_added_block RPC WS subscription where needed

Since https://github.com/nspcc-dev/neo-go/issues/2751 we have header_of_added_block RPC WS subscription. We need to use it everywhere where possible instead of block_added subscription (e.g. in the RPC client-side WS Waiter, see the https://github.com/nspcc-dev/neo-go/pull/2749#discussion_r998285328).
We also need to document this change, because server-side code must be aware of header_of_added_block functionality for proper client-side code work (fresh RPC server must be used).

BTW, we can try a different approach. Subscribe to header_of_added_block and if it fails (with an appropriate code) retry block-based subscriptions. So it'd be more optimal in the case of new node and still compatible with the old node. Then schedule compatibility code removal for some release in May-June.


Qtip implementation in a dialog

Guys,
Is there a tutorial to incorporate qtip to elements in  a dialog? basically I want to be able to do something like form.MyField.Qtip('SomeToolTip');
If at least you can point me into the right direction that would be great!
Thanks in advance!

Never mind. I just went  into VS NuGet solution and install it from there


2021-09-01 16:39:11.050592: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN)to use the following CPU instructions in performance-critical operatiWARNING:tensorflow:AutoGraph could not transform <function Model.make_train_function..train_function at 0x000001A3554913A0> and will run it as-is. Please report this to the TensorFlow team. To silence this warning, decorate the function with @tf.autograph.experimental.do_not_convert

Please go to Stack Overflow for help and support:
https://stackoverflow.com/questions/tagged/tensorflow
If you open a GitHub issue, here is our policy:

It must be a bug, a feature request, or a significant problem with the
documentation (for small docs fixes please send a PR instead).
The form below must be filled out.
It shouldn't be a TensorBoard issue. Those go
here.

Here's why we have that policy: TensorFlow developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.

System information

Have I written custom code (as opposed to using a stock example script
provided in TensorFlow):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue
happens on a mobile device:
TensorFlow installed from (source or binary):
TensorFlow version (use command below):
Python version:
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory:
Exact command to reproduce:

You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
You can obtain the TensorFlow version with:
python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"

Describe the problem
Describe the problem clearly here. Be sure to convey here why it's a bug in TensorFlow or a feature request.
Source code / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.

@githlam In order to expedite the trouble-shooting process,Can you please fill the issue template.Thanks!


Validate tokens and show results on OneAgent status

Description
Since having mis-configured tokens with OneAgent objects is a relatively common scenario. The idea with this PR is for the Operator to validate different common situations and provide a place where users can look for issues, if any.
The OneAgent CRD now has two conditions, PaaSToken and APIToken, to indicate the state of the API and PaaS tokens, respectively, and can be looked at with kubectl get oneagent -o yaml or kubectl describe oneagent.
The Operator will now set different reasons for each condition depending of the validation result:
TokenReady
Set when all checks have passed.
- type: PaaSToken
  status: "True"
  reason: TokenReady
  message: Ready

TokenSecretNotFound
When the secret doesn't exist. By the default it comes from the OneAgent object name, and can be customized by the CR field tokens.
- type: PaaSToken
  status: "False"
  reason: TokenSecretNotFound
  message: Secret 'dynatrace:custom-oneagent-token' not found

TokenMissing
Set when the token field is missing on the secret. Two fields must be on the secret, apiToken, and paasToken.
- type: APIToken
  status: "False"
  reason: TokenMissing
  message: Token apiToken on secret dynatrace:custom-oneagent-token missing

TokenUnauthorized
When the token can't be found in the Dynatrace environment. Is it correct?
- type: APIToken
  status: "False"
  reason: TokenUnauthorized
  message: Token on secret dynatrace:custom-oneagent-token unauthorized

TokenScopeMissing
Set when the token doesn't have the required permission on Dynatrace environment, e.g., using API token on the PaaS token field, etc. Currently, API and PaaS tokens need DataExport, and InstallerDownload, respectively.
- type: APIToken
  status: "False"
  reason: TokenScopeMissing
  message: Token on secret dynatrace:custom-oneagent-token missing scope DataExport

TokenError
Set when the probe request failed by an unrecognized error. Is it the API URL correct?
- type: PaaSToken
  status: "False"
  reason: TokenError
  message: 'error when querying token on secret dynatrace:custom-oneagent-token:
    error making post request to dynatrace api: Post https://wrong.domain.com/api/v1/tokens/lookup:
    dial tcp: lookup wrong.domain.com on <IP_ADDRESS>:53: no
    such host'

Implementation details

To verify whether a token is valid, we make a request against the Dynatrace API for that token, which returns the assigned permissions (scopes).
To try to avoid reconciliation loops trying to make DDoS over the API, we wait 5 minutes before a new request.

To keep track of the timestamps, two fields have been added to the CRD Status schema, LastAPITokenProbeTimestamp, and LastPaaSTokenProbeTimestamp.

The Operator's workflow remains as before, so, if for example, the API token is invalid, that won't stop the Operator from creating the DaemonSet (version update checks will still fail of course.)
Moved setStatusCondition() and findCondition() from the reconciler to be OneAgent's methods.
Regarding the Dynatrace Client, I've made ServerError to be an error type. If specific behavior is needed with these kind of errors, the Go 1.13's errors package can be used.

I'm aware of a few issues with my changes here,

If only a token is missing from the secret, then the condition for the other is not updated, so it could say valid even if we actually don't know.
Extra new lines on tokens will appear currently as TokenError, perhaps we want to handle this better since it's a problem seen from time to time.
Finally, while the messages indicate what the problem is, it doesn't say what the customer needs to do to fix it. I've added the scenarios on the description of this PR but perhaps we want to add them to the documentation somewhere.

That being said, I'd suggest leaving these changes to a follow-up PR, since this one is growing quite a bit.


A few things

Codecov Report

Merging #9 (6672411) into master (10a0930) will decrease coverage by 2.24%.
The diff coverage is 65.11%.

@@            Coverage Diff             @@
##           master       #9      +/-   ##
==========================================
- Coverage   58.68%   56.43%   -2.25%
==========================================
  Files           9        9
  Lines         288      264      -24
==========================================
- Hits          169      149      -20
+ Misses        105       97       -8
- Partials       14       18       +4

Flag
Coverage Δ

unittests
56.43% <65.11%> (-2.25%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

config/config.go
62.50% <53.84%> (-22.69%)
:arrow_down:

http.go
55.55% <80.00%> (+15.55%)
:arrow_up:

init.go
78.57% <83.33%> (-0.54%)
:arrow_down:

Continue to review full report at Codecov.

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


Update chart ingress-nginx to 4.10.1

This PR contains the following updates:

Package
Update
Change

ingress-nginx
patch
4.10.0 -> 4.10.1

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.


Memory leak when using get inside setInterval()

This bug was encountered when I was pinging my site on glitch 😅. I made an interval to "get" the glitch project url to keep it alive. However, since my home  page was like 1mb, after some time, the memory usage shown on glitch project status clearly showed that every mins. Then I decreased the time to per sec, and the memory usage increased 1mb per sec, which clearly showed it was caching the site every time.. so this clearly shows its a memory leak 😳.

@sayantan300 Please follow the bug report template. We need version information and code to properly diagnose this issue.

@sayantan300 Please follow the bug report template. We need version information and code to properly diagnose this issue.

I use the latest version always. That is 2.6.1.
I don't get any error except glitch stops my project and restarts it

I use the latest version always. That is 2.6.1.
I don't get any error except glitch stops my project and restarts it

@tekwiz

@tekwiz

@sayantan300 We still need your code.

@sayantan300 We still need your code.

Ok, I am giving a more faster code (big file to fetch ~ 1mb, and the interval is 1ms)
let i = 0;
const fetch = require("node-fetch");
setInterval(function(){
i=i+1;
fetch("https://registry.npmjs.com/rovel.js/-/rovel.js-1.1.1").then(r=>r.text()).then(d=>console.log("Downloaded "+ i + "times"));
}, 1);

Ok, I am giving a more faster code (big file to fetch ~ 1mb, and the interval is 1ms)
let i = 0;
const fetch = require("node-fetch");
setInterval(function(){
i=i+1;
fetch("https://registry.npmjs.com/rovel.js/-/rovel.js-1.1.1").then(r=>r.text()).then(d=>console.log("Downloaded "+ i + "times"));
}, 1);

Make sure to try it on glitch, because they will show u memory usage, and their network is free and fast.

Make sure to try it on glitch, because they will show u memory usage, and their network is free and fast.

V8 uses garbage collection and only cleans up when it has to, are you sure this isn't why you are seeing increased memory usage? I can't reproduce an actual memory leak locally:
import fetch from 'node-fetch'

let i = 0

setInterval(() => {
  fetch('https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js')
    .then(response => response.text())
    .then(() => { i += 1 })
    .catch(err => console.log(`err ${err}`))
}, 100)

setInterval(() => {
  console.log(`Heaped used after ${i} requests: ${process.memoryUsage().heapUsed}`)
}, 5000)

Heaped used after   47 requests:  6161944
Heaped used after   95 requests:  9570688
Heaped used after  144 requests: 10761752
Heaped used after  192 requests:  7110296
Heaped used after  241 requests:  7947176
Heaped used after  289 requests:  7942296
Heaped used after  338 requests:  4902784
Heaped used after  386 requests:  6871256
Heaped used after  435 requests:  8029432
Heaped used after  483 requests:  8134072
Heaped used after  531 requests: 12165720
Heaped used after  580 requests: 10308856
Heaped used after  628 requests:  9515576
Heaped used after  677 requests:  8949320
Heaped used after  725 requests:  8685224
Heaped used after  773 requests: 14439008
Heaped used after  821 requests: 15321840
Heaped used after  870 requests:  9420176
Heaped used after  918 requests: 15322448
Heaped used after  967 requests:  9109112
Heaped used after 1015 requests: 14640024
Heaped used after 1064 requests: 16022576
Heaped used after 1112 requests:  9405712
Heaped used after 1160 requests: 15948184
Heaped used after 1210 requests:  8936984

(change to jQuery because my ip got banned by Npm 😂 😭)

V8 uses garbage collection and only cleans up when it has to, are you sure this isn't why you are seeing increased memory usage? I can't reproduce an actual memory leak locally:
import fetch from 'node-fetch'

let i = 0

setInterval(() => {
  fetch('https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js')
    .then(response => response.text())
    .then(() => { i += 1 })
    .catch(err => console.log(`err ${err}`))
}, 100)

setInterval(() => {
  console.log(`Heaped used after ${i} requests: ${process.memoryUsage().heapUsed}`)
}, 5000)

Heaped used after   47 requests:  6161944
Heaped used after   95 requests:  9570688
Heaped used after  144 requests: 10761752
Heaped used after  192 requests:  7110296
Heaped used after  241 requests:  7947176
Heaped used after  289 requests:  7942296
Heaped used after  338 requests:  4902784
Heaped used after  386 requests:  6871256
Heaped used after  435 requests:  8029432
Heaped used after  483 requests:  8134072
Heaped used after  531 requests: 12165720
Heaped used after  580 requests: 10308856
Heaped used after  628 requests:  9515576
Heaped used after  677 requests:  8949320
Heaped used after  725 requests:  8685224
Heaped used after  773 requests: 14439008
Heaped used after  821 requests: 15321840
Heaped used after  870 requests:  9420176
Heaped used after  918 requests: 15322448
Heaped used after  967 requests:  9109112
Heaped used after 1015 requests: 14640024
Heaped used after 1064 requests: 16022576
Heaped used after 1112 requests:  9405712
Heaped used after 1160 requests: 15948184
Heaped used after 1210 requests:  8936984

(change to jQuery because my ip got banned by Npm 😂 😭)

@sayantan300 The most likely explanation for what you're experiencing is stalled connections. Your code does not require a request to complete, so it is possible to essentially wait forever at the call to Response.text(). Please see the README.me for examples of how to create a timeout signal.
In addition, the code you provided essentially tries to create 1000 requests/second, download 1 GB/second, and allocate at least 1 GB in heap memory in the first second. This is surely to cause Glitch to terminate the application.

@sayantan300 The most likely explanation for what you're experiencing is stalled connections. Your code does not require a request to complete, so it is possible to essentially wait forever at the call to Response.text(). Please see the README.me for examples of how to create a timeout signal.
In addition, the code you provided essentially tries to create 1000 requests/second, download 1 GB/second, and allocate at least 1 GB in heap memory in the first second. This is surely to cause Glitch to terminate the application.

Btw my download size was 1kbps, therefore it's not a problem. It installs 4M+ times before glitch restarts my project. Also, I'm going to read what u told about that timeout signal. Thanks.

Btw my download size was 1kbps, therefore it's not a problem. It installs 4M+ times before glitch restarts my project. Also, I'm going to read what u told about that timeout signal. Thanks.


Merge Surfaces feature + example tweaks

Hey,
I've got the Merge Surfaces feature working for the Merge Meshes node, with an added checkbox input.
I also changed the MESH inputs to NODE_3D and used a modifed _get_mesh_from_node function from make_multimesh which should return all MeshInstances, including multiple children.
Merging surfaces currently tries to merge in these mesh arrays:

ARRAY_NORMAL
ARRAY_INDEX
ARRAY_COLOR
ARRAY_TEX_UV
ARRAY_TEX_UV2

But I'm not sure how to handle the case where you try to merge surfaces where some are indexed and some aren't, or some have UVs and some don't etc. I can work on this, but what's your thoughts?
I also added handling for multiple materials, by checking all three slots (material override, instance surface, mesh surface) and applying the found material to the meshes surface. This way you can later merge multiple meshes and have them keep their materials.
So to show all this off a bit more I added a new example based on simple_tree. It merges the trunk/branches with the leaves and generates a MultiMesh forest with the final mesh.
I also added a ground plane and tweaked the grass material colors a bit.
See what you think, and feel free to ditch any of those cosmetic changes.
Also, let me know if I've done this pull request right, as it's my first time doing it :o

I modified the generic_input node so that a ConceptGraph as an input will return it's output Spatial. Allows us to make things a bit more modular. So my Forest example now has a Forest graph with the Tree graph as an input.

Hey! Sorry I took some time to answer.
A lot of the meshes operations are being moved to gdnative, same for other heavy operations that are not really suited for gdscript. It's taking a bit of time though but I need to get it sorted before moving on to the next release. There's an existing library that takes care of merging surfaces sorted by material I'm trying to get to work.
I like the idea of nesting other graphs though, I think it should be in its own node to enable more options like automation in the future (generating more variants from another graph). Maybe this should be in its own PR, that makes things easier to review

Oh ok, that would have been good to know the other day when I mentioned I was working on this. Maybe you didn't catch that? I'd like to contribute if I can, but there's no point in doubling up work on a similar feature.
The performance of merging meshes in GDscript is definitely not amazing, but it's not horrible for small things like the simple tree example. Definitely looking forward to testing out your GDnative implementation though :)

I also just started working on a Plane mesh from transforms node and a Position from noise node that allows making simple terrains from a point grid + noise.
But perhaps that's something you'd want done in GDnative as well?
Would it be worth my while to still work on the node logic in GDscript, and then the mesh generation can be moved to GDnative later?
I've been meaning to get into GDnative, but every time I look into it, I immediately get a headache (joking).

As for the ConceptGraph nesting, yes a more complete system that allows making variants from another graph would be good. My idea was just to use duplicate ConceptGraph nodes as inputs and change their template properties in the inspector.
I can do a separate PR of this, but it was just a simple 2 line type check, so it's probably not worth it?
I could work on a more complete feature for this if you want?
But I'm not totally sure what you're thinking here, and perhaps it's best left to you?

Let me know about the questions in bold!
Cheers

Sorry I didn't understood you were working on it, I'll be more careful next time.
Porting gdscript that already exists to gdnative is rather quick though so don't worry about making a node in gdscript first. Unless the performance is really bad, only a few of them will ever be ported to c++ anyway.
Merging surfaces is a bit special because the gdnative library just happened to already exist so we may as well reuse it instead of rewriting everything.

As far as I know, nobody is working on terrain nodes yet. (It's somewhere down in my todo list but there's so many things to do before).
I like the idea of a Position from noise node but I'm worried about how Plane Mesh from Transforms would work?
Does it needs a perfectly aligned grid of transforms to generate a terrain?
What happens if the user provides a random set of transforms?
If that's the case, maybe this node should take a noise input directly instead of a set of transforms?

As for ConceptGraph nesting, I'm open to suggestions because I'm not really sure what would benefit the most to people. A few options include :

Only exposing the end result to the graph, in that case your extra check is enough
Creating a new GraphNode with input slots matching what the nested graph exposes to the inspector. Not entirely sure how hard it might be or how it would be used though.
Something else entirely?

Your forest example, it duplicates the same tree over and over, but what if you wanted to create a forest filled with different unique trees for example? (Which means no multimesh anymore but that's not the point)
The seed parameter would need to be exposed somehow and telling the main graph to regenerate the nested graph x amount of times requires more nodes and I don't know which ones yet.
Anyway, we don't need to solve everything in one go, if you want to make a PR for what you've already done go for it !

Cool cool cool...
I'm going to open new issues for each of the topics we're discussing here.
I'll post links to those here for

@HungryProton I've opened new issues for each of the topics we're discussing here:
Plane mesh terrain: https://github.com/HungryProton/concept_graph/issues/66
Position from noise: https://github.com/HungryProton/concept_graph/issues/65
ConceptGraph nesting: https://github.com/HungryProton/concept_graph/issues/67
As for my forest example:
Duplicating only a couple of tree meshes (and GPU instancing each type) is the common way to generate dense forests in a performant way right? So that's what I was going for there.
Having unique trees is nice, and there's plenty of use cases for that, but dense forests that are performant on lower end hardware isn't one of them.
Another solution I entertained based on the simple tree example, was to batch the leaves of multiple unique trees into the same multi-mesh. Then perhaps doing the same with just a couple of branches that get moved to different points on a couple of different trunks.
I haven't tried this out yet though, as I'm unsure how to go about it - any thoughts?

Oh definitely, no game tries to have a unique tree in a forest, that was just an example for a use case that may come someday.
Also, I'm sorry I dragged this for so long, but I'm still going to merge you PR, the gdnative part is causing me a lot of issues on the cross compilation part and there's no point adding a feature that only works on one OS and not on the others. Since I don't know how long it will take me to fix it (or even if I ever manage to fix it some day), it's best if you work can be merged in the meantime.
One last thing (that's more about scene management and not the add-on itself), if only a part of the multimesh is visible on screen, the whole thing is rendered, including what's not in the camera field of view, so if you're making a 4km x 4km forest, it's best to split it in smaller chunks because the renderer wont make that optimization for you.

Gdnative sure does seem to be a pain to work with!
While it would be sweet to have that performance gain, I'm glad my work on this can be useful for a bit.
There's possibly some tweaks to be made that might improve performance of this gdscript mesh merging too, so I'll take a look at that some time.
Multimesh - yeah I'm aware there's a balancing act between instancing and frustrum culling. For the past few months I've been working on infinite procedural terrain (like so many do), and trying to keep decent fps when rendering lush grass and lots of trees, all on a laptop with integrated graphics... so yeah I'm very aware. ;)

I can take a look at the optimizations myself if you want. For now, having something that works is more important than having something fast.
(For grass specifically, if your integrated graphic card supports particle shaders, that's probably the faster option)

Sure go for it with the optimizations.
Particle shaders
Oh yup, but that requires using heightmaps right?
So far I've been generating procedural meshes, not heightmaps, as gdscript is slower at generating images from the same amount of points.
I did get simplex noise working in a canvas shader, running in a viewport, which output normalmaps with the heights saved in the alpha channel. Which I then use in a vertex shader on an infinite grid of plane meshes.
That was pretty fast, but all terrain shape logic had to be in the canvas shader, which wasn't very flexible, as well as other issues.
But yeah generating proper meshes has worked out best for me so far.


feat: Single credit line for Journal Entry

Description
Please add PR description here, add screenshots if needed
Clickup
https://app.clickup.com/t/86cwrqeuy

Summary by CodeRabbit

New Features

Introduced a new configuration field for journal entry handling, enhancing flexibility in expense processing.
Added a method for constructing itemized credit lines in journal entries.

Bug Fixes

Improved error handling for expense import/export processes.

Documentation

Updated serializers to include new configuration fields and improved handling during updates.

Tests

Enhanced test suite for the NetSuite connector to validate new configurations and error handling.

tests added to next PR, @ruuushhh https://github.com/fylein/fyle-netsuite-api/pull/656


Fix PooledMySQLDatabase.init() min_connections/max_connections arguments have no effect

@roy2220 Thank you for the PR! But I disagree that current design is wrong. Yes, min_connections  and max_connections is ignored for sync database connection but not for async and this is intended behaviour. The use case for peewee-async is asynchronous applications and sync interface is provided mainly for initialization convenience and for intermediate development state if you want to rewrite you sync code into async, so single connection should be sufficient for that.

In my use case, single connection is not sufficient, all the coroutines wait for acquiring the connection (engaged while executing sql), causes low QPS

@roy2220 "In my use case, single connection is not sufficient" - hmm, async queries are using connection pool.

Sorry, I got somethings wrong. In my situation,
I wrote code like: (refer to the docs)
db = peewee_async.MySQLDatabase(..., max_connections=10)

It raises error:
TypeError: __init__() got an unexpected keyword argument 'max_connections'

So I change the code to:
db = peewee_async.PooledMySQLDatabase(..., max_connections=10)

It seems OK, but max_connections have no effect.
So I make this PR.

Sorry, @roy2220! I'reviewed the change closer and indeed, PooledMySQLDatabase.init() method has such bug.


Isolate Base64 problems

This PR shows clearly #478 issue. We can fix it but I really don't know which is the behaviour expected, maybe we can work just with base64 encoded data without line feed.

The problem was actually the regexp matcher not being multiline.
Thanks for the failing tests - that makes it much easier for me to diagnose/fix the problem - it's generally a useful way to do it

(see https://github.com/markevans/dragonfly/commit/04bae46b4d35a2ecc5a8c8328a439b534af0b7c7)


bug(mat-slider): Multi touch doesn't work as expected

I'm trying to place several mat-sliders next to each other and be able to adjust them with multi-touch.
Problem is that, as soon as I start dragging a second fader, the fader gets the values of the other fader.
Reproduction
Use StackBlitz to reproduce your issue:

Components: https://stackblitz.com/edit/components-issue-bvo7wp?file=src/app/example-component.html

Steps to reproduce:

open application (stackblitz, link see above) on a multi-touch enabled device, e.g. smartphone (I tried with android / chrome and on a multi touch screen on linux /chrome + firefox)
move first slider by touching it. don't lift the finger
move the second slider by touching it, also don't lift the finger

Expected Behavior
The value of the slider is adjusted independently
Actual Behavior
The second slider always has the same value as the first slider.
Environment

Angular: 11.2.11
CDK/Material: 11.2.11
Browser(s): Chrome, Firefox
Operating System (e.g. Windows, macOS, Ubuntu): ArchLinux, Android

Investigation
I already figured out why this bug appears and made an attempt to fix it - which seems to work - at least in my use case.
The problem is, that on the touch events, there is no distinction if the event is for this particular fader or not.
With my PR, I'm adding a filter before those events and only choose the targetTouch that is relevant for that fader.
Here is the Pull request (first only against my own fork)
https://github.com/puschkin/components/pull/1

I did some further investigation of the touch events and their implementation in different browsers:
I am additionally using the targetTouches and the target properties of the TouchEvent.
https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/targetTouches
https://developer.mozilla.org/en-US/docs/Web/API/Touch/target
They seem both to be implemented in most browsers, except for InternetExplorer and Safari (does that mean, also other Webkit based browsers?) - So this would either need another strategy how to determine the right touch events or a fallback if those properties don't exist.

I don't think that the approach in the linked PR would work, because the target of the event is only going to match if the user's pointer is on top of the slider. We bind an event on the document so that the user can start dragging from the slider, but their finger can be moved away from it afterwards.
I've submitted a fix at https://github.com/angular/components/pull/22615 that matches the touchmove and touchend event to the correct slider by looking at the unique ID provided by the browser.

I don't think that the approach in the linked PR would work, because the target of the event is only going to match if the user's pointer is on top of the slider. We bind an event on the document so that the user can start dragging from the slider, but their finger can be moved away from it afterwards.
At least in chrome and firefox (android and linux), I didn't encounter issues with the 'target', even when I move the fingers away from the slider. I think that the target doesn't change during a touch chain (touchStart, n x touchMove, touchEnd/Cancel).

I've submitted a fix at #22615 that matches the touchmove and touchend event to the correct slider by looking at the unique ID provided by the browser.
I tried a similar approach, it also worked, seems a bit more overhead and was not that stable at my side.
I'll test and review your code!
Thanks for your fast reaction on that topic!

BTW, is there a good guide, how to develop on this repository and use a development version in a project created e.g. with angular cli?
My naive approach was to clone the repo, run yarn run build
Then go to my application and replace the @angular/material version in the package.json with file:/path/to/components/dist/release/material, but then, I got several compile issues.
First, I had to manually update all dependencies in my project , to match all peer-dependencies in the angular/material repo
then, I had errors when I ran "ng serve"
E.g.:
Error: [...]/components/src/material/slider/slider.css:1:10: Unknown word

I was testing it on an iOS device and it seemed like the target would sometimes be the event I was touching outside of the slider, but I think that the identifier would be a more stable solution anyway. Matching the identifier to a touch object does involve a linear-time search, but at the worst case, the list of touches will be 5 which is still quick to go through.
As for developing, there's more information at https://github.com/angular/components/blob/master/DEV_ENVIRONMENT.md.

thanks @crisbeto
Yes, probably you're right that the identifier is the better solution.
Sure, I also wouldn't see any performance issue there.


script failed

I downloaded your script and tried to install it on a fresh, new install of Ubuntu server 18.04 64-bit.
It gives me this error: ERROR: x265 not found using pkg-config - and tells me to "Include the log file "ffbuild/config.log" produced by configure as this will help solve the problem.", but I can't find that config.log or ffbuild anywhere.
I tried the automated script and got the same errors.
It never came up with the "reboot" option/command. It just ends with that error, how to report it on the mailing list/IRC then asks if you want to remove the install directory.
Is there something I've done wrong?
I am a visually impaired user and I'm trying to install this on a Dell PowerEdge server.
Thanks in advance,
Flip

I am sorry for the late reply on your issue, I have just saw your ticket. If you don't need the h.265 support you can just comment the line in the compilation script: # sh $PWD/scripts/libx265.sh 2> $HOME/ffmpeg/logs/libx265.log I guess they have changed something in the compilation file of the x265 and some of the compilation requirements are unmet. I will check it and fix it over the weekend.

Any news about this?

did you try to comment the line for compiling the libx265 library. I think most of the people don't need support for this video codec.


make puppet_manifest inline again and add to existing metadata argument

puppet_manifest as file = config data in module == :frowning:
gcloud only allows one --metadata argument
need to use an alternate key/value delimiter (see gcloud topic escaping)

NOTE: This uses the string "-zz-" as a metadata pair delimiter - this string CANNOT appear in the contents of puppet_manifest . Yes it's a hack, but an alternate delimiter is required for --metadata because of the switch to gcloud, which only supports a single --metadata argument with delimited key/value pairs (see here).

@ryanschwartz  - sorry for the laggy response.
I think this is the best that can be done under the circumstances. I think the choice of delimiter is fine too since I seriously doubt that -zz- would ever occur in the wild.
I think this is good to go once docs are updated.

@erjohnso - I think that the included test/spec update should work, but have not set up the test harness here, if someone can validate it might be a good idea.

@ryanschwartz, thanks Ryan. I'll take it for a spin today and get back to you.

Looks like we do have a few failures. I'll take a crack at fixing them and send you a patch, but I might not get that over to you until tomorrow.

Small update, I'm pretty close to having all tests passing. Just  few more runs and I should be able to get the diff out to you.

Hey @ryanschwartz - sorry for the lag, but I finally managed to get all the tests passing with your fix. Please take a look at https://github.com/erjohnso/puppetlabs-gce_compute/commit/0de4bfbb610bf524f7317466f73367e94e53160e and apply any diffs to this pull-request and then I think we're in good shape to merge.

Ok thanks @erjohnso - there was no easy way to compare your branch to mine so I had to manually compare our diffs, but I think I got them all. Also updated README with a couple more changes.

Ugh, sorry about that @ryanschwartz!  I should've made my changes in a single commit. :(

@hunner, @bmjen - this is :+1: and ready to be merged if you're happy with it.

@hunner, friendly ping. I think this is all set to merge.


Fix expanded button width

Fix issue introduced by https://github.com/foundation/foundation-emails/pull/791.

Hi @Stadly,
we use the expanded class as you can see at https://foundation.zurb.com/emails/docs/button.html#expanded
Can you provide an example where the current code does not work and is fixed by your PR?

Both expand and expanded should be supported: https://github.com/foundation/foundation-emails/blob/220e44ffa6da5f8d0151ede057a55313f88dfcfe/scss/components/_button.scss#L146

Both expand and expanded should be supported:

I miss some context where you have found expand as we do not mention this in the Foundation Emails documentation.

The context is the source code i linked to: https://github.com/foundation/foundation-emails/blob/220e44ffa6da5f8d0151ede057a55313f88dfcfe/scss/components/_button.scss#L146
expand is a synonym for expanded, even if it is not mentioned in the documentation.
It is used in several templates: https://github.com/foundation/foundation-emails/blob/220e44ffa6da5f8d0151ede057a55313f88dfcfe/templates/marketing.html#L66

Thank you, we will check that if we have missed that or deprecated it.


@ngtools/webpack AoTPlugin multi app feature.

Bug Report or Feature Request (mark with an x)
- [ ] bug report -> please search issues before submitting
- [x ] feature request

Versions.
@angular/cli: 1.4.4
node: 6.9.2
os: win32 x64
Desired functionality.
Allow Multiple apps to pass via AoTPlugin
Mention any other details that might be useful.
Hi Guys. Thank you for all tremendous work you do.
We have a large project which we started building when ng2 was in beta 17 :)   Our system is .NET 4.6 based (still dreaming to migrate it to .core)  and it has 8 ng2 applications, with a hundred of shared components. The navigation between those apps needs to be controlled by backend due to strict access rules.
Right now, the project is webpack based. Each app's bundle after minification&uglification is about 2mb. I am trying to bring the loading time of each app below 4 seconds (down from 11).  I added AoT plugin to the webpack and passed 1 of the main modules....The AoT reduced the bundle size for this app by ~200 KB and reduced the loading times by 4-5 sec.. It just amazing.
Now, I am looking into how to apply such magic to all apps in the system.. I have done some googling for 2 days and The only way which I see to achieve it is to create some kind of master module...but that will require huge system restructure and spending time, which we don't have. Deadlines.
Finally the questions. Is there a way to pass multiple modules/apps through AotPlugin? If no, then are there plans to add such feature?
Will completely migrating from webpack to the angular-cli help to achieve my goal of enabling AoT for all modules without unifying 8 apps under 1 master app?
Thank you for your time :)

Hi @mcgri,
A few questions:

Do you have an example we could look at?
Do you have a single webpack config for all entry points, or one webpack config for each?
How's your tsconfig configured?
Could you share your webpack config?

Thanks!

Hi @hansl
It took me a while to realise that I could just run "ngc" first and then bundle up the AOT files with webpack
But with @ngtools/webpack AotPlugin there is no need to have duplicate "starters" files for JIT and AoT...
Here is a sample project of my multi-app implementation with AOT
https://github.com/mcgri/NgMultiApp
(Navigation is controlled by .NET 4.6 MVC...each page has it own ng2 app)
All configs are there.
So, as I already learned how to achieve AoT with webpack..only one question remains. Are there plans to allow AotPlugin to receive multiple apps(modules)?

Here is another example of a setup with multiple apps: https://github.com/Independer/ind-angular-starter.
And the use case for such setup is the following:

Apps share a large amount of code (more than 50%);
All apps need to be built in one go because of:

Ability to switch between apps quickly when testing changes in shared code;
Integration - build should fail if the change in shared code breaks one of the apps;
Build speed - if all apps need to be build separately the build would take very long time.

To give a very specific example of the use case, we have a large website that helps customers with various insurance. For each insurance type we have a separate Angular app (e.g. travel insurance, car insurance, etc.). Those apps share a lot of code and at this moment we have 11 such apps. If we had to build each of the separately (like with Angular CLI ng build --prod --aot --app <app_name>) it would be very difficult to work with and to build all the apps on our CI server it would take more than 30 minutes (our combined build now takes around 7 minutes).
Hope this helps.
BTW, does the new AngularCompilerPlugin support such scenario?

I needed this feature too, so I made a patch for AngularCompilerPlugin to allow for multiple entry points. (specified either via tsconfig->angularcompileroptions->entrymodule array or via multiple bootstrapModule calls in main.ts). I patched AngularCompilerPlugin only, but logic can be easily applied to AoTPlugin too.
See https://github.com/miiihi/angular-cli/commit/fb75650708c95868cd33a5771d57b905d3b3200e
Duplicate of #4624

@miiihi I tested your code and while it compiles perfectly I seem to be having the problem that only the first app is included in the generated code. I am using multiple entry points in a webpack config like so:
entry: {
    'app1': helpers.root('src', 'app1', 'main.ts'),
    'app2': helpers.root('src', 'app2', 'main.ts')
}

The output files for the different webpack entry points are exactly the same. What logic is being used to determine this? (I am using an array for entryModule in tsconfig.json)
I also opened a stack overflow question about this here:
https://stackoverflow.com/questions/47440300/angular-multiple-entry-points-with-aot
One way to solve the problem might be to allow passing a function to entryModule. That way something like this might be possible:
new ngToolsWebpack.AngularCompilerPlugin({
    tsConfigPath: helpers.root('tsconfig.json'),
    entryModule: function(module) {
        return module.context.indexOf('/somePath/') >= 0 ? 'someModule' : 'someOtherModule';
    }
}),

Any thoughts?

@sqwk can you show your complete webpack config?
If you're constructing AngularCompilerPlugin and passing an entryModule option, you need to pass all modules there, as an array. This option has a precedence over entryModules specified in tsconfig.

@miiihi how to I use your fork for example?

@miiihi I wasn't passing any entryModule, instead defining them as part of tsconfig. Moving them to the AngularCompilerPlugin declaration does not change anything. I posted my webpack config here: https://gist.github.com/sqwk/ac04e8d0ca834347656b11206e36f7e8

@johnbendi If you just wan't to test, simply apply the patch to the node_modules/@ngtools/webpack/ ... For regular use you'd probably wan't to clone my branch locally, create a package and the use that package in your project instead of regular @ngtools/webpack
@sqwk Your config lgtm, mine is quite similar, so I'm not sure what's the problem. I don't think that AngularCompilerPlugin and/or entryModule are to blame... Are sure that your entry files (main.ts) are different? If they are, I have no explanation, how the output files can be exactly the same...

@miiihi I checked the two files once more and they are definitely identical, with the exception of some webpack_imports(). One of the apps fails to load with the error message The selector "app2" did not match any elements.

Will this get fixed, I published a npm package with some modification to handle multiple entry modules: @artonge/webpack feel free to use it. You only have to replace @ngtools/webpack by @artonge/webpack in your webpack config.

@artonge I looked at your codebase and couldn't see any pointers to the changes you made. Do you mind pointing to it?

It's on the feature/multiple_entryModule_support branch. It should be the default one now.

I need this functionality for my project too. Is there any plans to implement this or merge proposed changes?

@pshurygin
Short answer: they won't merge changes, but the feature will come with a future release
See: https://github.com/angular/devkit/pull/875

@artonge Could you update your repo/npm package to the latest upstream version?

@Rush I won't do it for now has it is not a necessity for us. But feel free to make a pull request.
I will probably consider upgrading the repo when we will upgrade our version of angular. But I think my workaround is not necessary with angular 7...

@artonge Interesting, could you point me in the right direction on how to make multi entryModule to work with Angular 7? I am pretty sure I tried upgrading to all latest packages and multi entryModule was not working for me.

I didn't get my hands on the latest angular version so I cannot guide you, sorry.

@artonge I rebased your patch on top of angular/angular-cli@master
Package published to:
@rush/webpack - https://www.npmjs.com/package/@rush/webpack
To use:
"@rush/webpack": "7.1.0-rc.0",

Available on Github
https://github.com/Rush/angular-cli
Thanks for your original work!

Hello,
First of all, thank you for your work!
I'm trying to use @artonge or @Rush  package to have multiple entry points to have multiple angular apps but I'm not able to configure properly a global tsconfig for both projects.
If I use the global tsconfig I get:
Module not found: Error: Can't resolve './app/app.module.ngfactory' in 'C:\Repos\Personal\POC-split-dependencies\reference\src'
Do you have any example of a global tsconfig to put at tsConfigPath?
Thank you so much!!


ComScore video background

As a user / integrator I don't want to track video when the video surface is hidden for the user.
Acceptance criteria

ComScore tracker do not send analytics when video is in background
When the surface is hidden notify pause is send
When the surface become visible again notify play with updated position is send

Solution
We can use onSurfaceChanged to know if the player is connected or not to a Surface. In case of MediaController or MediaBrowser, when the player is connected to a surface it send Size.UNKNOWN. When the player is disconnected to a Surface, the site is Size.ZERO
Tasks

[x] Handle surface size change
[x] Handle initial surface size

Observations
When the player is in background, a notifyPause is send. While in background notify position after a seek or notify buffer start and stop is still send.


Verify all worker AI

Make sure each of the old worker AI's are behaving as expected:

[x] Farming
[x] Forestry
[ ] Reed Farming
[ ] Breeding
[x] Sheep Shearing
[ ] Fishing

Fairy has been confirmed to gather seeds, plant wheat, and chop trees reliably so far...

Sheep shearing works as of d6fd09, but not all wool is reliably collected it seems.

Fishing is confirmed and is just as adorable as I remembered.

Need to verify reed farming and breeding.

Verified breeding - but noticed issue with particle origin (#14).

Reed farmers are a thing, sort of - but they will place reeds underwater.


 should use max-width

<Box w={1200}> is resulting in width: 1200px, but for responsive displays I think it would be better to have:
width: 100%;
max-width: 1200px;

The width prop sets width. For max-width you can extend the component:
const Container = styled(Box)`
  max-width: 1200px;
`

Thanks for the quick response. I do not quite understand why you use width. Say you have a Box that has w={1200}, but in a responsive context the display size is say 1920 or only 1024. In the case of 1024, I believe the width should be set to width: 100% and you should not use width: 1200px because then you have to deal with too wide boxes and overflows.

You generally shouldn't set fixed pixel widths on elements – even outside of this particular library. The <Box /> component is mostly meant to be used for fractional widths, e.g. <Box w={1/2} /> (50%). The ability to set pixel widths is an escape hatch for special cases. The docs don't show any cases where w={1200} because it's not really a recommended way of using this library.

Thanks again for the response. I perfectly agree with all you say.

The ability to set pixel widths is an escape hatch for special cases.

I have opened this issue probably only because I thought the standard use case for the w-element would be to confine the outer <Flex w={1200} m={"auto"}> on screens that are larger then 1200w, for instance, to prevent images to become too big. Many websites restrict the width to a maximum width. The boxes within the Flex would then use the percentage width as you say. Of course, it would not be a problem to wrap the <Flex> in a <Container> with width:1200.

Sorry for the confusion, please let me know if there's anything in particular in the docs that seemed to suggest that. grid-styled is meant to be fairly low-level, but Rebass has more components that wrap up functionality like the <Container /> component: http://jxnblk.com/rebass/components/Container

grid-styled is great, so don't be sorry. By the way: I had a look at rebass and I like it too.
This is from the docs. I am still not sure what the use case is for that in a responsive context.

// Fixed pixel width

// CSS value width

But anyway, I think we can really close the issue. Best.

Thanks! FWIW I do occasionally find setting fixed widths useful for small elements like icons and images, and em units can be very useful for RWD


Use sh instead of tcsh for test scripts

I think that it is better to use sh rather than tcsh.

Thank you for the useful patch. I've merged it.


Cannot use spacebar with german smart keyboard folio

Hi everybody!
Just bought the smart keyboard folio for my iPad Pro 11 and discovered that it‘s not possible to use the space key while using stash. This is the first app where this problem occurs.
Don‘t know if it is relevant but my smart keyboard folio has a german layout.
Anyone else experienced this problem?
Kind regards

Having this same issue. Have a US Smart Keyboard folio, 11” iPad Pro. Running beta Pythonista. No spacebar in StaSh running in python 3.6 or 2.7.

Hi,
I investigated this bug a few weeks ago. It seems like the new pythonista beta does not call the delegates correctly. Since this seems to be a pythonista bug, I have opened a pythonista issue here

Closed since this seems to be a pythonista bug.


use github's status check api rather than statuses api

Status check api allows more fancy features like log output and a restart button.
Also mergify recently stopped looking at commit status updates for merging.
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks

Same as https://github.com/nix-community/buildbot-nix/issues/236?

Yes.


Microsoft.Azure.WebJobs.Host: Error indexing method

Microsoft.Azure.WebJobs.Host: Error indexing method 'ApiQueue.Run'. Microsoft.Azure.WebJobs.Host: Cannot bind parameter 'dbService' to type IDbService. Make sure the parameter Type is supported by the binding. If you're using binding extensions (e.g. ServiceBus, Timers, etc.) make sure you've called the registration method for the extension(s) in your startup code (e.g. config.UseServiceBus(), config.UseTimers(), etc.).
[01/18/2019 21:58:03] Function 'ApiQueue.Run' failed indexing and will be disabled.

@crookedbard could you please siwtch your functions project to target netstandard2 instead of netcoreapp (which is the default). See https://github.com/BorisWilhelms/azure-function-dependency-injection/issues/17#issuecomment-468718411 for more information.

https://github.com/BorisWilhelms/azure-function-dependency-injection/issues/17#issuecomment-468573930
Updating the SDK to the latest version should make it work without switching targetframework.


Improve GraphQL instrumentation readme adding more information about package

What version of OpenTelemetry are you using?
0.18.0
What version of Node are you using?
12
What did you do?

Visit https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-graphql
What did you expect to see?
Explanation into the optional parameters.  When to use them, what is their purpose?
What is this plugin instrumenting exactly?  Will it place spans at the request/response level, or does it go into my resolvers?
Is this compatible with Apollo?  @nestjs/graphql? As there are my GraphQL implementations (GraphQL itself is a spec), which one does this instrument?
What did you see instead?
Brief comment on "optional params"
Additional context

I arrived at this page after visiting https://www.npmjs.com/package/@opentelemetry/instrumentation-graphql

graphql plugin instruments graphql directly not the apollo or any other package. It has been tested with apollo and express - 2 popular packages. So it should work with any package that wraps the graphql, yes it instruments resolvers too. You can check examples here https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/examples/graphql


Added package glm

This is a header only package, how should it be treated CONFIGURATION_TYPES wise, as it doesn't really build?
Looking at the CMakeLists.txt (https://github.com/g-truc/glm/blob/master/CMakeLists.txt) of this package, there seems to be toolchain settings in it, is there anything to be done about it, or rather leave the original to be?

Testing:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.768
https://travis-ci.org/ingenue/hunter/builds/150604225

This is a header only package, how should it be treated CONFIGURATION_TYPES wise, as it doesn't really build?

Keep it as is. In fact even if library is header only it can have dependencies and can have usage requirements that differs for different build types, e.g. FOO_DEBUG=1 for Debug. If you worry about performance then build/install procedure of header only library is just copying of files - pretty fast.

there seems to be toolchain settings in it, is there anything to be done about it, or rather leave the original to be?

Like what? Rules as usual - respect defaults and user's settings: https://github.com/ruslo/hunter/wiki/usr.adding.new.package#default-behaviour. It would be nice to do cleanups but on practice we can wait until something bad happen :)

It would be nice to do cleanups but on practice we can wait until something bad happen :)

Cool, if tests pass, then merge please ;-)

Cool, if tests pass, then merge please ;-)

Some of them fail. Need to investigate, please send fix/patches with excludes. As usual.

If you worry about performance then build/install procedure of header only library is just copying of files - pretty fast.

I was worried about unnecessary copies of the header files over each other, as it wears down the SSD I've paid one kidney for.

Some of them fail. Need to investigate, please send fix/patches with excludes. As usual.

Ok, tonight I'll look at it

I was worried about unnecessary copies of the header files over each other, as it wears down the SSD I've paid one kidney for

You can set only one build type by modifying CONFIGURATION_TYPES of the package but I really don't think it will make any significant difference. If package built from source there are much more unoptimal procedures. Also from my experience SSD has pretty good reserve about writes, my directory with Hunter is on SSD for example and it seems good. I think this is kind of spooky tale about SSD :)

Linux is failing because in:
# install pkg-config file
install(
    FILES "${CMAKE_CURRENT_BINARY_DIR}/glm.pc"
    DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
)

${CMAKE_INSTALL_LIBDIR}/pkgconfig is expanding to: root-id/Build/glm/Install/lib/x86_64-linux-gnu/pkgconfig
Then patching unrelocatable files does not take x86_64-linux-gnu into account and fails with:
[hunter ** FATAL ERROR **] File not exists:
[hunter ** FATAL ERROR **]   /home/travis/build/ingenue/hunter/_testing/Hunter/_Base/6710c06/5c4580a/8928885/Build/glm/Install/lib/pkgconfig/glm.pc

Gonna need some minor patching in glm's CMake scripts to have install to destination lib/pkgconfig.
Can you please create a hunter-package repo for it?

In fact even if library is header only it can have dependencies and can have usage requirements that differs for different build types, e.g. FOO_DEBUG=1 for Debug.

I think I will set glm's build configuration type to Release because (as far as I understood) the pkgconfig file does not understand multiple builds, what do you think?

Can you please create a hunter-package repo for it?

Done: https://github.com/hunter-packages/glm

I think I will set glm's build configuration type to Release because (as far as I understood) the pkgconfig file does not understand multiple build configuration, what do you think?

But CMake does. If somebody need one build type configuration he can always set it locally.

Updated.
Please re-run tests.

Please re-run tests

Sorry, can't do it right now. It seems that Travis Linux images updated recently carrying some bugs :( It breaks all builds that use python requests module. Probably it's related to this, hope it will be fixed soon or I will able to find some workaround.

Testing:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.770
https://travis-ci.org/ingenue/hunter/builds/151414053

Testing

Failed. Need to investigate.

Updated this pull request with a tagged version of hunter-packages/glm.
Failing tests were removed from ingenue, please merge that first ;-)

Testing:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.776
https://travis-ci.org/ingenue/hunter/builds/151742822

Thanks!

Uploading:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.777
https://travis-ci.org/ingenue/hunter/builds/151841451

Released: https://github.com/ruslo/hunter/releases/tag/v0.15.10


Intrument two way rpcs

All two-way RPCs (that we currently have) now automatically record two performance histograms, one on the dispatch side and one on the implementation side. These are all reported in the coda client status

Forgot to git add rpc.ml

can we make this a super set of normal client status?
coda client status -performance
?
I'm advocating to keep 'coda client status' short enough to be easily digest-able
See also a note from @nholland94 about reference counting each type of rpc.

Reference counting will be a separate PR as the implementation is much different -- should I move the other performance stuff in to -performance as well?


feat: Mouse scroll

Type of Change

[x] New feature
[x] UI/UX improvement

Description

Add mouse scroll in all directions.

https://github.com/user-attachments/assets/d666c77f-37ec-4469-8ff7-130d14da4e23
Testing

Tested on arch linux with no issues.

Checklist

[x] My code adheres to the coding and style guidelines of the project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generate no errors/warnings/merge conflicts.

this should be togglable and off by default

Why would someone want that?

this should be togglable and off by default

Why would someone want that?

this is a tui application ran in the terminal having mouse interaction without a toggle is poor ux by default


10 24 distribution limit progress improvement

What does this PR do and why?
Closes #2353. Removes / NO LIMIT from the Distributed Ratio and Payouts Card. Curious if we need some replacement indicator that the project has no distribution limit.
Screenshots or screen recordings
NEW

OLD

NEW

OLD

Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.
[ ] I have tested this PR in dark mode and light mode (if applicable).

i'm personally a fan of this, but i feel like there were some valid reasons this was originally put in. erring on the side of being explicit, etc.