Trying to resize images but getting pngload_buffer: libspng read error sometimes

Users upload an image file in an input tag. They can crop images client side so that the result is always a square base64 string png image and then I'm trying to resize them server side with sharp to always be 512x512 base64 string. I'm working with sveltekit and using sharp ^0.33.2, if that matters.
Code:
let parts = pfp.split(';');
let mimType = parts[0].split(':')[1];
let imageData = parts[1].split(',')[1];

let bufferImg = Buffer.from(imageData, "base64");
let resizeBuffer = await sharp(bufferImg).resize(512, 512).toBuffer();
let resizedImg = resizeBuffer.toString("base64");

At first I thought it might have to do with the uploaded image file size or dimensions being too large but that doesn't seem to be the case necessarily.
Original file's size, widthxheight, image type:

768KB 2048x2048 png: works
799KB 4096x2304 png: works
834KB 648x976     png: breaks
41KB 324x488       jpg: works
426KB 2316x3088 jpg: breaks
801KB 1920x1080 jpg: breaks

Please provide a sample image that allows someone else to reproduce.

I note you've edited your post to include some images, which work for me. Please provide images and code that allows someone else to reproduce consistently. (My best guess would be that this relates to networking, or that there's a race condition in your code/logic not yet provided.)

Thank you for responding. I"ll include the base64 string of the cropped images in text files and maybe they'll reproduce the issue.
image1.txt
image2.txt
import fs from "fs";
let imageData = fs.readFileSync("image1.txt", "utf8");

let bufferImg = Buffer.from(imageData, "base64");
let resizeBuffer = await sharp(bufferImg).resize(512, 512).toBuffer();
let resizedImg = resizeBuffer.toString("base64");

@jf7689 Were you able to make any progress with this? The files you provided are not valid base64.

Closing due to inactivity but please feel free to reopen with valid base64-encoded images if further help is required.

@lovell I'm getting a very similar error with this piece of code:
let newBuffer = await sharp(`path/to/file`)
              .rotate()
              .resize({ width: 1500, height: 1500 })
              .webp()
              .toBuffer();

With both of these files:

GIves this error:
{"stack":"Error: pngload: libspng read error\n    at Sharp.toBuffer (/var/www/api/node_modules/sharp/lib/output.js:161:17)\n    at /var/www/api/src/jobs/optimize-image.ts:121:16\n    at step (/var/www/api/src/jobs/optimize-image.ts:33:23)\n    at Object.next (/var/www/api/src/jobs/optimize-image.ts:14:53)\n    at /var/www/api/src/jobs/optimize-image.ts:8:71\n    at new Promise (<anonymous>)\n    at __awaiter (/var/www/api/src/jobs/optimize-image.ts:4:12)\n    at /var/www/api/src/jobs/optimize-image.ts:84:12\n    at Array.map (<anonymous>)\n    at /var/www/api/src/jobs/optimize-image.ts:75:25\n    at Array.map (<anonymous>)\n    at /var/www/api/src/jobs/optimize-image.ts:64:8\n    at step (/var/www/api/src/jobs/optimize-image.ts:33:23)\n    at Object.next (/var/www/api/src/jobs/optimize-image.ts:14:53)\n    at fulfilled (/var/www/api/src/jobs/optimize-image.ts:5:58)\n    at processTicksAndRejections (node:internal/process/task_queues:95:5)","message":"pngload: libspng read error"}

@simonv3 If you still require help, please open a new question issue and provide the images in a .zip file or similar to avoid GitHub manipulating or "fixing" them.
https://github.com/lovell/sharp/issues/new?assignees=&labels=question&projects=&template=question.md


move include files to <saffire/*.h> (ref #217)

Fix #217

Sorry. Fixed :smile:

Thanks.. will try and merge this later today..

Thanks @steazzalini


Added Gameplay Time Functionality

Fixes Issue🛠
With this PR, the player will be able to choose Gameplay Time while playing the game.
Closes #97
Description👨💻

I have added a function chooseGameplayTime() that will be triggered when the game starts.
The player will be able to choose time based on his/her wish
I've manipulated timer with the help of time chosen by the player.
Eventually I've run the decreasetime function that decreases time periodically.

Type of change📄

[x] New feature (non-breaking change which adds functionality)
[x] Made sure that the feature added is completely responsive.

How this has been tested✅

Checklist✅

[x] My code follows the style guidelines of this 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] I have added demonstration in the form of GIF/video file
[x] I am an Open Source Contributor

Screenshot 📷 :

Video/GIF 🎥
demo24.webm
Would be glad if you'd merge this PR. @Rakesh9100 😃 👍

Thank you @Rakesh9100 Means a lot bhaiyaa! :smiley:


Add a small delay to let finish programming of interface

Signed-off-by: Serguei Bezverkhi<EMAIL_ADDRESS>

@mestery I think it is safe to merge out of 4 times, it failed only once and on something which was not related to the change.


Bump sqlds and grafana-plugin-sdk-go for error source improvements

This PR updates sqlds and grafana-plugin-sdk-go to include improvements to error source done in https://github.com/grafana/sqlds/releases/tag/v4.1.4 release.

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


Create Fizzbuzz.dart

Dart program to solve Fizzbuzz used a new way which was not before in the repo

thx


Added howler package

Added package for howler audio library.
Decompiled the Retyped.howler package and modified it to work with H5.
I added a build-h5-howler.yml as well. Can you make sure that's correct? (I just replaced everything with howler from the p2 yml)
I hope I got everything right, so you don't have to change anything. Let me know if I didn't!

Kinda unrelated, but this is using the howler audio:
https://ldjam.com/events/ludum-dare/48/debt-collector
Thought it might be fun to see what I'm using H5 for :)

@thomz12 package is already online: https://www.nuget.org/packages/h5.howler/ ✨
really nice work with the game - will give it a try here 😄


README says prost generates module hierarchy following package keyword

README file is misleading regarding prost generating modules following the package keyword. It says "All Rust types generated from the file will be in the foo::bar module." but as far as I can see using the example found here: https://github.com/danburkert/snazzy this is not the case.
Instead it is up to the user to work with mod and include! and recreate the modules hierarchy following the package value.
Am I correct or is there another way to do it ?

I guess the include_file() method from prost_build::Config is implementing the expected behaviour.
https://docs.rs/prost-build/latest/prost_build/struct.Config.html#method.include_file

docs.rs/prost-build/latest/prost_build/struct.Config.html#method.include_file

oh, this solution works for me too, thank you!
prost's authors should definitely mark it somewhere in README

That's also what I was looking for.
A good thing that it is already available, but as beautyfree said:

it should be described on the main documentation page,
I would even recommend to generate the file by default with name 'mod.rs' (that's what protobuf seems to do).


Add conan rule

Note that rules like this will be more declarative in the refactor I've been working on when I have time (it uses interfaces and splits up architecture/rule stuff, and will be easier to layer stuff with).


fix: unbreak search after merging catalog client change

Should have rebased the catalog client change before merging...

@emmaindal sorry - my bad!

Merging this to unblock failing CI. 🙇


Add results to documentation

Is your feature request related to a problem? Please describe.
N/A
Describe the solution you'd like
Add results to papper
Describe alternatives you've considered
N/A
Additional context
Add results and observations to documentation, comparing results from ML with DL

This modification requires a documentation resume due to the new 80 pages restriction.
The document have currently 92 pages without results study

done


The aar on jcenter may has some problem.

When i use the aar  on jcenter, something was wrong.
If i use the aar made by the master project, it can be OK.
So i wonder the aar on jcenter may has some problem.

hi, i make a project use the aar from jcenter,and it works well, can u tell me more about the errors?

This problem happened when I use version 0.2.0:
Error:(21) No resource identifier found for attribute 'fm_centerBottom' in package ...
And now i use version 0.2.3，everything is right.

:)


Dockerfile improvement

Move nsswitch, tzdata, ca-certificates to builder stage
Dockerfile create a scratch container
Add new Dockerfile.alpine

Q
A

Bug fix?
no

New feature?
yes

API breaks?
no

Deprecations?
no

Related tickets
fixes #2160

License
Apache 2.0

What's in this PR?

We want to use scratch instead of alpine
Why?

e.g: security reason, size, etc
Additional context

Checklist

[x] Implementation tested (with at least one cloud provider)
[x] Error handling code meets the guideline
[x] Logging code meets the guideline (TODO)
[x] OpenAPI and Postman files updated, client regenerated (make generate-client) (if needed)
[x] User guide and development docs updated (if needed)
[x] Related Helm chart(s) updated (if needed)

Just to make it clear: the primary reason is security. Size does not really matter (alpine is about +6MB)


1.0.2 Binaries

Are there no associated binaries for this release?

Uhh not yet. Need to make one. You can always fake it by having the maputnik server run and then download the zip and open the html page locally (or even go to the webpage and open).
It will always try to connect to localhost (your local maputnik server) first before using local storage.


remove my ssn (#1) 078-05-1120

I appreciate your commitment to transparency and learning, however I would prefer if my personal ssn was omitted from the dataset. It's important to protect against potential threats. Thank you for your consideration

Thank you for your attention to this matter.
Given the significance of this request and its impact, we’ll need to initiate the appropriate processes. I will proceed by generating a Jira ticket to formally document the request and assess the work effort involved. Once scoped, we will prioritize it in alignment with our current sprint objectives and resource availability. Please expect further updates pending approval and estimation.
Thanks for understanding.

Approved and merging https://github.com/users/PatrickJS/projects/1?pane=issue&itemId=74990985

Wait this user is lying. That's my SSN

I really appreciate how closely @PatrickJS is following professional practices. Cheers. Retardio

this has to be one of the greatest PR's ever made.

In case anyone thinks this is real: https://www.ssa.gov/history/ssn/misused.html

This has to be fake. That JIRA ticket got solved within 24 hours.


Update Metadata | Add COPYING | Add Screenshots

Recursively checked for licenses.
Fixed problems in the address.
Will be screenshots

@quozl Fine to me, I will drop this commit.


[FEATURE REQUEST] Driver license exam

Describe the feature
Implement the functionality of the driver's license exam
The feature is enabled on the Features page.

If the function is active, the "DL exam" item is displayed in the sidebar.

The page specifies the parameters of the function:

the need to pass a theoretical exam
the need to pass a practical exam
exam cost settings
setting the cost of the categories of the driver's license

When enabled, the license block is read-only on the citizen page.

When enabled, a link to the exam administration page is displayed in the police controller menu

The exam page displays data:

examinee
the status of passing the theoretical exam
the status of passing the practical exam
the categories that the examinee receives
total cost of passing the exam
general status of passing the exam

The number of columns is determined by the function settings

On the exam page, you must select a citizen who will pass the exam and categories
Cost is automatically calculated

Theory exam block will not be displayed if disabled in the function settings
If the theory exam fails, the entire exam fails.
If the entire exam is passed, the citizen is automatically given the categories declared in the exam.
Additional Context
No response

Does still allowing editing of other licenses such as weapon and ccw? @pp2amd6

The functionality is very similar, but these are different exams.
The exam for a driver's license and possession of a weapon can have different settings, so you cannot show all of them together


Create a new version

Could you create a new release version from the updated master branch for that change of issue #81 is available as gradle dependency?

that would be really helpfull

Bugfix version 1.0.1 has been tagged and created in bintray. You may reference 1.0.1 within gradle to take advantage of this #81 bugfix

compile 'com.willowtreeapps.spruce:spruce-android:1.0.1'

Thanks!

My pleasure! Thank you for all of your help and support. Enjoy the new release.


GPU translation currently broken?

It outputs 3 lines then exits, no error message. Script found in /home/bhaddow/experiments/wmt17/backtrans/bench/translate-gpu.sh
Configuration (tried changing thread and batch settings)
Paths are relative to config file location
relative-paths: yes
performance settings
beam-size: 5
normalize: yes
gpu-threads: 4
cpu-threads: 2
#mini-batch: 60
#maxi-batch: 1200
scorer configuration
scorers:
F0:
path: model.npz
type: Nematus
scorer weights
weights:
F0: 1.0
vocabularies
source-vocab: vocab.en.json
target-vocab: vocab.cs.json

Confirmed. Guys, we need regression tests. I am close to banning all commits to master for a while and reverting back to code before the batch decoding. It's good to have people trying current code, but we are breaking basic functions too often.

@bhaddow revision 63c70c91b29b35220c2f89d648658a8ab5103cb3 seems to be fine for GPU decoding. The new batch-decoding works for instance with parameters:
--beam-size 5 --mini-batch 100 --maxi-batch 1000

Which will preload 10 mini-batches and process them by length.

Agreed. Can base the regression on pre-batch results
Hieu
Sent while bumping into things
On 24 Jan 2017 5:15 p.m., "Marcin Junczys-Dowmunt"<EMAIL_ADDRESS>wrote:

Confirmed. Guys, we need regression tests. I am close to banning all
commits to master for a while and reverting back to code before the batch
decoding. It's good to have people trying current code, but we are breaking
basic functions too often.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/emjotde/amunmt/issues/27#issuecomment-274871495, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAqOFErfBXYnGYP6GKWAXxtQuN4B54QEks5rVjGxgaJpZM4LshzK
.

Branch dev for all new stuff. I would freeze master for a while after we fixed this issue.

@bhaddow Weird, recompilation seems to help?

I deleted CMakeFiles CMakeCache.txt cmake_install.cmake and bin from my build directory, reran cmake and make, but I still have the problem.
However I confirm that 63c70c9 is fine.

Your yaml file is also a bit weird. Set cpu-threads to 0, just keep the gpu-threads at 1 or more. I am thinking of reverting master to 63c70c9 for now. The current version is in branch dev.

can you not revert yet. Let me retest it, pretty sure GPU translation is working, I check it for speed and accuracy every time I check in

I think the problem is the use of cpu-threads and gpu-threads together. That seems to break stuff for me.

that's unlikely to work with batching so the problem won't go away by reverting.
The issue is how we support different devices that supports different batching (eg GPUs with different RAM and cores, CPU).

It even breaks with mini-batch 1 and maxi-batch 1. Maybe we should disable it? Either use CPU or GPU?

lemme check

So why have the two options if they don't work together? Just --threads was fine.

And how do you get a minibatch of 100 to work? On a 1080, it works with 10, but crashes (memory) with 20. This is with 1 gpu thread and no cpu threads.

They used to work before we had batching. I am still thinking they should work, it would just require more complex scheduling. However, I am not sure using them together actually makes sense, when the GPU is 50x faster than the CPU. You are more likely to introduce slow-downs than speed-ups.
Having them was meant to be able to use a pure CPU version or GPU version with the same binary. You can do --cpu-threads 16 and --gpu-threads 0, this will only use the CPU. Then you can have --cpu-threads 0 and --gpu-threads 3 which uses only gpu and can result in minor speed-ups for gpu compared to single thread.

They should work together. Eventually, we prob have to bite the bullet and have things like batch size & threads to be device-specific params

I understand now. It wasn't clear to me why the threads parameter got split into two, and I thought boosting both might help. imho it would be clearer if --device was used to specify the device and --threads to specify the number of threads - unless there really is a use-case for multiple cpu and gpu threads.

Maybe we should switch to string devices? --device gpu0,gpu1,gpu2,gpu3 or --device cpu, then --threads would be threads per device. Forbidding mixing gpu0,cpu.

GNU parallel --sshlogin style?
gpu0/4,gpu1/3

Do we need to be able to specify threads in such a fine-grained way? --device gpu0,gpu1 --threads 3 would mean 6 actual threads. Confusing?
For the pure CPU version (when compiled without cuda support) we can just do --threads and not display a device option.

+1 for @emjotde idea. We can have CPU + GPU of different kinds if we do the following - keep maxi-batch a global param but mini-batch is device-specific. eg
--device GPU0, GPU1, CPU
--threads 1,1,32
--mini-batch 100,20,1

This is starting to look like a Moses command line that you end up having to write a perl script to generate. Most people don't want to mix CPUs and GPUs, and want the same number of threads and batch size on each GPU. So use @emjotde's original suggestion -- with perhaps an advanced formulation for heterogeneous environments -- if you really want to support them.

@bhaddow has a point. Let's keep it simple.

It will have to be implemented eventually when we buy new GPUs to slot into existing PC with old GPUs. Supporting CPUs alongside GPUs is a proxy for the heteroegenous environment.
Having an advanced formulation isn't really an option 'cos we'll then have 2 formats to look after

on zisa:
cd /home/marcin/un/en-fr.marian
/home/marcin/amunmt/build/bin/amun -m ../en-fr/model.npz.dev.npz -s train.tok.clean.bpe.en.json -t train.tok.clean.bpe.fr.json -n -b 12 -d 1 --maxi-batch 1 --mini-batch 1 -i dev.tok.bpe.en

gives me a segfault with current master. Inside Transpose?

Barry's models work ok with 1 gpu, 12 cpu, 1 cpu + 12 gpu. It doesn't work with 2 GPUs, but then that gave no speed benefit anyway 'cos batching is already saturating the cores. but is should still work - i'll debug it later.
1 GPU is 30 times faster than 12 CPU cores. About 10 sentences differ in 10k sentences

Still, something is very wrong, see segfault above.

i'll take a look tmrw

Actually, that might be because someone is hogging all the GPUs on zisa, compeletly filled to the rim.

That would be a bug in TensorFlow ;-).  I've killed the job since it was hogging GPUs and not using them.

OK. Now segfault now. Thanks. Lesson: we need better CUDA error reporting :)

I'm now thinking it was a silent out-of-memory error.
--gpu-threads 4 --mini-batch 100 causes the silent exit
Increasing mini-batch to 1000 gives a bad_alloc.
Doesn't really explain why the issue was fixed when I revert to an earlier version. Unless it was some coincidental collisions with our TensorSlow friend.

reduce gpu-threads to 1, potential speed up with batching is minimal, but it probably multiplies peak memory usage.

@emjotde the zisa model works for me on my machine if I change -d 1 -> -d 0

@hieuhoang yes, it was a memory problem. We should add checks on allocation, so it will throw an error not just segfault.

agreed. I'll use my little laptop

was finking. Adding allocation checks doesn't solve the underlying problem of failure during translation. Ideally, GPU-amun should NEVER have a runtime memory problem during translation otherwise it would be unpredictable in production. We can do this by only allocating memory during init.
Most of the model data is allocated @ init but there are some significant mem alloc for each batch, especially shared memory and thread-specific memory.

Define significant. Shared memory is usually a couple of bytes per thread, also doesn't that come from an entirely different pool?
What we need at least is stuff like that around cuda invocations: https://github.com/emjotde/Marian/blob/master/src/tensors/tensor_gpu.h#L37

You're right. A lot of the share mem alloc varies with batch size, it's more of a couple of KB now rather than B. However, it's not the cause of mem issues when I use barry's model with mini-batch=40
I found the cause for the crash - it's not shared mem but global mem. GPU/matrix::Resize is being called with row=499200, cols=2048, which is 7.6GB. I traced it back to the Alignment::GetAlignedSourceContext() L135 Broadcast(). Basically, the matrix size is dependent on mini-batch and source length.
The only way I can think of is to have an option of a fixed matrix, a max input length. Any input above that is truncated or causes a throw.

Actually I just fixed that in Marian yesterday. We can do it the same way: We can do the broadcast virtually with a simultaneous reduce, that way this huge matrix is never constructed but immediately reduced. For that you need to factor the following vector multiplication into that. We will fix that together with Tomasz.

ah ok. Another solution would be variable sized mini-batches. For another time

On the other hand, how does the number 499200 come to be? What's the sentence length, beam size, batch-size factorization of this?

err, good question - there's a sentence of length 1040. We should protect ourselves against that

slicing and dicing.

mini-batch 1

discard

Please don't discard - that will really screw things up. But yes, I
shouldn't have given it that sentence in the first place.
On 26 Jan 2017 18:16, "Hieu Hoang"<EMAIL_ADDRESS>wrote:

discard
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/emjotde/amunmt/issues/27#issuecomment-275466415, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA8mG_wqlclpLvRvXPcK7-7Bwsmf78eUks5rWOMKgaJpZM4LshzK
.

I would cut it into max-length pieces somehow and translate piece by piece? Messes up bookkeeping a bit.

Should we truncate? even to 0 sentence perhaps.

This is important information about Disneyland!

you've been in the office too long. Another gem:
Find your constitu@@ ency Aber@@ av@@ on@@ Aber@@ con@@ wy@@ Aber@@ deen North@@ Aber@@ deen South@@ Aber@@ de@@ en@@ shire West and Kin@@ car@@ din@@ e@@ Air@@ dri@@ e and Shot@@ ts@@ Alder@@ shot@@ Aldr@@ idge @-@ Brow@@ n@@ hill@@ s@@ Al@@ trin@@ ch@@ am and Sale West@@ A@@ lyn and Dee@@ side@@ Amber Val@@ ley@@ Angu@@ s@@ An@@ trim East@@ An@@ trim North@@ An@@ trim South@@ Ar@@ fon@@ Ar@@ gy@@ ll and Bu@@ te@@ Ar@@ un@@ del and South Down@@ s@@ Ash@@ field@@ Ash@@ ford@@ Ashton under Ly@@ ne@@ Ay@@ les@@ bu@@ ry@@ Ay@@ r , Car@@ rick and Cum@@ no@@ ck@@ Ay@@ r@@ shire Cen@@ tral@@ Ay@@ r@@ shire North and Arran@@ Ban@@ bu@@ ry@@ Ban@@ ff and Buchan@@ Bar@@ king@@ Bar@@ n@@ sley Cen@@ tral@@ Bar@@ n@@ sley East@@ Barrow and Fur@@ ness@@ Bas@@ il@@ don South and Thur@@ rock East@@ Bas@@ il@@ don and Bill@@ er@@ ic@@ ay@@ Bas@@ ing@@ sto@@ ke@@ B@@ asse@@ tla@@ w@@ Bath@@ Bat@@ ley and Spen@@ Bat@@ ter@@ sea@@ Be@@ acon@@ s@@ field@@ Beck@@ en@@ ham@@ Bed@@ ford@@ Bed@@ fordshire Mid@@ Bed@@ fordshire North East@@ Bed@@ fordshire South West@@ Belfast East@@ Belfast North@@ Belfast South@@ Belfast West@@ Ber@@ mon@@ dsey and Old South@@ war@@ k@@ Ber@@ wick @-@ upon @-@ Twe@@ ed@@ Ber@@ wick@@ shire , Rox@@ burgh and Sel@@ kir@@ k@@ Beth@@ nal Green and Bow@@ Bever@@ ley and Hol@@ der@@ ness@@ B@@ ex@@ hill and Battle@@ B@@ ex@@ ley@@ he@@ ath and Cra@@ y@@ ford@@ Bir@@ ken@@ head@@ Birmingham Ed@@ g@@ bast@@ on@@ Birmingham Er@@ ding@@ ton@@ Birmingham Hall Green@@ Birmingham Hod@@ ge Hill@@ Birmingham Lady@@ wood@@ Birmingham North@@ field@@ Birmingham Perry Bar@@ r@@ Birmingham Sel@@ ly Oak@@ Birmingham Y@@ ard@@ ley@@ Bishop Au@@ ck@@ land@@ Black@@ bur@@ n@@ Black@@ ley and B@@ rough@@ ton@@ Black@@ pool North and Cle@@ vele@@ ys@@ Black@@ pool South@@ Bla@@ en@@ au Gw@@ ent@@ Bla@@ y@@ don@@ B@@ ly@@ th Val@@ ley@@ Bog@@ nor Regis and Little@@ ha@@ mp@@ ton@@ Bol@@ sover@@ Bolton North East@@ Bolton South East@@ Bolton West@@ Bo@@ ot@@ le@@ Boston and Ske@@ g@@ ness@@ Bos@@ worth@@ Bour@@ ne@@ mouth East@@ Bour@@ ne@@ mouth West@@ Bra@@ ck@@ nel@@ l@@ Brad@@ ford East@@ Brad@@ ford South@@ Brad@@ ford West@@ Bra@@ in@@ tree@@ Bre@@ con and Rad@@ nor@@ sh@@ ire@@ Brent Cen@@ tral@@ Brent North@@ Brent@@ ford and Isle@@ worth@@ Brent@@ wood and On@@ gar@@ Brid@@ gen@@ d@@ Brid@@ g@@ water and Somer@@ set West@@ Bri@@ gg and Go@@ ole@@ Brighton K@@ emp@@ town@@ Brighton Pav@@ ili@@ on@@ Bristol East@@ Bristol North West@@ Bristol South@@ Bristol West@@ Broad@@ land@@ Bro@@ mley and Chis@@ le@@ hur@@ st@@ Bro@@ ms@@ gro@@ ve@@ Bro@@ x@@ bour@@ ne@@ Bro@@ x@@ to@@ we@@ Buck@@ ing@@ ham@@ Burn@@ ley@@ Bur@@ ton@@ Bury North@@ Bury South@@ Bury St Edmun@@ ds@@ Ca@@ er@@ phil@@ ly@@ Cai@@ th@@ ness , Su@@ therland and Easter Ross@@ Cal@@ der Val@@ ley@@ Cam@@ ber@@ well and Pe@@ ck@@ ham@@ Cam@@ borne and Red@@ ru@@ th@@ Cam@@ brid@@ ge@@ Cam@@ brid@@ ge@@ shire North East@@ Cam@@ brid@@ ge@@ shire North West@@ Cam@@ brid@@ ge@@ shire South@@ Cam@@ brid@@ ge@@ shire South East@@ Can@@ nock Cha@@ se@@ Canter@@ bu@@ ry@@ Car@@ diff Cen@@ tral@@ Car@@ diff North@@ Car@@ diff South and Pen@@ ar@@ th@@ Car@@ diff West@@ Car@@ li@@ sle@@ Car@@ mar@@ then East and Din@@ ef@@ wr@@ Car@@ mar@@ then West and P@@ embro@@ ke@@ shire South@@ Car@@ shal@@ ton and Wal@@ ling@@ ton@@ Castle Po@@ int@@ Cer@@ edi@@ gion@@ Char@@ n@@ wood@@ Cha@@ tham and Ay@@ les@@ ford@@ C@@ head@@ le@@ Chel@@ ms@@ ford@@ Chelsea and Ful@@ ham@@ Chel@@ ten@@ ham@@ Che@@ sham and Amer@@ sham@@ Che@@ ster@@ field@@ Chi@@ chest@@ er@@ Ch@@ ing@@ ford and Wood@@ ford Green@@ Chi@@ p@@ pen@@ ham@@ Chi@@ pping Bar@@ net@@ Chor@@ ley@@ Christ@@ chur@@ ch@@ C@@ ities of London and Westmin@@ ster@@ City of Che@@ ster@@ City of Dur@@ ham@@ Cla@@ ct@@ on@@ Cle@@ e@@ thor@@ pe@@ s@@ Cl@@ wy@@ d South@@ Cl@@ wy@@ d West@@ Co@@ at@@ bridge , Chry@@ ston and Bel@@ l@@ sh@@ ill@@ Col@@ chest@@ er@@ Col@@ ne Val@@ ley@@ Con@@ gle@@ ton@@ Cop@@ el@@ and@@ Cor@@ by@@ Corn@@ wall North@@ Corn@@ wall South East@@ Cot@@ sw@@ ol@@ d@@ Cov@@ entry North East@@ Cov@@ entry North West@@ Cov@@ entry South@@ Craw@@ ley@@ Cre@@ we and N@@ ant@@ wi@@ ch@@ Cro@@ y@@ don Cen@@ tral@@ Cro@@ y@@ don North@@ Cro@@ y@@ don South@@ Cum@@ ber@@ nau@@ ld , Kil@@ sy@@ th and Kir@@ kin@@ til@@ loch East@@ Cy@@ non Val@@ ley@@ D@@ agen@@ ham and Rain@@ ham@@ Dar@@ ling@@ ton@@ Dart@@ ford@@ Daven@@ try@@ Del@@ yn@@ D@@ enton and Red@@ dish@@ Derby North@@ Derby South@@ Der@@ by@@ shire Dal@@ es@@ Der@@ by@@ shire Mid@@ Der@@ by@@ shire North East@@ Der@@ by@@ shire South@@ Dev@@ i@@ zes@@ Devon Cen@@ tral@@ Devon East@@ Devon North@@ Devon South West@@ Devon West and Tor@@ rid@@ ge@@ De@@ w@@ s@@ bu@@ ry@@ Don Val@@ ley@@ Don@@ caster Cen@@ tral@@ Don@@ caster North@@ Dor@@ set M@@ id and Poole North@@ Dor@@ set North@@ Dor@@ set South@@ Dor@@ set West@@ D@@ over@@ Down North@@ Down South@@ Dudley North@@ Dudley South@@ Dul@@ wich and West Nor@@ wood@@ Dum@@ fries and Gal@@ lo@@ way@@ Dum@@ fri@@ es@@ shire , Cly@@ des@@ dale and Twe@@ ed@@ dale@@ Dun@@ bar@@ ton@@ shire East@@ Dun@@ bar@@ ton@@ shire West@@ Dun@@ dee East@@ Dun@@ dee West@@ Dun@@ fer@@ m@@ line and Fi@@ fe West@@ Durham North@@ Durham North West@@ D@@ wy@@ for Me@@ iri@@ on@@ ny@@ d@@ d@@ E@@ aling Central and Act@@ on@@ E@@ aling North@@ E@@ aling South@@ all@@ E@@ as@@ ing@@ ton@@ East Ham@@ East Kil@@ bride , Strath@@ aven and Les@@ ma@@ ha@@ go@@ w@@ East Lo@@ thi@@ an@@ East@@ bour@@ ne@@ East@@ le@@ igh@@ Ed@@ dis@@ bu@@ ry@@ Edinburgh East@@ Edinburgh North and Le@@ ith@@ Edinburgh South@@ Edinburgh South West@@ Edinburgh West@@ Ed@@ mon@@ ton@@ El@@ le@@ sm@@ ere Port and Nest@@ on@@ El@@ met and Roth@@ well@@ El@@ th@@ am@@ En@@ field North@@ En@@ field South@@ gate@@ E@@ pping Forest@@ Ep@@ som and E@@ well@@ Ere@@ wash@@ Eri@@ th and Tha@@ mes@@ me@@ ad@@ E@@ sher and Wal@@ ton@@ Ex@@ eter@@ Fal@@ kir@@ k@@ F@@ are@@ ham@@ F@@ aver@@ sham and Kent Mid@@ Fel@@ tham and H@@ eston@@ Fer@@ man@@ agh and South Ty@@ ro@@ ne@@ Fi@@ fe North East@@ Fil@@ ton and Bradley Sto@@ ke@@ Fin@@ ch@@ ley and Gol@@ ders Green@@ Fol@@ ke@@ stone and Hy@@ the@@ Forest of De@@ an@@ Fo@@ yle@@ F@@ yl@@ de@@ Ga@@ ins@@ bor@@ ough@@ Gar@@ ston and Hale@@ wood@@ Gate@@ she@@ ad@@ Ged@@ ling@@ G@@ ill@@ ingham and Rain@@ ham@@ Glasgow Cen@@ tral@@ Glasgow East@@ Glasgow North@@ Glasgow North East@@ Glasgow North West@@ Glasgow South@@ Glasgow South West@@ Glen@@ ro@@ the@@ s@@ Gloucest@@ er@@ Gor@@ don@@ Go@@ sport@@ Gow@@ er@@ Gran@@ tham and Stam@@ ford@@ Gra@@ ve@@ sham@@ Great Gri@@ ms@@ by@@ Great Yar@@ mouth@@ Greenwich and Wool@@ wi@@ ch@@ Guil@@ d@@ ford@@ Hack@@ ney North and Sto@@ ke New@@ ing@@ ton@@ Hack@@ ney South and Shor@@ ed@@ itch@@ Hale@@ so@@ wen and Row@@ ley Reg@@ is@@ Hali@@ fax@@ Hal@@ tem@@ price and How@@ den@@ Hal@@ ton@@ Hammer@@ smi@@ th@@ Hampshire East@@ Hampshire North East@@ Hampshire North West@@ Hamp@@ stead and Kil@@ bur@@ n@@ Har@@ bor@@ ough@@ Har@@ low@@ Har@@ rogate and K@@ nar@@ es@@ bor@@ ough@@ Har@@ row East@@ Har@@ row West@@ Har@@ tle@@ po@@ ol@@ Har@@ wich and Essex North@@ Hastings and R@@ ye@@ Hav@@ ant@@ Hayes and Har@@ ling@@ ton@@ Hazel Gro@@ ve@@ He@@ mel H@@ emp@@ stead@@ Hem@@ s@@ worth@@ H@@ end@@ on@@ Hen@@ ley@@ Here@@ ford and Here@@ fordshire South@@ Here@@ fordshire North@@ Hert@@ ford and Stor@@ t@@ ford@@ Hert@@ fordshire North East@@ Hert@@ fordshire South West@@ Hert@@ sm@@ ere@@ Hex@@ ham@@ Hey@@ wood and Middle@@ ton@@ High Pe@@ ak@@ Hitch@@ in and Har@@ pen@@ den@@ Hol@@ born and St Pan@@ cra@@ s@@ Horn@@ church and Up@@ min@@ ster@@ Horn@@ sey and Wood Green@@ Hor@@ sham@@ Hou@@ gh@@ ton and S@@ under@@ land South@@ H@@ ove@@ Hud@@ der@@ s@@ field@@ Hull East@@ Hull North@@ Hull West and Hes@@ sle@@ Hunting@@ don@@ Hy@@ n@@ d@@ bur@@ n@@ Il@@ ford North@@ Il@@ ford South@@ In@@ ver@@ c@@ ly@@ de@@ In@@ ver@@ ness , N@@ air@@ n , Bad@@ en@@ och and Strath@@ spe@@ y@@ I@@ ps@@ wi@@ ch@@ Isle of W@@ igh@@ t@@ I@@ sl@@ ington North@@ I@@ sl@@ ington South and Fin@@ s@@ bu@@ ry@@ I@@ sl@@ wy@@ n@@ Jar@@ row@@ Ke@@ igh@@ ley@@ Ken@@ il@@ worth and South@@ am@@ Kensing@@ ton@@ Ket@@ ter@@ ing@@ Kil@@ mar@@ nock and Lou@@ d@@ oun@@ King@@ ston and Sur@@ bit@@ on@@ King@@ s@@ wood@@ Kirk@@ cal@@ dy and Cow@@ den@@ be@@ ath@@ Know@@ sle@@ y@@ L@@ agan Val@@ ley@@ Lan@@ ark and Hamilton East@@ Lan@@ ca@@ shire West@@ Lan@@ caster and Fle@@ e@@ two@@ od@@ Leeds Cen@@ tral@@ Leeds East@@ Leeds North East@@ Leeds North West@@ Leeds West@@ Le@@ ic@@ ester East@@ Le@@ ic@@ ester South@@ Le@@ ic@@ ester West@@ Le@@ icest@@ er@@ shire North West@@ Le@@ icest@@ er@@ shire South@@ Leigh@@ Le@@ we@@ s@@ Lewisham De@@ pt@@ ford@@ Lewisham East@@ Lewisham West and Pen@@ ge@@ Le@@ yton and Wan@@ stead@@ Lich@@ field@@ Lincol@@ n@@ Lin@@ li@@ th@@ gow and Fal@@ kir@@ k East@@ Liverpool River@@ side@@ Liverpool Wal@@ ton@@ Liverpool W@@ aver@@ tree@@ Liverpool West Der@@ by@@ Living@@ ston@@ L@@ lan@@ elli@@ Lon@@ don@@ der@@ ry East@@ Lou@@ gh@@ bor@@ ough@@ Lou@@ th and Horn@@ cast@@ le@@ Lud@@ low@@ Lut@@ on North@@ Lut@@ on South@@ Mac@@ cle@@ s@@ field@@ Ma@@ iden@@ head@@ Ma@@ id@@ stone and The We@@ al@@ d@@ Mak@@ er@@ field@@ Mal@@ don@@ Manchester Cen@@ tral@@ Manchester Gor@@ ton@@ Manchester Wi@@ thing@@ ton@@ Mans@@ field@@ Me@@ on Val@@ ley@@ Mer@@ iden@@ Mer@@ thy@@ r Ty@@ d@@ fil and Rhy@@ m@@ ney@@ Mid@@ d@@ les@@ br@@ ough@@ Mid@@ d@@ les@@ br@@ ough South and Cleveland East@@ Mid@@ lo@@ thi@@ an@@ Milton Keynes North@@ Milton Keynes South@@ Mitch@@ am and Mor@@ den@@ M@@ ole Val@@ ley@@ Mon@@ mouth@@ Montgom@@ ery@@ sh@@ ire@@ Mor@@ ay@@ More@@ cam@@ be and Lu@@ nes@@ dale@@ Mor@@ ley and Out@@ wood@@ Mo@@ ther@@ well and Wis@@ haw@@ Na h @-@ Ei@@ lean@@ an an I@@ ar@@ Ne@@ ath@@ New Forest East@@ New Forest West@@ Newar@@ k@@ New@@ bu@@ ry@@ Newcastle upon Ty@@ ne Cen@@ tral@@ Newcastle upon Ty@@ ne East@@ Newcastle upon Ty@@ ne North@@ Newcastle @-@ under @-@ Ly@@ me@@ Newport East@@ Newport West@@ New@@ ry and Ar@@ ma@@ gh@@ Newton Abbot@@ Norfolk Mid@@ Norfolk North@@ Norfolk North West@@ Norfolk South@@ Norfolk South West@@ Norman@@ ton , Pon@@ te@@ fra@@ ct and Castle@@ ford@@ North@@ amp@@ ton North@@ North@@ amp@@ ton South@@ North@@ amp@@ ton@@ shire South@@ Nor@@ wich North@@ Nor@@ wich South@@ Nottingham East@@ Nottingham North@@ Nottingham South@@ N@@ une@@ aton@@ O@@ ch@@ il and Per@@ th@@ shire South@@ Og@@ more@@ Old B@@ ex@@ ley and Sid@@ cup@@ Old@@ ham East and Sad@@ dle@@ worth@@ Old@@ ham West and Roy@@ ton@@ Or@@ k@@ ney and She@@ t@@ land@@ Or@@ ping@@ ton@@ Oxford East@@ Oxford West and Ab@@ ing@@ don@@ Pa@@ is@@ ley and Ren@@ fre@@ w@@ shire North@@ Pa@@ is@@ ley and Ren@@ fre@@ w@@ shire South@@ P@@ end@@ le@@ Pen@@ ist@@ one and Stock@@ s@@ brid@@ ge@@ Pen@@ rith and The Bor@@ der@@ Per@@ th and Per@@ th@@ shire North@@ Peter@@ bor@@ ough@@ Plymouth Mo@@ or Vie@@ w@@ Plymouth Sutton and Dev@@ on@@ port@@ Pon@@ ty@@ pr@@ id@@ d@@ Po@@ ole@@ Pop@@ lar and Li@@ me@@ house@@ Port@@ sm@@ ou@@ th North@@ Port@@ sm@@ ou@@ th South@@ Pre@@ se@@ li P@@ embro@@ ke@@ sh@@ ire@@ Prest@@ on@@ P@@ ud@@ se@@ y@@ Put@@ ney@@ Ray@@ leigh and Wick@@ ford@@ Re@@ ading East@@ Re@@ ading West@@ Red@@ car@@ Red@@ dit@@ ch@@ Re@@ ig@@ ate@@ Ren@@ fre@@ w@@ shire East@@ Rhon@@ d@@ da@@ Ri@@ bble South ( South Ri@@ bble ) Ri@@ bble Val@@ ley@@ Richmond ( Yor@@ ks ) Richmond Park@@ Roch@@ dale@@ Roch@@ ester and Stro@@ od@@ Roch@@ ford and South@@ end East@@ Rom@@ ford@@ Rom@@ sey and South@@ amp@@ ton North@@ Ross , Skye and L@@ ochab@@ er@@ Ross@@ endale and Dar@@ wen@@ R@@ other Val@@ ley@@ Ro@@ ther@@ ham@@ Ru@@ g@@ by@@ Ru@@ is@@ lip , North@@ wood and Pin@@ ner@@ Run@@ ny@@ med@@ e and Wey@@ brid@@ ge@@ Rush@@ cli@@ ffe@@ Ru@@ ther@@ g@@ len and Hamilton West@@ Rut@@ land and Mel@@ ton@@ Saf@@ fro@@ n Wal@@ den@@ Sal@@ ford and Ec@@ cle@@ s@@ Sal@@ is@@ bu@@ ry@@ Scar@@ borough and Whit@@ by@@ Sc@@ un@@ thor@@ pe@@ Sed@@ ge@@ field@@ Sef@@ ton Cen@@ tral@@ Sel@@ by and A@@ inst@@ y@@ Seven@@ o@@ ak@@ s@@ She@@ f@@ field Bri@@ ght@@ side and Hill@@ sbor@@ ough@@ She@@ f@@ field Cen@@ tral@@ She@@ f@@ field Hal@@ lam@@ She@@ f@@ field He@@ ele@@ y@@ She@@ f@@ field South East@@ Sher@@ wood@@ Shi@@ ple@@ y@@ Sh@@ re@@ w@@ s@@ bury and At@@ cham@@ Sh@@ rop@@ shire North@@ Sit@@ ting@@ bourne and Shep@@ pe@@ y@@ Sk@@ ip@@ ton and Ri@@ pon@@ S@@ lea@@ ford and North Hy@@ ke@@ ham@@ Slou@@ gh@@ Soli@@ hul@@ l@@ Somer@@ set North@@ Somer@@ set North East@@ Somer@@ ton and Fro@@ me@@ South Holland and The Deep@@ ings@@ South Shi@@ el@@ ds@@ South@@ amp@@ ton It@@ chen@@ South@@ amp@@ ton Test@@ South@@ end West@@ South@@ port@@ Spel@@ thor@@ ne@@ St Al@@ ban@@ s@@ St Aust@@ ell and New@@ qu@@ ay@@ St Hel@@ ens North@@ St Hel@@ ens South and Whist@@ on@@ St I@@ ves@@ Sta@@ f@@ ford@@ Sta@@ f@@ fordshire Mo@@ or@@ land@@ s@@ Sta@@ f@@ fordshire South@@ St@@ aly@@ bridge and Hy@@ de@@ Steven@@ age@@ Stir@@ ling@@ Stock@@ port@@ Stock@@ ton North@@ Stock@@ ton South@@ Sto@@ ke @-@ on @-@ Trent Cen@@ tral@@ Sto@@ ke @-@ on @-@ Trent North@@ Sto@@ ke @-@ on @-@ Trent South@@ Stone@@ St@@ our@@ brid@@ ge@@ Stran@@ g@@ ford@@ Strat@@ ford @-@ on @-@ A@@ von@@ Stre@@ ath@@ am@@ Stre@@ t@@ ford and Ur@@ m@@ ston@@ S@@ trou@@ d@@ Suf@@ folk Central and I@@ ps@@ wich North@@ Suf@@ folk Co@@ ast@@ al@@ Suf@@ folk South@@ Suf@@ folk West@@ S@@ under@@ land Cen@@ tral@@ Surrey East@@ Surrey He@@ ath@@ Surrey South West@@ Sus@@ sex Mid@@ Sutton Col@@ d@@ field@@ Sutton and Che@@ am@@ Swan@@ sea East@@ Swan@@ sea West@@ S@@ win@@ don North@@ S@@ win@@ don South@@ Tam@@ worth@@ Tat@@ ton@@ Ta@@ un@@ ton De@@ ane@@ Tel@@ ford@@ Te@@ w@@ ke@@ s@@ bu@@ ry@@ Than@@ et North@@ Than@@ et South@@ The W@@ re@@ kin@@ Thir@@ sk and Mal@@ ton@@ Thorn@@ bury and Y@@ ate@@ Thur@@ rock@@ Ti@@ ver@@ ton and Hon@@ it@@ on@@ Ton@@ bridge and Mal@@ ling@@ To@@ ot@@ ing@@ Tor@@ bay@@ Tor@@ fa@@ en@@ Tot@@ nes@@ Tot@@ ten@@ ham@@ Tr@@ uro and Fal@@ mouth@@ Tun@@ bridge Wel@@ ls@@ Tw@@ ick@@ en@@ ham@@ Ty@@ ne@@ mouth@@ Ty@@ ne@@ side North@@ Tyrone West@@ Ul@@ ster Mid@@ Upper Ban@@ n@@ U@@ x@@ bridge and Ru@@ is@@ lip South@@ Vale of Cl@@ wy@@ d@@ Vale of Gla@@ mor@@ gan@@ Vau@@ x@@ hall@@ Wake@@ field@@ Walla@@ se@@ y@@ Wal@@ s@@ all North@@ Wal@@ s@@ all South@@ Wal@@ th@@ am@@ sto@@ w@@ W@@ ans@@ be@@ ck@@ W@@ anta@@ ge@@ War@@ ley@@ War@@ rington North@@ War@@ rington South@@ Warwick and Le@@ am@@ ing@@ ton@@ War@@ wick@@ shire North@@ Washington and S@@ under@@ land West@@ Wat@@ ford@@ W@@ av@@ ene@@ y@@ We@@ al@@ den@@ Weaver V@@ ale@@ Welling@@ bor@@ ough@@ Wel@@ ls@@ Wel@@ wyn Hat@@ field@@ Went@@ worth and Dear@@ ne@@ West Bro@@ m@@ wich East@@ West Bro@@ m@@ wich West@@ West Ham@@ Westmin@@ ster North@@ West@@ mor@@ land and Lon@@ s@@ dale@@ Weston @-@ Super @-@ Mar@@ e@@ Wig@@ an@@ Wil@@ t@@ shire North@@ Wil@@ t@@ shire South West@@ Wim@@ bled@@ on@@ Win@@ chest@@ er@@ Wind@@ sor@@ Wir@@ ral South@@ Wir@@ ral West@@ With@@ am@@ Wit@@ ney@@ W@@ ok@@ ing@@ W@@ ok@@ ing@@ ham@@ Wolver@@ ha@@ mpton North East@@ Wolver@@ ha@@ mpton South East@@ Wolver@@ ha@@ mpton South West@@ Wor@@ cest@@ er@@ Wor@@ cest@@ er@@ shire Mid@@ Wor@@ cest@@ er@@ shire West@@ Wor@@ king@@ ton@@ Wor@@ sley and Ec@@ cles South@@ Wor@@ thing East and S@@ hore@@ ham@@ Wor@@ thing West@@ W@@ rex@@ ham@@ Wy@@ com@@ be@@ Wy@@ re Forest@@ Wy@@ re and Preston North@@ Wy@@ then@@ sha@@ we and Sale East@@ Ye@@ ov@@ il@@ Y@@ n@@ ys Mon@@ York Cen@@ tral@@ York Ou@@ ter@@ Yorkshire East

I am not convinced yet. Three more please.

i'm gonna be booted of github for using up their bandwidth

ok. i'm adding a -max-length arg to defend against these input, default=500. It doesn't solve the problem when u push the mini-batch size too far
lets see what happens after the optimized broadcast

Is this a hard truncate?

The optimization should actually solve the problem, it will reduce it by a factor of 2048. I do not think there is another matrix that has these combinatorial resizes.


Add selectedDetent bindings

Background
Once the general fixes and improvements in #8 are merged, the package will include the concept of a selectedDetent, which persists the detent position when navigating to another screen.
Proposed Enhancement
While this is a step in the right direction, it would be even more flexible if the parent view could:

Set selectedDetent: Allowing the parent to define the position.
Listen to changes in the detent state: Enabling the parent to respond to detent updates, which could impact other UI states.

Benefits

Enhanced Control: The parent view can more easily adapt and manage the UI based on the current detent position.
Increased Flexibility: Developers gain more precise control over the presentation, aligning the detent state with other components dynamically.

Sounds like a perfect extension of this functionality, especially the ability to select detention from code,

@wojtek717 I can take this on today!

@wojtek717 it has proven to be quite a complex change to support both isPresented and a Binding<Detent>. It is definitely possible, but will require a bit of boiler plate code.
My lean is to remove isPresented entirely in favor of requiring a Binding<Detent> + adding Detent.hidden case. This aligns with the keeping the implementation lightweight, opposed to blowing up package scope to support multiple initializers.
I believe isPresented as a Bool would be deprecated in #19 in favor of Binding<Bool>; so one way or another the instantiator will need to create a @State to pass in (similar to Apple's sheet).
What are your thoughts?
Again, it is definitely possible to support both but will require some complex handling in BottomSheet

@samdogg7
I think that a more necessary and useful option is to support Binding isPresented to manage the display state of the sheet. It is also needed in my personal project for which this package was created :D. If you still want to continue working on selectedDetent binding then go ahead and tell me how I can help.

Okay I'll investigate supporting both 👍🏼

@samdogg7 you should get an invitation


take an optional check function

from the updated docs:
You can also pass in a custom check function (by default, it checks for the
existence of package.json in a directory). In this example, we traverse up
to find the root of a git repo:
const fs = require('fs')

const gitRoot = findRoot('/Users/jsdnxx/Code/find-root/tests', function (dir) {
  return fs.existsSync(path.resolve(dir, '.git'))
})

published as<EMAIL_ADDRESS>


Performance regression on VSM32 version of shadow map on Safari 15 MacOS

This runs at realtime in other browsers / Safari 14, but Safari 15 gives us around 2fps.
VSM8 and VSM16 are performant - even though run slower than in other browsers, but VSM32 is very slow (2 fps) - we must be hitting some some slow path / bug with this one specific texture format.
Steps to repro:
http://playcanvas.github.io/#/graphics/shadow-cascades
select VSM32 option

related to https://github.com/playcanvas/engine/issues/3506

Possible crash with this format on iOS.

example updated to have an easy repro
https://github.com/playcanvas/engine/issues/3509

Confirmed - no crash on iOS, VSM32 works fine there - sligthly slower than other shadow filter types, but ok.

I can no longer reproduce this issue on macOS Monterey that I upgraded to.
I'll close this for now, unless we find some other cases.


feat: deploy fleet

#16  👈 (View in Graphite)
main-lachie

This stack of pull requests is managed by Graphite. Learn more about stacking.


An exception occurs when a large number of requests are made on windows

[dependencies]
clap = "2.33.3"
tokio = { version = "1.12.0", features = ["full"] }
url = "2.2.2"
reqwest = { version = "0.11.5", features = ["trust-dns"] }

When I make a large number of requests on windows at the same time, it prompts abnormal operation timed out.
async fn get_url(url: &str) -> Result<StatusCode, reqwest::Error> {
    let client = reqwest::Client::builder()
        .timeout(Duration::from_secs(3))
        .trust_dns(true)
        .build()?;
    let response = client.get(url).send().await?;
    Ok(response.status())
}

Main run code =>
for _ in 1..10000 {
  let handle = tokio::spawn(async move {
        let status_code = get_url(line.as_str()).await;
        match status_code {
            Ok(status_code) => {
                println!("[{}] {} [{}]", index, line.as_str(), status_code.as_u16());
                io::stdout().lock().flush().unwrap();
            }
            Err(e) => {
                println!("[{}] {} [{}]", index, line.as_str(), e);
                io::stdout().lock().flush().unwrap();
            }
        }
    });
    sub_tasks.push(handle);
}
for i in sub_tasks {
  i.await.unwrap();
}

All requests will trigger the following exception.
[1273] https://google.com/ct-data [error sending request for url (http://www.google.com/ct-data): operation timed out]
[1294] https://google.com/mportal [error sending request for url (http://www.google.com/mportal): operation timed out]
[1279] https://google.com/psp [error sending request for url (http://www.google.com/psp): operation timed out]

When I increase the file descriptor limit on linux, the program runs normally, but the exception is still triggered on windows.

The error message seems to suggest those requests are timing out, perhaps because the Windows system isn't ready to handle so many at once?
But I can offer one suggestion that will help a lot: build a single Client, and then share clones of it with each task. That will save you a lot of time and resources (connection pooling, only initializing TLS once).


Support dbg as expression

Right now you can do:
main =
    dbg "hey"
    Stdout.line "Hello, World!"

But we also want to support the following:
main =
    Stdout.line (dbg "Hello, World!")

So dbg will print "Hello, World!" and pass on the value it was provided.
This is particularly useful for quickly debugging pipeline steps:
myList
|> List.map Num.toNat
|> List.sum
|> dbg
|> Num.toStr

dbg should not be a function, for example List.map list dbg should not work.

Code that appropriately detects when dbg is used as a statement or expression may be a bit tedious, perhaps we should temporarily use dbge for the expression variant and "merge" them later to dbg.

@Anton-4 this should be fully implemented now!


implement channel mute

Submit a pull request
CLA

[x] I have signed the Stream CLA (required).
[x] The code changes follow best practices
[x] Code changes are tested (add some information if not applicable)

Description of the pull request

Codecov Report

Merging #60 into master will decrease coverage by 0.05%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master      #60      +/-   ##
==========================================
- Coverage   32.46%   32.40%   -0.06%
==========================================
  Files          11       11
  Lines        6047     6345     +298
==========================================
+ Hits         1963     2056      +93
- Misses       3705     3894     +189
- Partials      379      395      +16

Impacted Files
Coverage Δ

stream_chat_easyjson.go
29.05% <ø> (-0.10%)
:arrow_down:

user.go
37.60% <ø> (ø)

channel.go
67.93% <61.90%> (-0.59%)
:arrow_down:

query.go
86.95% <100.00%> (+0.28%)
:arrow_up:

client.go
63.39% <0.00%> (+2.61%)
: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 9343107...5cae69b. Read the comment docs.

@thesyncim this is already integrated, closing


Easy way to recompile all tools with each nightly

Every time I install a new rust nightly on macos via rustup, rustfmt, clippy, etc. break with this error:
dyld: Library not loaded: @rpath/libsyntax-4bd9bd9f671767da.dylib
  Referenced from: /Users/gnzlbg/.cargo/bin/rustfmt
  Reason: image not found

Is there an easy way to recompile all of them when installing a new nightly?

Not today -- but eventually we hope to ship rustfmt and clippy as part of the standard distribution (available via rustup). How that will work remains to be decided, though. For today the best solution is probably to reinstall them via cargo install -f rustfmt.

rustfmt and clippy are now distributed with rustup, so I'm going to close this for now.


feat: add vertexai embeddings

This PR:

Adds VertexAI embeddings as an embedding provider

Testing

Tested with pinecone destination connector on this job run.

Looking good.
Did you want to include a ingest test for VertexAI like:
https://github.com/Unstructured-IO/unstructured/blob/main/test_unstructured_ingest/src/local-embed-bedrock.sh
And if you're feeling extra productive :) can you make one for Octoai???

I get this reminder:
Following dependencies are missing: langchain, langchain_google_vertexai. Please install them using pip install "unstructured[vertexai]"``
But then when I run:
pip install "unstructured[vertexai]"     I get:
WARNING: unstructured 0.13.0.dev12 does not provide the extra 'vertexai'
I always forget exactly where this is.

This is looking great. I think theres something to be figured out in the pip install of vertexai vs embed-vertexai. But other than that its ready...

I get this reminder: Following dependencies are missing: langchain, langchain_google_vertexai. Please install them using pip install "unstructured[vertexai]"
But then when I run:
pip install "unstructured[vertexai]"  I get: WARNING: unstructured 0.13.0.dev12 does not provide the extra 'vertexai' I always forget exactly where this is.
I thought it was just in Setup.py which you have. Just under a different name embed-vertexai

@potter-potter , great call - it should be fixed with fix typo, fix extra name , let me know if otherwise

I get this reminder: Following dependencies are missing: langchain, langchain_google_vertexai. Please install them using pip install "unstructured[vertexai]"
But then when I run:
pip install "unstructured[vertexai]"  I get: WARNING: unstructured 0.13.0.dev12 does not provide the extra 'vertexai' I always forget exactly where this is.
I thought it was just in Setup.py which you have. Just under a different name embed-vertexai

@potter-potter , great call - it should be fixed with fix typo, fix extra name , let me know if otherwise

works for embed-vertexai

can we add the 2 new tests to test-embed-src.py

can we add the 2 new tests to test-embed-src.py

@potter-potter should be addressed with update test-ingest-src

Looking good. Just needs some updating/fixing of the documentation and example and should be good to go.


Linker errors with phonegap-plugin-push and also bunch of compile warnings

Hi,
I am using ionic (1.3.1) and for this push-plugin I have installed cocoapods (1.1.1) and done pod install
My ionic info gives the following -

Cordova CLI: 6.4.0
Ionic CLI Version: 2.1.8
Ionic App Lib Version: 2.1.4
ios-deploy version: 1.9.0
ios-sim version: 5.0.11
OS: OS X El Capitan
Node Version: v6.9.1
Xcode version: Xcode 8.0 Build version 8A218a

I have the latest version of phonegap-plugin-push (1.9.2)
I started with getting the GoogleCloudMessaging.h not found error. To resolve that, after digging around a lot I added PODS_ROOT to point to ${SRCROOT}/Pods in User-Defined section in Build Settings.
Now I am getting linker errors as below. Detailed compile and link log is here

Undefined symbols for architecture arm64:
"OBJC_CLASS$_GCMService", referenced from:
objc-class-ref in PushPlugin.o
"OBJC_CLASS$_GCMConfig", referenced from:
objc-class-ref in PushPlugin.o
"OBJC_CLASS$_GGLInstanceIDConfig", referenced from:
objc-class-ref in PushPlugin.o
"OBJC_CLASS$_GCMPubSub", referenced from:
objc-class-ref in PushPlugin.o
"OBJC_CLASS$_GGLInstanceID", referenced from:
objc-class-ref in PushPlugin.o
"_kGGLInstanceIDAPNSServerTypeSandboxOption", referenced from:
-[PushPlugin didRegisterForRemoteNotificationsWithDeviceToken:] in PushPlugin.o
"_kGGLInstanceIDRegisterAPNSOption", referenced from:
-[PushPlugin didRegisterForRemoteNotificationsWithDeviceToken:] in PushPlugin.o
"_kGGLInstanceIDScopeGCM", referenced from:
-[PushPlugin onTokenRefresh] in PushPlugin.o
-[PushPlugin didRegisterForRemoteNotificationsWithDeviceToken:] in PushPlugin.o
ld: symbol(s) not found for architecture arm64

I tried removing arm64 from the architecture variable in Build Settings just to see what it does and I started getting a bunch of other linker errors. I have read through many posts and spent a lot of time but don't know what to do here.
As suggested in a post I have tried adding $(inherited) to the Other Linker Flags - that didn't help. Though that converts to -ObjC which was already there - don't quite understand that.
I am not a Xcode power user and my knowledge of Xcode is limited.
Thanks for any help and pointers to help resolve.
Sanjay.

@stib try doing:
cordova platform rm ios
cordova platform add ios
cordova build ios

that should get you the latest version of cordova-ios and everything should build for you. Ionic may be pinning an earlier version of cordova-ios that does not work correctly with this plugin.

@macdonst thank you for the suggestion. That removed my linker errors.
cordova platform version shows that my ios remains unchanged at 4.3.1 - not sure what changed but glad that it fixed the problem.
However I am now getting the error as below after successful Push Plugin register

2017-01-04 19:56:01.031: GCM | GCM library version 1.1.4
2017-01-04 19:56:01.112: GCM | Invalid key in checkin plist: GMSInstanceIDDeviceDataVersion

If I can't resolve I will open another ticket so as to not mix different issues.


🐛 Bug Report:  How to handle 429 Too Many requests issue in Backstage catalog using Bitbucket cloud.

📜 Description
While listing the catalog in backstage from Bitbucket Cloud, I frequently experience error 429. Despite setting the discovery provider interval as 24 hours, And my server restarts often, which may cause the error. How can I handle this issue?
{
  "entity": "location:default/services",
  "level": "warn",
  "location": "url:https://bitbucket.org/prod/system/src/master/temp/temp.yaml",
  "message": "Unable to read url, Error: https://bitbucket.org/prod/system/src/master/temp/temp.yaml could not be read as https://api.bitbucket.org/2.0/repositories/prod/system/src/master/temp/temp.yaml, 429 Too Many Requests",
  "plugin": "catalog",
  "service": "backstage",
  "type": "plugin"
}

I have configured interval of 24 hrs in app-config.yaml
catalog:
  providers:
    bitbucketCloud:
      default:
        catalogPath: /temp/temp.yaml
        schedule: # optional; same options as in TaskScheduleDefinition
          frequency: { minutes: 1440 }
          timeout: { minutes: 15 }
        workspace: XXX

👍 Expected behavior
I have increased the time interval, so the 429 won't happen
👎 Actual Behavior with Screenshots

👟 Reproduction steps

Run the server
If bitbucket api rate limit reaches then this issue came

📃 Provide the context for the Bug.
http://localhost:3000/catalog/default/system/taste-online
🖥 Your Environment
Development
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
No, I don't have time to work on this right now

Some work ongoing in #24860


Code highlight is partially failing

Describe the bug
I originally opened this but on the web.dev GitHub repo. You asked me to cross-post it here.
An embedded HTML code sample in a new article specifies that lines 3 through 7 should be highlighted. Only lines 3 through 5 are actually being highlighted.
To Reproduce
View the rendered article in staging.

Sorry for the super late response here but we did deprecate the line highlighting method we were using here and moved to use the default prism js diff plugin instead. Docs for that here (v3.2.2 and newer): https://www.11ty.dev/docs/plugins/syntaxhighlight/#show-changes-using-diff-syntax

This is an automated message to let you know that a helpful response was posted to your issue and for the health of the repository issue tracker the issue will be closed. This is to help alleviate issues hanging open waiting for a response from the original poster.

If the response works to solve your problem—great! But if you’re still having problems, do not let the issue’s closing deter you if you have additional questions! Post another comment and we will reopen the issue. Thanks!


Bug - stop new scene reload old scene

Reproduction:

Create new scene
Edit and save new scene
Play new scene
Stop playing new scene
The previous scene is reloaded

CNR in v0.0.6


Fio OOM on 512MB servers?

Up until today, I've only seen yabs script get OOM errors on 384MB servers and not on 512MB RAM servers.  But now I'm seeing OOM on 512MB and 1GB RAM servers running Centos 8.
Anyone else?
512MB server
[  345.019101] fio invoked oom-killer: gfp_mask=0x6280ca(GFP_HIGHUSER_MOVABLE|__GFP_ZERO), nodemask=(null), order=0, oom_score_adj=0
[  345.019103] fio cpuset=/ mems_allowed=0
[  345.019109] CPU: 0 PID: 2854 Comm: fio Tainted: G                 ---------r-  - 4.18.0-193.19.1.el8_2.x86_64 #1
[  345.019110] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/28/2017
[  345.019112] Call Trace:
[  345.019155]  dump_stack+0x5c/0x80
[  345.019169]  dump_header+0x6e/0x27a
[  345.019176]  ? try_to_free_pages+0xe8/0x1c0
[  345.019178]  oom_kill_process.cold.28+0xb/0x10
[  345.019180]  out_of_memory+0x1ba/0x490
[  345.019184]  __alloc_pages_slowpath+0xc40/0xd60
[  345.019189]  __alloc_pages_nodemask+0x245/0x280
[  345.019195]  alloc_pages_vma+0x74/0x1d0
[  345.019199]  do_anonymous_page+0x91/0x360
[  345.019202]  __handle_mm_fault+0x662/0x6a0
[  345.019205]  handle_mm_fault+0xda/0x200
[  345.019213]  __do_page_fault+0x22d/0x4e0
[  345.019217]  do_page_fault+0x32/0x110
[  345.019223]  ? page_fault+0x8/0x30
[  345.019224]  page_fault+0x1e/0x30

1024MB server:
Basic System Information:
---------------------------------
Processor  : Intel(R) Xeon(R) CPU           X7560  @ 2.27GHz
CPU cores  : 1 @ 1743.800 MHz
AES-NI     : ❌ Disabled
VM-x/AMD-V : ✔ Enabled
RAM        : 1.0Gi
Swap       : 0B
Disk       : 25G

Generating fio test file...main: line 229:   964 Killed                  $FIO_CMD --name=setup --ioengine=libaio --rw=read --bs=4k --iodepth=64 --numjobs=2 --size=2G --runtime=1 --gtod_reduce=1 --filename=$DISK_PATH/test.fio --direct=1 --minimal &> /dev/null
fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ----
Read       |                   () |                   ()
Write      |                   () |                   ()
Total      | 0.00 KB/s        (0) | 0.00 KB/s        (0)
           |                      |
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ----
Read       |                   () |                   ()
Write      |                   () |                   ()
Total      | 0.00 KB/s        (0) | 0.00 KB/s        (0)

Thanks for the bug report, @BCITMike! I can confirm that the issue you are experiencing occurs on my end as well with CentOS servers with minimal memory (<1GB). I'm not sure why, but it seems that CentOS handles things differently than other OSes in regards to fio and using direct IO.
One thing I immediately notice in your example is that there is no swap on the server. I just spun up a small Vultr CentOS 8 VM and it seems that adding swap gives the test enough memory to run. What I think is happening here is that your host just simply doesn't have any memory available to complete the fio test so it's immediately erroring out. Either you'll need to clear some memory or add some swap space to your host.
Regardless, the script should still detect when the fio test fails and instead invoke a basic dd disk test, which it is obviously failing to do. I'll look into this and try to get it corrected so at least some sort of disk speed results are showing. In mean time, add some swap and test on your end to see if the test completes.
Here's the results of my testing:
[root@vultrguest ~]# curl -sL yabs.sh | bash -s -- -ig
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
#              Yet-Another-Bench-Script              #
#                     v2020-09-21                    #
# https://github.com/masonr/yet-another-bench-script #
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #

Sun Sep 27 15:59:24 UTC 2020

Basic System Information:
---------------------------------
Processor  : Intel Core Processor (Haswell, no TSX, IBRS)
CPU cores  : 1 @ 2399.996 MHz
AES-NI     : ✔ Enabled
VM-x/AMD-V : ❌ Disabled
RAM        : 474Mi
Swap       : 0B
Disk       : 9.4G

fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 103.85 MB/s  (25.9k) |                   ()
Write      | 104.13 MB/s  (26.0k) |                   ()
Total      | 207.98 MB/s  (51.9k) | 0.00 KB/s        (0)
           |                      |
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ----
Read       |                   () | 0.00 KB/s        (0)
Write      |                   () | 0.00 KB/s        (0)
Total      | 0.00 KB/s        (0) | 0.00 KB/s        (0)

[root@vultrguest ~]# sudo fallocate -l 512M /swapfile
[root@vultrguest ~]# sudo chmod 600 /swapfile
[root@vultrguest ~]# sudo mkswap /swapfile
Setting up swapspace version 1, size = 512 MiB (536866816 bytes)
no label, UUID=b762eca3-5481-4113-b9db-988c91fc7d9c
[root@vultrguest ~]# sudo swapon /swapfile
[root@vultrguest ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            474         129         241           7         104         325
Swap:           511           0         511
[root@vultrguest ~]# curl -sL yabs.sh | bash -s -- -ig
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
#              Yet-Another-Bench-Script              #
#                     v2020-09-21                    #
# https://github.com/masonr/yet-another-bench-script #
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #

Sun Sep 27 16:01:20 UTC 2020

Basic System Information:
---------------------------------
Processor  : Intel Core Processor (Haswell, no TSX, IBRS)
CPU cores  : 1 @ 2399.996 MHz
AES-NI     : ✔ Enabled
VM-x/AMD-V : ❌ Disabled
RAM        : 474Mi
Swap       : 511Mi
Disk       : 9.4G

fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 103.51 MB/s  (25.8k) | 171.58 MB/s   (2.6k)
Write      | 103.78 MB/s  (25.9k) | 172.49 MB/s   (2.6k)
Total      | 207.29 MB/s  (51.8k) | 344.07 MB/s   (5.3k)
           |                      |
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 210.32 MB/s    (410) | 215.20 MB/s    (210)
Write      | 221.49 MB/s    (432) | 229.53 MB/s    (224)
Total      | 431.82 MB/s    (842) | 444.73 MB/s    (434)

@BCITMike - after further investigation, I've determined the cause of the sudden occurrence of the out of memory issue. Seems that this has been introduced in recent versions of fio. I've reverted a recent upgrade of fio, so that the repo is using version 3.17 (as it was previously) instead of version 3.23. Changes in commit 10720d1.
I've just checked this out on my end and reverting the fio versions seems to have fixed the out of memory issue. Please check on your end and verify that this is the case.

@masonr yea, it runs now to completion on the 1GB server it was failing on.  It even partially runs on 384MB server before OOM after the 64K block size. IIRC, it never got that far before.
Thanks!

I've determined the cause of the sudden occurrence of the out of memory issue.

@masonr Is there a fio bug report for this issue? I wonder if it's a regression, or an intentional change.

@masonr Is there a fio bug report for this issue? I wonder if it's a regression, or an intentional change.

After doing a quick search, it looks like this issue applies - https://github.com/axboe/fio/issues/1123
Seems it may have been patched in November, so may be worth testing again and trying the latest release. I'll add it to my todo list!


NTR Fix tests

Changes Unknown when pulling 7931efc8163f335eec748de4792a8e75a6852a9d on NTR-fix-tests into ** on master**.

Changes Unknown when pulling<PHONE_NUMBER>8f578b6a7d2acd17b96b21d6288835 on NTR-fix-tests into ** on master**.


Replace all pyansys.support references with pyansys.core ones

🐞 Problem
As suggested internally, let us replace all the references to the<EMAIL_ADDRESS>with the<EMAIL_ADDRESS>email.

@jorgepiloto @RobPasMue Do we want to replace with the<EMAIL_ADDRESS>email address or direct them to the dev portal? The ultimate objective wasn't clear to me.

I think in this case<EMAIL_ADDRESS>email address. It's mostly for requesting tokens and stuff like that.

I think in this case<EMAIL_ADDRESS>email address. It's mostly for requesting tokens and stuff like that.

@RobPasMue or @jorgepiloto Makes sense! I see Jorge already did the changes in this guide. Is this something that you want me to search for and replace in other public libraries?


Function?

What is your question?
What does function onCreate() do?

its called when you start a lua script.

This is a list of all callbacks being explained.


Clean up implementation of OverloadChoice, NFC

Rework OverloadChoice to use PointerEmbeddedInt instead of reimplementing it in a gross way.  Also, handle DeclViaDynamic the same way as DeclViaBridge
and DeclViaUnwrappedOptional.
Also, OverloadChoiceKind says that TupleIndex must be the last entry in the
enum list, so make it the last one (even though this doesn't actually cause
a bug right now).
All this is just cleanup, NFC.

@swift-ci please smoke test and merge

It looks like the mac build is failing with a Java error.  I'll try it again?

@swift-ci please smoke test and merge

@lattner You need to do a full test. Over the thanks-giving shutdown, they changed the requirement to be a full test (just giving you the FYI). I am not sure if how/if it was announced.

@swift-ci test and merge

@lattner but don't worry, I got you ; ).

Thanks @gottesmm !

@gottesmm, @tkremenek  do you have any idea what is going on here?  I'm getting java exceptions that are preventing this from being merged:
ERROR: Step ‘Github Pull Request Merger’ aborted due to exception:
java.io.IOException: Server returned HTTP response code: 405 for URL: https://api.github.com/repos/apple/swift/pulls/13061/merge
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
at org.kohsuke.github.Requester.parse(Requester.java:602)

@shahmishal does CI need to be kicked?

It looks like the OS X test hit a timeout, but it doesn't seem to be stuck. Let's try it again.
@swift-ci test and merge

I’ll take a look.

On Nov 24, 2017, at 9:29 PM, Ted Kremenek<EMAIL_ADDRESS>wrote:
@shahmishal does CI need to be kicked?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thank you! :)

This error message came from running @swift-ci  smoke test and merge, however we require full test during thanksgiving break.
error message:
‘’’
Caused: org.kohsuke.github.HttpException: {"message":"2 of 2 required status checks are pending.","documentation_url":"https://help.github.com/articles/about-protected-branches"} at org.kohsuke.github.Requester.handleApiError(Requester.java:690)
’’’
https://ci.swift.org/view/Pull Request/job/swift-PR-smoke-merge/667/console

Thank you for the help everyone!


[Bug] Hovers Should Have A Minimum Width / Height

Testing #185751

I think the minimum size should me much bigger:

Currently the minimum height is the line height plus 8 pixels, and the minimum width is 4/3 times the minimum height. Do you think the minimum width should be larger?

Do you think the minimum width should be larger?

I think a min width of 150px could work

To verify:

Open a hover and make sure that the hover can be sized down to a minimum width of 150px provided that the hover width is naturally above 150px
Open a small hover with a natural width smaller than 150px, verify it can not be sized down to a smaller width than its initial width


Switching between cultures in dropdown redirects to default culture

I followed the steps given by you, but face with the problem given in the title:
Switching between cultures in dropdown redirects to default culture.
I wrote to many forums but none of their advice could help me solve it. Here is the link where you can get detailed info and used codes, browser results, etc.
https://forums.asp.net/t/2154249.aspx?Switching+between+cultures+in+dropdown+redirects+to+default+culture
Please, review attentively, you must know what might cause this problem.
Thanks in advance
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d1833676-ff1b-c587-cc9c-81afffa8ef68
Version Independent ID: ad989395-3f49-4d55-521e-cf6fe56281ee
Content: Globalization and localization in ASP.NET Core
Content Source: aspnetcore/fundamentals/localization.md
Product: aspnet-core
Technology: aspnetcore-fundamentals
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

@hishamco please review.

Please refer to the Localization.StarterWeb or to my LanguageSwitcherTagHelper

@hishamco  شكرا جزيلا.

You're welcome any time Rick :)

I stumbled upon this too. There is a correlation between the GDPR cookie consent feature middleware, which will prohibit setting the cookie when the user has not yet given his consensus.
Thanks @hishamco for providing the tag helper.

@rschindhelm I did that before GDPR support, you can file the issue in my repo, hopefully to work on what you asked for
thanks


Update README and changelog

Description
Update changelog, version, and README.
Related Issues
*Replace this paragraph with a list of issues related to this PR from the issue database. Indicate, which of these issues are resolved or fixed by this PR.
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]).
This will ensure a smooth and quick review process. Updating the pubspec.yaml and changelogs is not required.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

Thanks James!
Some thought: I was wondering if it would make sense to separate this readme into different .md files that can be linked from the readme, so the readme is short and provides the top things that most folks care about. wdyt?

Thanks James!
Some thought: I was wondering if it would make sense to separate this readme into different .md files that can be linked from the readme, so the readme is short and provides the top things that most folks care about. wdyt?

Sure, I can separate out the README into sections in a subsequent PR.


As/finalize docs

Closes #55 with ebcad6f1a1a97fc695d70143d3838a896aabc70f
Update readme
Add reflection

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.48%. Comparing base (cdf065c) to head (7689118).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #75   +/-   ##
=======================================
  Coverage   97.48%   97.48%
=======================================
  Files          10       10
  Lines         397      397
  Branches       13       13
=======================================
  Hits          387      387
  Misses          8        8
  Partials        2        2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[WIP] Contributing Documentation

There is no clear path to contribute to the project as brought up in  #77.    This is the start of the contributing documentation/development setup.
I have no doubt that the documentation will go through many changes, but they need to start somewhere.

I thought I was using the most up to date version of master...  I guess not.

I have no idea why the release versions are failing.  It appears to be something with a Mongo DB as far as not entirely removing case between tests.

I would suggest locking mongoengine at 0.17 for now - 0.18 was released 7 hours ago - we can decide with a separate PR to update if and when we want to....

Fair enough.  I fixed it with that last commit.  I'll open a separate pull request with that change.

Apparently requirements-builder does not take setup-requires into account...  Had to pin Babel to be at least 2.7 (this is what it is from the original setup.py)

I am going to close this - I took the CONTRIBUTING piece and added it to master with the current instructions. We can revisit this larger PR at some later date - maybe once we drop 2.7 support.


In auto-start/stop with a Slow level, the device turn on, a few minutes after it turns off.

Discussed in https://github.com/jmcollin78/versatile_thermostat/discussions/603

Originally posted by t0mb080 November  4, 2024
See original post at the end. There is logs :
Sorry to throw more issues in, but maybe it's worth some slower parameters? Or maybe some expert mode parameters, like for the self-regulation because below is a case where it was on 'slow' start/stop but it still started and stopped within two minutes.

2024-11-10 15:38:29.566 DEBUG (MainThread) [custom_components.versatile_thermostat.auto_start_stop_algorithm] AutoStartStopDetectionAlgorithm-Office thermostat - calculate_action: hvac_mode=off, saved_hvac_mode=heat, target_temp=20.0, current_temp=20.4, slope_min=-0.04616666666666667 at 2024-11-10 15:38:29.566666+00:00
2024-11-10 15:38:29.566 INFO (MainThread) [custom_components.versatile_thermostat.auto_start_stop_algorithm] AutoStartStopDetectionAlgorithm-Office thermostat - We need to start, because it will be time to heat
2024-11-10 15:38:29.566 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - Turning ON the Vtherm due to auto-start-stop conditions
2024-11-10 15:38:29.568 DEBUG (MainThread) [custom_components.versatile_thermostat.auto_start_stop_algorithm] AutoStartStopDetectionAlgorithm-Office thermostat - calculate_action: hvac_mode=heat, saved_hvac_mode=heat, target_temp=20.0, current_temp=20.4, slope_min=-0.04616666666666667 at 2024-11-10 15:38:29.568827+00:00
2024-11-10 15:38:29.568 DEBUG (MainThread) [custom_components.versatile_thermostat.auto_start_stop_algorithm] AutoStartStopDetectionAlgorithm-Office thermostat - new calculation of auto_start_stop (2024-11-10 15:38:29.568827+00:00) is too near of the last one (2024-11-10 15:38:29.566666+00:00). Forget it
2024-11-10 15:38:29.569 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - Calling ThermostatClimate._send_regulated_temperature force=False
2024-11-10 15:38:29.569 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - regulation calculation will be done
2024-11-10 15:38:29.569 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - Regulated temp have changed to 15.6. Resend it to underlyings
2024-11-10 15:38:29.570 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - Calling ThermostatClimate._send_regulated_temperature force=True
2024-11-10 15:38:29.570 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - regulation calculation will be done
2024-11-10 15:38:29.570 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - Regulated temp have changed to 15.5. Resend it to underlyings
2024-11-10 15:38:29.573 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - Calling ThermostatClimate._send_regulated_temperature force=False
2024-11-10 15:38:29.573 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - period (0.0) min is < 5 min -> forget the regulation send
2024-11-10 15:38:31.516 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - Underlying climate climate.office have changed. new_hvac_mode is heat (vs heat), new_hvac_action=off (vs off), new_target_temp=17 (vs 20.0), new_fan_mode=Auto (vs Auto)
2024-11-10 15:38:31.516 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - underlying event is received less than 10 sec after command. Forget it to avoid loop
2024-11-10 15:39:01.246 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - Underlying climate climate.office have changed. new_hvac_mode is heat (vs heat), new_hvac_action=idle (vs off), new_target_temp=16.0 (vs 20.0), new_fan_mode=Auto (vs Auto)
2024-11-10 15:40:10.961 DEBUG (MainThread) [custom_components.versatile_thermostat.auto_start_stop_algorithm] AutoStartStopDetectionAlgorithm-Office thermostat - calculate_action: hvac_mode=heat, saved_hvac_mode=heat, target_temp=20.0, current_temp=20.6, slope_min=-0.014 at 2024-11-10 15:40:10.961700+00:00
2024-11-10 15:40:10.961 DEBUG (MainThread) [custom_components.versatile_thermostat.auto_start_stop_algorithm] AutoStartStopDetectionAlgorithm-Office thermostat - nothing to do, we are heating
2024-11-10 15:40:10.961 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - Calling ThermostatClimate._send_regulated_temperature force=False
2024-11-10 15:40:10.962 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - period (1.7) min is < 5 min -> forget the regulation send
2024-11-10 15:40:30.005 DEBUG (MainThread) [custom_components.versatile_thermostat.auto_start_stop_algorithm] AutoStartStopDetectionAlgorithm-Office thermostat - calculate_action: hvac_mode=heat, saved_hvac_mode=heat, target_temp=20.0, current_temp=20.7, slope_min=-0.0028333333333333335 at 2024-11-10 15:40:30.005585+00:00
2024-11-10 15:40:30.005 DEBUG (MainThread) [custom_components.versatile_thermostat.auto_start_stop_algorithm] AutoStartStopDetectionAlgorithm-Office thermostat - new calculation of auto_start_stop (2024-11-10 15:40:30.005585+00:00) is too near of the last one (2024-11-10 15:40:10.961700+00:00). Forget it
2024-11-10 15:40:30.005 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - Calling ThermostatClimate._send_regulated_temperature force=False
2024-11-10 15:40:30.005 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - period (2.0) min is < 5 min -> forget the regulation send
2024-11-10 15:40:50.058 DEBUG (MainThread) [custom_components.versatile_thermostat.auto_start_stop_algorithm] AutoStartStopDetectionAlgorithm-Office thermostat - calculate_action: hvac_mode=heat, saved_hvac_mode=heat, target_temp=20.0, current_temp=20.8, slope_min=-0.0005 at 2024-11-10 15:40:50.058521+00:00
2024-11-10 15:40:50.058 INFO (MainThread) [custom_components.versatile_thermostat.auto_start_stop_algorithm] AutoStartStopDetectionAlgorithm-Office thermostat - We need to stop, there is no need for heating for a long time.
2024-11-10 15:40:50.058 INFO (MainThread) [custom_components.versatile_thermostat.thermostat_climate] VersatileThermostat-Office thermostat - Turning OFF the Vtherm due to auto-start-stop conditions

Thanks to @jmcollin78 and anyone else that might be able to shed light on this.

My units are still doing this, so I can't make use of the auto start/stop currently.
I think the most robust way of doing this is simply to have a condition that automatically turns off when the temperature is X degrees over target for Y minutes, e.g. when it's 1.5 degrees over target for 15 minutes.  The would make it impossible for the unit to turn on twice within the Y minutes
You could do this by monitoring the temperature every time a VTherm runs and storing some state about the last time it was more than X degrees over target.  However, is it possible to check the actual time series history of the measured temperature over the period at every run instead to compare to the current target?  This would have the following advantages:

No stored state, leading to increased reliability.  A lot of bugs are due to the management and invalidation of state.
It would be immediately responsive to temperature target changes, e.g. when the target was reduced it would switch off immediately rather than have to wait the Y minutes.
On switch on, it could immediately tell it should be off and not switch on at all, rather than switch on when it's not needed and then wait Y minutes to switch off again.

I think the most robust way of doing this is simply to have a condition that automatically turns off when the temperature is X degrees over target for Y minutes, e.g. when it's 1.5 degrees over target for 15 minutes. The would make it impossible for the unit to turn on twice within the Y minutes

I think it is more complex than this. The temp can be x min above the target but if the slope is decreasing, it could be possible to reactive the VTherm just after turning it off.
Mostly this is what I do to calculate the auto-start/stop but I also take into account the slope of the temp curve to forecast when Vtherm will need to turn on.

You could do this by monitoring the temperature every time a VTherm runs and storing some state about the last time it was more than X degrees over target

I do that with the calculation of an error (target - room t°) and sum this errors over time. When the error goes over a threshold that mean the t° have been enough above target. With the slope calculation you have the 2 conditions to turn-on or off. And it is working really fine on my 3 devices. Be careful with too naive algorithm which can be not robust (T° sensors are not reliable, VTherm can be off for window detection, target t° can change due to presence, motion, power management, ...). So we need a robust algorithm.
I will see if there is something I can do for this issue but for now I'm on a big change (Sonoff TRV), so you will have to wait.

Finally I add a delay between two start or stop depending of the level. 30 min in slow, 15 in medium, 7 in fast.

https://github.com/jmcollin78/versatile_thermostat/releases/tag/6.8.1


Feat/signup page

Description

Add custom layout for sign up (B2C).
Links:
signup: https://bit.ly/3K3xysb
signin: https://bit.ly/34GvVAE
References

555

question: It doesn't seem like I can access the sign up page anymore? When I open the link above in a private window, I get redirected to the sign in page instead. Should I do something else?

question: It doesn't seem like I can access the sign up page anymore? When I open the link above in a private window, I get redirected to the sign in page instead. Should I do something else?

@dzhavat Seems like the links has changed after Daniel and I have setup all the environments. The links in descriptions are now updated.


Issues when binarizing a huge dataset using fairseq-preprocess (1.4TB)

Issue
I'm having issues when binarizing a huge dataset using fairseq-preprocess. Despite having 64GB of system memory and other mentions of preprocess not needing to read the entire file, I'm still getting an OOM error ~a third through binarizing the data (the .bin files right before the process was killed reached ~500GB in total).
What have you tried?
Referencing this previous issue, I'm seeing that the current guidance is to shard the file and run the preprocessing step for each smaller file. This is fine, but the main concern that was never addressed in that issue is a new dict.txt file is created for a each preprocessing run (since it sees a different subset of the data). I need a way to have a unified dict.txt file since we will be using this model in the future and will need to tokenize inference data uniformly.
How can I ensure this will happen accordingly?
What's your environment?

fairseq Version (e.g., 1.0 or main): custom branch from MPNet source code
PyTorch Version (e.g., 1.0): 1.10.2
OS (e.g., Linux): Ubuntu 18.04
How you installed fairseq (pip, source): source, but a custom source in the MPNet source code here
Build command you used (if compiling from source): pip install --editable pretraining/
Python version: 3.6.9
CUDA/cuDNN version: 11.6
GPU models and configuration: NVIDIA A10G

Just for posterity, we can create a static dictionary by using a tokenization strategy before binarizing to have a srcdict. This way the dict is always the same.


Is re-send confirmation email link broken?

Many people are saying that it's broken.

Indeed it was. Fixed in main. Just a small typo.


add SAGA GIS

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

Microsoft Reviewers: Open in CodeFlow

thank you.
there is  Silent: /SP- /VERYSILENT /SUPRESSMSGBOXES
which, if I run it directly with the exe works, but not with the manifest. I thought it was because it triggered SmartScreen notification.

Looks like the installer is Inno.  Not sure why your manifest did not work.  Sorry about that.  I just tweaked it by changing it from InstallerType exe to Inno, and removed the silent switch.  That seemed to work.


Horizontal Menu

Do you know if there could be a horizontal menu instead of a sidebar menu?

@karneaud Currently we don't support horizontal menu, you can build your one: https://element.eleme.io/#/en-US/component/menu


From Another Time - Talk to anyone, visit a place, past or future.

https://chat.openai.com/g/g-sg5h7XuWn-from-another-time

Merged


az storage blob upload-batch: unclear documentation

Environment summary
(Same as in my last issue.)

Description
The documentation of az storage blob upload-batch is really unclear.

It seems to me that the description of the destination argument has a few occurrences of "source" that should really be "target".

The doc for the source argument is ungrammatical in a confusing way too.

It fails to specify what happens when the source directory has nested directories: is the structure copied? flattened? or maybe subdirs are ignored?

It is really unclear what "shape" should a URL destination have.  An example would help a lot.  (I had to read the source, and the only thing I could figure is that it can be the container name, which I used.)

It also fails to mention that the destination can be "/".

Slightly unrelated: it'd be nice if the syntax of this would be similar to the syntax of the upload subcommand.  Even better, if there was only upload, and it had a flag specifying that the source is a glob pattern for several files to upload.

I forgot to add: when I tried to see if I can guess the syntax of a destination url, I kept getting the same unhelpful error message:
incorrect usage: destination cannot be a blob url

Closing this as most of these issues have been addressed;
-docs should be more clear (please raise issues for any further problems)
-urls are taken from portal; cli users can just specify the container name for their destination


Create demo materials for Craig

Deck in progress
Outline is completed but content and information information need to be finished
https://docs.google.com/presentation/d/1VIQPTjCaD2uvaFGBecsbTlq69ORuTZWcnvk-b0M9I7k/edit#slide=id.p

[ ] Complete deck (need help on product slides)
[ ] Demo environment for testing
[ ] Real proposal on go-live and support model


Move live-dev-profile / make it smaller

Hello!
Im working in a enviorment where my "C:\Users******\AppData\Roaming" folder cant be to big, and the live-dev-profile keeps filling my space up. Is it possible to tell brackets so store this data in another place? If so, how would you go about doing this?
Thanks!
Jakob

I have not seen brackets taking too much memory (above 50mb) in the roaming folder.
What is the memory limits you are on. Also the use case in which the live dev profile folder has large size?

Try minimizing the cache size for live-dev-profile. You should be able to do this by opening Live Preview, then edit cache settings in that browser window.
Another option is to switch to the new multibrowser live preview using Enable > Experimental Live Preview. This will use default browser profile instead of live-dev-profile.

@redmunds Thanks for the info. I didn't know that.

@abose i dont have to much space to work with in the roaming profile, around 10gb's i think. It holds alot of info from different programs so every bite counts.
After 1 day of brackets use my live-dev-profile was 350MB, so it was filling up quite fast.
But after clearing my chrome history it went down to 75, so that is good.
I will try @redmunds suggestions during the day.
Thanks for the answers guys!

Fixed in https://github.com/adobe/brackets-shell/pull/596


When i disable close window - i can't quit in darwin

in browser-window script
window.onbeforeunload = function (e) {
    return false;
};

in app script
window.on('close', function () {
    window.hide();
});

app.on('activate-with-no-open-windows', function () {
    window.show();
});

it's good working for me: when i close window - window hide, when i click to app in dock – window is show. But i cant quit from app by CMD+Q

I solved this with add this code:
app.on('before-quit', function () {
   window.destroy();
});

Closing it since it has been solved.

window.destroy() should be avoided if possible; this code might be a cleaner way to do what you're trying to do.


[20.09] nixops: unbreak

Motivation for this change
Backport PR for #112407. Please note that I removed nixopsUnstable here on purpose as this would've meant that another PR had to be backported and I didn't manage to get it building without deeper investigation.
cc @madonius
Things done

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

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

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

@Ma27 Instead of outright removing nixopsUnstable could you make it an alias for nixops?

Good point! Pushed a commit for that! :)

@adisbladis anything else? Otherwise I'd merge :)

anything else? Otherwise I'd merge :)

Nothing else :) Been AFK for a couple of hours.


[Envoy] Blade Template -- No Newline Breaks Deployment

Using the code from the example in the documentation:
@servers(['web' => '<IP_ADDRESS>'])

@task('deploy', ['on' => 'web'])
    cd site
    git pull origin {{ $branch }}
    php artisan migrate
@endtask

and running envoy run deploy --pretend --branch="banana", I get the following output:
cd site
git pull origin banana    php artisan migrate

I expect:
cd site
git pull origin banana
php artisan migrate

(and indeed, that's the code it tries to execute if I don't --pretend, causing an error in the deployment)
This issue is mentioned in #4638 and @taylorotwell commented that he fixed it for Envoy, so I'm not sure if this is a regression or what? But I think it looks like it needs to be looked at again.
The current solution isn't terribly awful (changing the one line to git pull origin {{ $branch . "\n" }}, but it took me a long time to track down the first time, so it would be nice to be fixed or at least the docs updated to mention it.

If it matters, I am using Envoy standalone, i.e. my composer.json:
{
    "require": {
        "laravel/envoy": "~1.0"
    }
}

I was getting errors on any version before 1.0.16, but was able to reproduce this issue on every version between 1.0.16 and 1.0.21 (the latest at the time of this writing) except 1.0.20 which gave me an no macro 'deploy' error.

I can confirm this problem.

Just put ; after each line

The fix isn't difficult. Trying to diagnose why copying a script verbatim from the docs and having it not work is the bare minimum issue here.

Just put ; after each line

:+1

@GrahamCampbell Can we at least update the docs then? Copying a pasting a example from the docs and not having it work is very frustrating.
The following snippet found on http://laravel.com/docs/5.1/envoy, does not work as it currently is:
@servers(['web' => '<IP_ADDRESS>'])

@task('deploy', ['on' => 'web'])
    cd site
    git pull origin {{ $branch }}
    php artisan migrate
@endtask

No comment about needing a ;, just arguably broken code, and if you argue it's not broken, then it's definitely a broken example. Very much not :+1:
:cry:

@JeroenNoten Appears to be prepping a PR. Thanks man. :)

Sweet. Now I can :+1:. More than just fixing the example, it may good to call it out explicitly.

No problem!
An explicit note may be nice indeed.

Thanks @JeroenNoten! I guess I could have done a PR, but wanted to talk about if it would be better to fix the code instead, and I was having a harder time figuring that one out.

Yep, for me the same, couldn't find an easy way to solve it. And because this issue is here already for a long time, I thought a fix in the documentation is a better (maybe temporary) solution. Hopefully there will be a fix in the code some time...

This issue also existed in Blade and was fixed sometime last year so we probably just need a similar fix here.

Fixed.

This should be fixed in Envoy 1.0.25.


Theo/bye bye 2023

dont fetch proposed actions on head
auto open new changeset if adding action on head
fix logic around change set auto selection

bors merge


Better Support for Dynamic Dockables

Right now the framework relies entirely on the application code to create and register dockables. This works well for most cases, but there are cases where the application might dynamically create dockables during an application run. These dynamic dockables will be saved to the layout file and discarded upon restoration because the dockable is not registered. That is, unless the application has separately persisted these dockables and created and registered them before loading the layout.

I think this can be even more dynamic if we can tell the layout builder what class a dockable should use. That way you could restore a layout without any of the dockables being created by the app ahead of time.

The framework will now dynamically create an instance of the dockables class, if possible and restore that dockable. If the dockable is undocked in the layout file and no dockable is registered for that ID, then it is discarded.


TODO: Create variable for course information

To put together Course Object we need the following data from the CourseInfo call's response.data
const [courseinfo, setCourseInfo] = useState([])
setCourseInfo(response.data) //var name = courseInfo
These fields will be used
TeeBoxes[0].BackPar
TeeBoxes[0].FrontPar
TeeBoxes[0].CoursePar
TeeBoxes[0].Holes - Array with details and handicaps from each hole
.Handicap
.HoleNumber
.Par
.RelativeDifficulty9 - Handicaps each nine in order by 1-9, not 1-18, this is what we'll iterate on for points and strokes

pulling all info through axios calls, 304a47201dc5c8074977a2ffad3b495e6c80410c


Publish topic to PDF breaks if topic has conref to element defined in DITA Map

Tested with DITA OT 2.5.2.
I have a DITA Map which has a keyword with an ID:
<topicmeta>
  <keywords>
    <keyword id="kid">
      some text.
    </keyword>
  </keywords>
</topicmeta>

and a topic which refers to it:

<keyword conref="../../eXml/samples/dita/flowers/flowers.ditamap#kid"/>

When I publish that topic to PDF, the output breaks with:
   D:\projects\eXml\frameworks\dita\DITA-OT2.x\plugins\org.dita.pdf2\build.xml:136: Failed to run pipeline: Failed to process merged topics: Invalid element name. Invalid QName {}

The failure is on an "xsl:element" in the "org.dita.pdf2\xsl\common\topicmergeImpl.xsl"
This occurs because somehow the transformation considers that a DITA Map is processed instead of a DITA topic and the "topic-merge" pre-processing steps are called although it is a plain topic.

Another way to reproduce this (which was the case of the original content I obtained from the end user) is to have in the published DITA topics a link pointing to a DITA Map:
        <link href="../../../someName.ditamap" format="ditamap"/>

Of course this is a problem with the DITA content as that link will never work but again this confuses the build process to consider that a DITA Map is published and not a DITA topic.

This (at least the conref case originally reported) is fixed in DITA-OT 3.0 with preprocess2. My sample set fails in 2.5.4 but builds a PDF in 3.0 (with the conref resolved).
2840.zip
I expect that PDF based transform types that use preprocess will still see the error in 3.0.


propose fix for ww-4456

HI Lukasz,
This is a proposal to fix WW-4456 - Got NPE when File Upload Limitation exceeds in portal env.
We should catch in any case a FileUploadException, then try to cast down if we want any info about the exception. Valid subtype of FileUploadException:
InvalidContentTypeException
IOFileUploadException
SizeLimitExceededException
FileSizeLimitExceededException
I couldn't get the complete test on a running test env, because I had issues getting the logging to work.
But it seems to works.

Closed; Just got contaminated with other changes

The simplest approach it to not reverse merge master into your PRs till they are green.


I buy the version patch please !

Hi Astraa, its possible to buy the version patch please ?
My discord : Baksa#1871

i have a working patched version if you still want

i have a working patched version if you still want

Yes please, add @ven0meuh on Telegram