Add travis-cargo Support

Status

[x] .travis.yml

[x] Update .travis.yml with necessary features for travis-cargo support.

[x] Add code to load travis-cargo
[x] Enable doc-upload and coveralls features of travis-cargo.
[x] Add encrypted GH_TOKEN variable

[x] Add 1.8.0 build train to .travis.yml.
[x] Add osx to os matrix in .travis.yml.
[x] Enable cargo caching in .travis.yml to speed up CI build time.
[x] Enable cargo bench and cargo doc commands in .travis.yml script section.
[x] Add RUST_BACKTRACE=1 env var to .travis.yml.
[x] Enable .travis.yml builds on the auto branch.

This is necessary for future Homu support

[x] Re-deny CI build failures on the beta train

I don't think it's correct to allow CI build failures on the beta train because ideally you want to fix errors as they appear in nightly builds, before the propogate to beta builds

[x] Fix the way the PATH variable is generated to be OS-specific

[x] README.md

[x] Bump minimum required version notice from 1.7.0 to 1.8.0

[x] Other

[x] Rename all instances of the nightly feature to unstable for compatibility
with travis-cargo.

travis-cargo automatically adds the unstable feature to nightly builds, which we want (to test syntex macro codegen), but our equivalent feature was named nightly so I renamed it

[x] Remove docgen.sh in favor of travis-cargo doc-upload.

Related Issues/PRs

Might depend on #222 - Modify Travis CI Configuration to Execute All Tests
Closes #226 - Modify Travis CI Configuration to Utilize travis-cargo
#247 - Add Homu Support

Currently awaiting an encrypted GH_TOKEN from @matthewkmayer or @jimmycuadra.
Additionaly requesting input regarding re-enabling of build failure detection on beta and whether or not the current build matrix (8 builds) is acceptable.

The latest commit also adds code to build and test codegen. Let me know if you want to keep it or remove it.
Ideally, codegen would have its own tests, which we would run as well.
But since we don't want to run them everytime we change something in rusoto itself, perhaps codegen should be moved to a separate repo?

So yeah, with the full 8 builds + codegen build and test it took 1 hour and 34 minutes.

Encrypted GH_TOKEN: https://github.com/rusoto/rusoto/pull/266 .

Thanks!

@matthewkmayer, @jimmycuadra this should be ready for code review and merge once https://travis-ci.org/rusoto/rusoto/builds/131562978 passes.

Interesting, the OS X builds failed on everything but nightly with a stack overflow.
This should be fun to debug... does anyone have an OS X machine available to test this locally?
Here's the difference in the build commands:

nightly

--cfg feature=\"unstable\" --cfg feature=\"serde_macros\" --out-dir /Users/travis/build/rusoto/rusoto/target/release/build/rusoto-5e7aad325da304c2 -L dependency=/Users/travis/build/rusoto/rusoto/target/release -L dependency=/Users/travis/build/rusoto/rusoto/target/release/deps --extern rusoto_codegen=/Users/travis/build/rusoto/rusoto/target/release/deps/librusoto_codegen-d08d52cd76393819.rlib

non-nightly

--cfg feature=\"default\" --cfg feature=\"with-syntex\" --out-dir /Users/travis/build/rusoto/rusoto/target/debug/build/rusoto-30ddc9615034eea7 -L dependency=/Users/travis/build/rusoto/rusoto/target/debug -L dependency=/Users/travis/build/rusoto/rusoto/target/debug/deps --extern rusoto_codegen=/Users/travis/build/rusoto/rusoto/target/debug/deps/librusoto_codegen-48a79da63edd4315.rlib

The fact that the issue didn't occur on nightly leads me to believe the issue is somehow tied to our unstable feature. The tests also didn't fail the last time they were run which means the failure is due to a change between now and then (either on the rusoto master branch, this PR, or an external dependency).
Once I have some time, I'll open a PR for testing purposes which builds on OS X to isolate the issue to determine if it's caused by a change outside of this PR.
Additionally, @matthewkmayer, @jimmycuadra could you re-run the build referenced above to see if the issue is caused by an external dependency update?

I've got a macbook I can give it a shot on when I get a chance to boot it back over into OS X.

I restarted that build as requested.

I gave this PR a spin locally on my macbook and it ran fine.
cargo build --features all && cargo test --features all && cargo bench --features all which should be close to what cargo-travis runs.  But I'll see if I can run things via travis-cargo locally and replicate it.

Interesting. Well the restarted build failed, which leads me to believe this is not a rusoto issue but an issue with some external dependency (since the code is identical to the first time the build was run). Not sure where to go from there.

Per a discussion I had on the #rust IRC channel, the obvious reason for this stack overflow to occur on Travis CI and not locally for you is differences in stack size. I've adding a ulimit -a statement to the .travis.yml temporarily to determine the remote stack size on Travis CI. Then I can set my local stack size to that locally with ulimit -s <kilobytes> to see if I get the same issue.
If I do, then that leaves two reasons I can see for this issue: either an external dependency was modified such that it requires more stack space (pushing us over the limit) or Travis CI has recently decreased the available stack size.

According to the ulimit -a result, the Travis CI OS has a specified stack size of 8192 kbytes. I have the same amount locally, yet the build doesn't fail for me. @adimarco, @matthewkmayer: could you run ulimit -a to determine your stack size locally, and if it is greater than the Travis CI stack size set it to the Travis CI amount with ulimit -s, to see if you can reproduce the issue locally?

So with Yurume's help on IRC, we attempted to reproduce this issue but had no luck on OS X 10.10.5 on rustc 1.8.0.
Yurume tried limiting the stack size to 1024 (from 8192), and it still built correctly, even when run as travis-cargo build -- --features all, which leads me to believe there's something at play here that I'm missing.

I rmd the Cargo.lock file before running the commands locally.
ulimit -a on OSX 10.11.4:
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 256
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 709
virtual memory          (kbytes, -v) unlimited

Maybe we should trim down what we're doing in the build step to just travis-cargo build -- --features all and see if we can reproduce with just that.

Mkay I'll do that once I'm at my dev machine.

Some light digging on a Friday morning:
https://github.com/rust-lang/cargo/issues/1897 and https://github.com/rust-lang/cargo/pull/1908/files#diff-847cd20bb1f94e626f11c2eb7358f4beR67 .
http://stackoverflow.com/questions/29937697/how-to-set-the-thread-stack-size-during-compile-time for a little more detail regarding threading.
My current WAG: our build script isn't releasing memory properly or it's allocating too much for default stack frame sizes in OSX.  Potential solution: spin off threads for each service definition generation.

Oh, the nightly build does codegen different: stable uses syntex and serde_codegen, nightly uses serde_macros.  I wonder if that's where the difference lays.

Yeah that's what I was thinking too.

https://github.com/serde-rs/serde/issues/229 may be the issue and there's workaround info in there.

@matthewkmayer: great, thanks! I'll take a look at that once I have a chance.

It looks like there's an upstream fix (or at least workaround) in that issue; updating to serde 0.33 should pick it up.

Err, serde 0.7.8, syntex 0.33.

@luser thanks for the info! @matthewkmayer could you trigger a re-build of the last Travis CI build? It should build it with the latest serde/syntex.

@indiv0 - @matthewkmayer is spending the month incommunicado, driving a motorcycle from Oregon to Alaska (4rlz).  I just restarted the Travis CI build for you though.  Poke me if it needs doing again.

@adimarco, thanks, good to know! That sounds really cool. Also thanks for restarting the build.
@luser Looks like we still get the same issue with the latest version. I'll look into it more.

I pushed a Travis build of my project that used my fork of rusoto where I had version bumped serde/syntex and still hit the problem as well. :-(

We just bumped serde/syntex again in master - maybe time to do some merging and give this another go?

Yep. I'll give it a go.

Rebased. Waiting for the CI build now.

Nope. Still the same damn thing.

@adimarco Since the OS X rusoto builds would fail right now anyways (not as a result of this PR), how about I just add them to the allow_failure list for now so we can merge this PR already, then open a tracking issue for solving this upstream in syntex/libsyntax?
That way we can start utilizing the benefits of this PR without having to wait an unknown amount of time for an upstream fix.

FWIW, I tried switching my Travis build to a different version of OS X:
https://github.com/luser/sccache2/commit/0f4c6b888e6810dbb4464f03903de795f65fc164
but that didn't fix it:
https://travis-ci.org/luser/sccache2/jobs/139535522

@indiv0 adding this failing build to the allowed failures sounds good to me, it'll let us get this unstuck and merged in.

Ok I'll work on that once I get a chance.

Updated and rebased. Awaiting the new build.

@adimarco any idea what's causing that build failure?

Looks like one of the newly added services' definition file isn't getting parsed right:
thread '<main>' panicked at 'Could not convert JSON in "/home/travis/build/rusoto/rusoto/codegen/botocore/botocore/data/cloudhsm/2014-05-30/service-2.json" to Service: Syntax(missing field "version", 1302, 1)'

Looks like the botocore submodule needs to be updated in this branch.  It's been done in master, maybe that didn't get included in the recent rebase?  I'm not sure how submodules work with rebasing.
The version attribute that it complains is missing has been added to the service definition in botocore, though 'git blameonbotocore/data/cloudhsm/2014-05-30/service-2.jsonin the up to date repo says it was fairly recently on2016-03-17`
In master, I show the submodule as:
$ git submodule status
 cd4900599ab616bb9c1302e86413e5ff1825bb18 codegen/botocore (1.4.22)

Alright. I saw the submodule update while I was rebasing although I guess I committed it wrong. I'll fix it.

@adimarco @matthewkmayer alright, looks good to merge!

Actually, one sec, the rebase included the last master commit somehow. I fixed and pushed, so it's building now.

This looks good to me.  @indiv0 - did you still have something you wanted to fix with the rebase, or should I go ahead and merge?

Also, @indiv0 - while I have your attention and since this seems vaguely related - what magical incantation do you use to run clippy?  I have never once successfully made it run.  It currently explodes due to an upstream dependency mismatch of the Syntex variety (the quasi_macros crate I think). Do you get that?  Am I just invoking it incorrectly?

Nope, good to merge.
The incantation I use is:
cargo run --no-default-features --features "all nightly-testing"

Yay! It worked! The next step (if you wish) would be to enable code coverage tracking for rusoto at https://coveralls.io


Configure wet run testing

This PR is created to run github actions configured for hippunfold wet run tests.

Approving this without much further thought since workflows can only be manually triggered if they are in the main branch.


Add CKCM,Inc to PH .edu domain

Register Christ the King College de Maranding, Inc.

@Phojie First stage of verification passed, official domain is facebook.com as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision. Proof of domain ownership: https://www.facebook.com/CKCMOfficial/

Hello @philipto, I hope you're doing well. Thanks for your time. To verify our school's domain, you can visit https://my.ckcm.edu.ph/. Our school portal (ckcm.edu.ph) is currently under development. If you require additional information to confirm our school's legitimacy, please do not hesitate to inform me. 🚀

@Phojie I am sorry, I cannot verify the eligibility of this domain for this repository without working official website.
Please apply for free educational license with an official document which proves that you are a student. You can do it using "OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students.
I have to close the request without merging.
Thank you for your understanding!


[Guide] Setting up your Socket.io server - Nginx

First make sure your nginx server is set up properly. I will not be showing you how to set up the server, you should already know this,

In the location block of the website you're going to be using add:

        location ~* \.io {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header X-NginX-Proxy true;

            proxy_pass http://localhost:9001;
            proxy_redirect off;

            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }

Create a folder(name it anything, in this example ill call it "signal") somewhere within your website's location, follow the example below..

mkdir signal
cd signal
git clone https://github.com/muaz-khan/RTCMultiConne                                                                                ction-Server.git ./
npm install
node server

3 (optional). the server will then proceed to start. If you want to enable ssl you need the ssl key and ssl cert, put that in the config.json located in the signal folder, and change the location block proxy_pass to proxy_pass https://localhost:9001;
your socket url will look like this when submitting:
connection.socketURL = '/';

Created wiki-page:

https://github.com/muaz-khan/RTCMultiConnection-Server/wiki/Nginx-Configuration


Style/grid

FRONT

Creating a layout.html page for inheritance in other pages.
Creating a monthview.html: Calendar main layout for monthly view.
Creating CSS class for base web theme according to mockup.

BACK

Creating a temporary rout "monthview" for monthly view representation.
Creating a library calendar_grid.py - for all functions deals with managing calendar grid dates information.

Where are your tests?

Where are your tests?

Please change the PR to merge into PythonFreeCourse:develop

Please change the PR to merge into PythonFreeCourse:develop


Upload Pictures for README.md

Upload pictures for README.md at Application directories.
Self evaluation:

Build test:	 [X]Passed [ ]Failed [ ]Skipped
Run test:	 [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.4.20191203. Thank you for submitting PR #3. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ec2-54-180-96-14.ap-northeast-2.compute.amazonaws.com/.


Utils.pad() the argument pad type should be string.

In http://phaser.io/docs/2.3.0/Phaser.Utils.html#pad
pad     number    The string to pad it out with (defaults to a space).

The description says it is a string, but type says it is a number.
and the typescript file https://github.com/photonstorm/phaser/blob/master/typescript/phaser.d.ts#L4740 should be fix too.

Thanks, both fixed.


[Windows] Improve build environment detection, add support for Windows on ARM.

Adds support for Windows on ARM builds (MSVC and MinGW).
32-bit ARM is also supported by the build system, but not tested (are there any 32-bit ARM Windows devices at all?).
Improves build environment detection.

Supported build option:

Running from MSVC environment: architecture is detected automatically, mismatching arch flag cause error.
Running from MSYS2 target specific environment: architecture is detected automatically, mismatching arch flag cause error.
Running for generic terminal: any arch can be set.

Installed MSVC is detected automatically.
MinGW compilers should be in PATH or MINGW_PREFIX should be set (points to the MinGW installation root, replaces MINGW_PREFIX32 and MINGW_PREFIX64).

Known limitation:

It's impossible to build from base MSYS environment, target specific environment should be used instead (MINGW32, MINGW64, CLANG32 and, CLANG64). Seems like there is some issue with MSYS2 path translation and compilers can't access temporary folder, unlikely fixable.
If VS is installed, it's still necessary to use use_mingw, even if running from MSYS environment, SCons seems to be doing compilers detection before calling anything from detect.py.

TODO:

[x] Cleanup.
[x] Use readable error messages.
[x] Mark changes in the third-party libraries.
[x] Automatically detect use_llvm values based on MSYS2 environment type and available compiles in the path/prefix.

Fixes #64904

This fix seems to work in my CI job which builds nightly Godot for MSVC:
https://github.com/Bromeon/godot4-nightly/actions/runs/2936360587

Thanks!

Sorry to necro an old thread, but I saw the original post has support for 32-bit ARM on Windows. How could I actually do this? 32-bit ARM windows devices do exist (Surface RT), and I'd like to build a game for it.

How could I actually do this?

You can try building Godot with MSVC (ARM tool chains need to be selected in the VS installer) or LLVM-MinGW by adding arch=arm32 to the build command. See Compiling for Windows. But it regularly tested, so it might be broken. Also, ARM Widows do not have Vulkan support and OpenGL is only available via software emulation (look for OpenCL and OpenGL Compatibility Pack in the app. store), so it probably will have terrible performance.

So how does the OS render anything?

So how does the OS render anything, or does it have its own software rendering?

You don't need a graphics API in many situations such as rendering a simple UI. But when a graphics API is needed, Windows devices have DirectX.

Ah. Unfortunately, I don't think my ARM32 Windows device have DirectX, it's just OpenGL 2 IIRC.


not working on Windows 11 ?

when running the script on Win11 (powershell version 5.1 ) nothing happens , no error , NULL.
Any hint running this script on Windows 11 kown?

@hubergo
Hard to say. I didn't test it on Win11 yet.
But one idea i have yet: The script is not signed. So maybe the Execution Pokicy setting of PowerShell prevents execution.
For investigation:

What exact version of Windows 11 do you use?
Did you run the PowerShell script directly or the Exe wrapper?
Did you try to run it in PowerShell ISE? Or with opening PowerShell window, typing the script path and pressing Enter? (Sometimes then you see some error message that does not show when execution the file directly.)

@hubergo
Did my answer help you?

Not yet.
But i guess it depens on no permission to run powershell-scripts directly.
Thx
Von: Heiko @.>
Gesendet: Montag, 11. November 2024 14:11
An: htcfreek/SimpleLapsGui @.>
Cc: Huber, Gottfried @.>; Mention @.>
Betreff: Re: [htcfreek/SimpleLapsGui] not working on Windows 11 ? (Issue #13)
@hubergohttps://github.com/hubergo
Did my answer help you?
—
Reply to this email directly, view it on GitHubhttps://github.com/htcfreek/SimpleLapsGui/issues/13#issuecomment-2468145495, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BFOXYCTLUPKW2IGMZILW6732ACUGTAVCNFSM6AAAAABRGERHZOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRYGE2DKNBZGU.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>


Create winona.txt

@dnash62 lib/domains/winona.txt: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.

@dnash62 Thank you for your patience while waiting for a review and processing your request. Pull request merged. Please start applying for JetBrains educational subscription at https://www.jetbrains.com/shop/eform/students in an hour, to allow the changes to propagate through JetBrains systems.


net/http: expect: 100-continue handling is broken in various ways

This is a follow-up to #67382. See that issue for some prior discussion. (That issue is also full of watchflakes reports, so I'm letting it be about the test flakiness. This issue is about the underlying problem.)
An HTTP/1 or HTTP/2 client can send an Expect: 100-continue header in a request to indicate that it might not send the request body until the server asks for it. The client is permitted to send the request body anyway, either immediately or after a delay.
A server may respond to a Expect: 100-continue request with an informational 100 status, indicating that it would like the client to send the request body. A server may also respond with a non-1xx status, without waiting for the request body.
For HTTP/1, a client must send the body for a request or close the connection. If a client sends a Expect: 100-continue request and receives a non-1xx response from the server, it still needs to finish sending the current request's body before sending any further requests on the connection.
For HTTP/2, a client can reset a request's stream and continue to use the connection without sending the body.
This issue is about how our client and server implementations handle the case of a server responding to an Expect: 100-continue request with a non-1xx response.
Client: If we receive a non-1xx response to an Expect: 100-continue request, should we send the request body on the assumption that the server might want it? Or should we assume that receiving response headers from the server indicates that the server didn't need the body? Should we modify this behavior for different response codes? A 200 OK might indicate that the server is going to use the request body, but a 403 Forbidden probably does not. Should we modify this behavior based on the presence or absence of a Connection: close header in the response? (Note that for HTTP/1 requests, if we do not send the request body, we may not reuse the connection for further requests.)
Server: When handling an Expect: 100-continue request, we automatically send a 100 Continue response if the server handler reads from the request body. What should we do if the server handler calls WriteHeader to send a non-1xx response, and then reads from the request body? Should we assume the server handler knows what it's doing, and trust that the client is going to send us a request body? Or should we return an error from the body read?
Our current behavior is inconsistent and occasionally wrong.
The HTTP/1 client does not send the request body if it receives a non-1xx response before ExpectContinueTimeout expires. This can leave the connection in an invalid state. (Server responds with a non-1xx response and attempts to read the request body; client reuses the connection for another request without sending the body.)
The HTTP/2 client always sends the request body after ExpectContinueTimeout, regardless of whether it has received a non-1xx response or not. If the server is trying to read the body, it will eventually get it, but only after a timeout.
Both HTTP/1 and HTTP/2 servers appear to permit reading from a request body even after sending a non-1xx response (and no 100 Continue response).
I'm not certain yet what we should be doing, but at a minimum:

The HTTP/1 client should not send any further requests on a connection if it decides not to send a request body.
The HTTP/2 client should disable the ExpectContinueTimeout timer after receiving a non-1xx response. It should either send or not send the request body, but it shouldn't keep delaying.
We should make an intentional decision on whether a server handler reading from a Expect: 100-continue request body after sending response headers gets an error or not.

@gopherbot please open backport issues. This is a significant bug with no workaround.

From the security team related to this issue:
The net/http HTTP/1.1 client mishandled the case where a server responds to a request with an "Expect: 100-continue" header with a non-informational (200 or higher) status. This mishandling could leave a client connection in an invalid state, where the next request sent on the connection will fail.
An attacker sending a request to a net/http/httputil.ReverseProxy proxy can exploit this mishandling to cause a denial of service by sending "Expect: 100-continue" requests which elicit a non-informational response from the backend. Each such request leaves the proxy with an invalid connection, and causes one subsequent request using that connection to fail.
Thanks to Geoff Franks for reporting this issue.
This is CVE-2024-24791 and Go issue https://go.dev/issue/67555.

6a7a631025117de930d2118545eb35125

https://github.com/golang/go/issues/67555#top

As the CLs are in and the backports are done, is there anything else needed for this issue, or we can close this? Thanks.


On multi-topic consumer, we shouldn't keep checking the partitioned metadata

Pick #10708  to branch 2.7.

ping @codelipenghui .

@Technoboy- Please check the compile issue

@Technoboy- seems that it does not affect docs?

@Technoboy- seems that it does not affect docs?

Yes, no need to update docs.


Multiline Label

Respect “Reverse Contrast” Option in 2D Graph

Border is now the same color of the label

Improve Display on Small Dimension
Multiline Label
Format Code

疲れた、これで満足です

Thank you for improving my poor code. I will merge it.


Syntax to collate odd and even pages?

Hi,
My scanner can only do one side at once so I need to collate odd and even pages. I know that pdftk can do this, is there any way to achieve the same thing with qpdf?

qpdf can definitely do this, but you'd have to construct the page ranges manually. Having a shortcut for even and odd pages is a good idea. I'll give this some thought and see if I can come up with a good command-line syntax for it.

Maybe the title is misleading, I don't need to extract odd and even pages from a document but I need to merge two documents, one which contains odd pages and one which contains even pages.
From pdftk's man page:

shuffle [ < page ranges > ]
Collates pages from input PDFs to create a new PDF. Works like the cat operation except that it takes one page at a time from each page range to assemble the output PDF. If one range runs out of pages, it continues with the remaining ranges. Ranges can use all of the features described above for cat, like reverse page ranges, multiple ranges from a single PDF, and page rotation. This feature was designed to help collate PDF pages after scanning paper documents.

No, I understood. You can do something like qpdf a.pdf --pages a.pdf 1 b.pdf 1 a.pdf 2 b.pdf 2 a.pdf 3 b.pdf 3 ... -- out.pdf, which would do the shuffle, but you'd have to script generating the command. Adding something to interleve would be a useful enhancement to the CLI but would not requirement a change to the underlying library code. I think it's a good idea and a useful enhancement.

Maybe something like qpdf --shuffle file1.pdf file2.pdf file3.pdf -- out.pdf would be useful. I'll have to think about what the syntax should be to reverse pages...it could be to interleve pagespecs for something like qpdf --shuffle file1.pdf file2.pdf z-1 -- out.pdf. This would let you do things like shuffle sets of pages, as in qpdf --shuffle file1.pdf 5-15 file2.pdf 15-5 -- out.pdf to shuffle only pages 5-15 of the to files to create a single 22-page document.

I too would love this feature. My scanner currently scans the odd pages 1-z and the even pages z-1. I used pdftk A="$1" B="$2" shuffle A Bend-1 output "$3" for that and for qpdf I wrote a small function to achieve the same:
function pdfscanmerge() {
	if [ $# -ne 3 ]; then
		echo "Usage: pdfscanmerge <odd> <even> <output>";
		return;
	fi
	let odd_pages=$(qpdf --show-npages $1)
	let even_page=$(qpdf --show-npages $2)
	argument=
	for (( odd_page=1; odd_page<=$odd_pages; odd_page++ ))
	do
		argument+="$1 $odd_page "
		if [ even_page > 0 ]; then
			argument+="$2 $even_page "
		fi
		let even_page--
	done
	qpdf --empty --pages $argument -- $3
}

The hard task of this would be to think of a useful shuffle-use case besides collating scanned pages. The number of pages to collate will always match during scanning. Maybe finding different uses would show what behavior would be the best.
My personal preference would be to simply ignore missing pages. This also seems to be the case for shuffle with pdftk after some tests. I can't think of a case where adding blank pages would be useful.

What I've decided to do is to add a --collate option, which will just change the semantics of --pages to collate rather than concatenate. So you'll be able to run qpdf odd.pdf --collate --pages odd.pdf even.pdf -- all.pdf or qpdf --empty --collate --pages odd.pdf even.pdf z-1 -- all.pdf or any other thing. Interallly, qpdf will just treat this as if you had actually spelled out the pages the way the script does. This way we will get all the merging and splitting enhancements I've been working on such as page number preservation. I'm going to try to finish this today so I can get it into 8.3.0. We'll see.

The hard task of this would be to think of a useful shuffle-use case besides collating scanned pages. The number of pages to collate will always match during scanning. Maybe finding different uses would show what behavior would be the best.

I've stumbled upon this thread while I was trying to port the Möbius double-sided printing method described here from pdftk to qpdf;
PDF=$1
OUTPUT="${PDF:r}_spliff.pdf"
N=`qpdf --show-npages $1`
qpdf --collate --empty --pages $1 1-$(((N+1)/2)) $1 $(((N+1)/2 + 1))-$N -- $OUTPUT

this discussion comes up on the search results so I'll leave this here, sorry for creating noise on an old thread.


MM-T2378 Channel with only a few posts opens at the bottom, MM-T2382 Center channel scroll

Summary

Adds an end to end test to verify that a channel is always scrolled to bottom even with few posts
Adds an end to end test to verify that with every new messages center scrolls down to show the whole of that new message

Ticket Link
MM-T2378
MM-T2382
Related Pull Requests
none
Screenshots
none

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.


Unable to install gauge plugins on windows

Unable to install a gauge plugin on windows, because gauge downloads packages using wget and assumes that it accepts the --no-check-certificate flag, which the version of wget I have, does not.
Is there a reason to use wget, can't gauge just download using whatever HTTP libraries that golang provides?

Gauge looks for wget, curl in PATH (in the order specified) to download. If either of these is not present, it uses golang's http libraries to download.
You bring up an interesting point about why we are not using Golang's http libraries as the default. I am not very sure why this is the case; it was a decision made very early on in the product lifecycle. We'll definitely get back to you with more information on this one.
For now, one option could be to download plugin zip manually from github releases and install the plugin as described here.
We would suggest you to update wget to latest version and try installing. We agree this is inconvenient, and we will fix this issue soon.

It's not really fun to have to do the sort of workarounds that you are suggesting when automating installation on windows.
You clearly have code which checks for wget, curl and falls back to golang's http libraries. Clearly it's easier for me to delete your code than to write new code for automating installation on.
I did a quick grep for curl on the gauge codebase but could not find anything interesting. What gives?

Hi Ketan,
Couldn't agree more. But before we delete code, we just want to make sure
we understand why it was done. Like Apoorva said, no one seems to think
wget by default is the way to go. We're asking for a little time so can be
sure this change breaks nothing.
Is getting the latest of wget an option?
Regarding curl, you won't find it in core. That is present in commons
https://github.com/getgauge/common/blob/master/common.go#L649. You will
definitely find it there :)
Sorry about this, we'll get to it soon.
On 19 October 2015 at 17:20, Ketan Padegaonkar<EMAIL_ADDRESS>wrote:

It's not really fun to have to do the sort of workarounds that you are
suggesting when automating installation on windows.
You clearly have code which checks for wget, curl and falls back to
golang's http libraries. Clearly it's easier for me to delete your code
than to write new code for automating installation on.
I did a quick grep for curl on the gauge codebase but could not find
anything interesting. What gives?
—
Reply to this email directly or view it on GitHub
https://github.com/getgauge/gauge/issues/236#issuecomment-149192429.

One of the reasons why we had used wget is to get the progress of download,
since go's http.Get doesn't give any information nor any callbacks to track
the progress. So we chose to use wget or curl before resorting to http.Get.
On Mon, Oct 19, 2015 at 4:57 AM, deepthigc<EMAIL_ADDRESS>wrote:

Hi Ketan,
Couldn't agree more. But before we delete code, we just want to make sure
we understand why it was done. Like Apoorva said, no one seems to think
wget by default is the way to go. We're asking for a little time so can be
sure this change breaks nothing.
Is getting the latest of wget an option?
Regarding curl, you won't find it in core. That is present in commons
https://github.com/getgauge/common/blob/master/common.go#L649. You will
definitely find it there :)
Sorry about this, we'll get to it soon.
On 19 October 2015 at 17:20, Ketan Padegaonkar<EMAIL_ADDRESS>wrote:

It's not really fun to have to do the sort of workarounds that you are
suggesting when automating installation on windows.
You clearly have code which checks for wget, curl and falls back to
golang's http libraries. Clearly it's easier for me to delete your code
than to write new code for automating installation on.
I did a quick grep for curl on the gauge codebase but could not find
anything interesting. What gives?
—
Reply to this email directly or view it on GitHub
https://github.com/getgauge/gauge/issues/236#issuecomment-149192429.

—
Reply to this email directly or view it on GitHub
https://github.com/getgauge/gauge/issues/236#issuecomment-149194362.

Like @vishnukarthikl mentioned, it was because we wanted to get download progress on the terminal and wget/curl were easy wins. We considered this a necessary feature to have.
In my opinion, we could look at an alternate to using the --no-check-certificate flag (or any other version specific flags) to handle https requests before we decide to completely moving to go's http library.

This also means being dependent on changes to wget and curl. If they change
a flag in the future, it will affect us also. If users are ok with not
being showed the download progress, we can just remove wget and curl.
On Mon, Oct 19, 2015 at 10:20 AM, Prateek<EMAIL_ADDRESS>wrote:

Like @vishnukarthikl https://github.com/vishnukarthikl mentioned, it
was because we wanted to get download progress on the terminal and
wget/curl were easy wins. We considered this a necessary feature to have.
In my opinion, we could look at an alternate to using the
--no-check-certificate flag (or any other version specific flags) to handle
https requests before we decide to completely moving to go's http library.
—
Reply to this email directly or view it on GitHub
https://github.com/getgauge/gauge/issues/236#issuecomment-149286891.

If we need the progress bar and need to use go's Http library, we could do something like gofret.

We do agree that download progress should be shown on console. To solve this issue, we will be looking at both these options:

Using wget with no version specific flags.
Use external library in go.

Thank you @vishnukarthikl @prateekbaheti for the response.

@ketan This issue has been resolved in Gauge v0.3.0. Could you please give it a try?
I am closing this issue for now. Feel free to reopen it if you still get this error.


Module Build Failed. Did you mean "react"

Upgrading to latest webpack-server & 0.11.0-rc:
ERROR in ./~/react-native/Libraries/react-native/react-native.js
Module build failed: SyntaxError: /Users/peter/Sites/wayv_react_native/node_modules/react-native/Libraries/react-native/react-native.js: Line 20: Did you mean "react"?
  18 | //   var ReactNative = {...require('React'), /* additions */}
  19 | //
> 20 | var ReactNative = Object.assign(Object.create(require('React')), {

Try npm install<EMAIL_ADDRESS>

You'll also want to make sure babel is configured with "blacklist": ["validation.react"]

I'll try this tonight. Thanks!

Worked, thanks!

Thanks a lot, adding blacklist: ["validation.react"] helps a lot in upgrading to https://github.com/mjohnston/react-native-webpack-server/pull/64. I just not exluding any library for babel-loader and it works again. Should it be mentioned on Readme.md and Examples?

@ptmt
I wasn't sure why it was there—should we add it back? Please send a PR if it helps! (You can add blacklist to query object instead of the string now.)


Automator: update istio/client-go@master dependency in istio/istio@master

Generated by Automator - 2023-04-14T18:07:00+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-security-multicluster_istio
2fd3ce62a2067ec72e9a8137587eac49c80844f7
link
true
/test integ-security-multicluster

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

/test integ-security-multicluster


Component Descriptor Imports

How to categorize this PR?

/area usability
/kind enhancement
/priority 2
Which issue(s) this PR fixes:
Fixes #222
Special notes for your reviewer:
Release note:

It is now possible to import component descriptors. See the documentation for [blueprints](docs/usage/Blueprints.md#component-descriptors) and [installations](docs/usage/Installations.md#component-descriptor-imports) for more information.

/test

/test

I don't think that this is possible at the moment.

Hi,
suppose I want to use a resource from an imported component descriptor as blueprint in a subinstallation, Is there a special syntax for this?

can you think of a use case for that feature?

can you think of a use case for that feature?

No particular use case. I just found the syntax below for a blueprint coming from a referenced component and wondered whether the blueprint could also come from an imported component. That's all.
  blueprint:
    ref: cd://componentReferences/ingress/resources/blueprint


METRON-1657: Parser aggregation in storm

Contributor Comments
This PR allows for users to specify multiple parsers to be run in one aggregated Storm topology.
Essentially, the ParserBolt (and the supporting infrastructure) has been generalized to take multiple sensors.  This gives us a structure where there's a Storm spout per sensor.  These all lead to a parser bolt that delegates based on the topic metadata and output appropriately.
Current assumptions/restrictions

Topic metadata must be enabled in order to be able to delegate properly in the aggregated case (still unneeded for standard case).
Configs that are shared across parsers generally apply in a "Last-one wins" manner.  Theres's a couple minor exceptions (e.g. if a parser says Kafka security is not PLAINTEXT, that'll win over anyone who says PLAINTEXT).
All error topics for the aggregated parsers are the same.  This restriction could be lifted if we generalize that infrastructure a bit, but I think it's reasonable to leave as a follow-on if there's enough demand.
Order matters in how the sensors are specified.  "bro,yaf" is not the same as "yaf,bro".  There are two places this matters, configs and the name of the Storm topology. This could pretty easily be lifted by sorting for the Storm topology (and I might just go ahead and do it anyway).

Testing
To ensure that single sensor parsers work, just spin up full dev and ensure everything is passing data as expected.
On fulldev, the REST API has been altered to accept a comma separated list in the parser start and parser stop endpoints.  Just kill bro, and start up "bro,yaf".  An aggregated parser should be be launched in Storm with the names of both sensors used, and data should flow through both.   Because no UI is attached to aggregated parsers, I chose not to expand this REST API out for now until we know what's actually needed to properly manage it. The upshot of this is that you can't specify advanced configs directly here.
On the CLI, the start_parser_topology.sh can be used to submit
e.g.
${METRON_HOME}/bin/start_parser_topology.sh -z node1:2181 -s bro,yaf

If you want to override certain parameters via command line this is still possible:
${METRON_HOME}/bin/start_parser_topology.sh -z node1:2181 -s bro,yaf -snt 2,3 -pp 2 -pnt 5

This will spin up a topology with a spout number of tasks of 2 for bro, 3 for yaf, along with a parser parallelism of 2 and a parser number of tasks of 5.  This can be seen in the Storm UI by looking at the number of executors and tasks for each Storm component after launch.  As a heads up, because this is full dev and it's only running with one Storm supervisor/worker/etc, it's likely to be unhappy with the config, but it'll still submit the job.
Pull Request Checklist
Thank you for submitting a contribution to Apache Metron.
Please refer to our Development Guidelines for the complete guide to follow for contributions.
Please refer also to our Build Verification Guidelines for complete smoke testing guides.
In order to streamline the review of the contribution we ask you follow these guidelines and ask you to double check the following:
For all changes:

[x] Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
[x] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

For code changes:

[x] Have you included steps to reproduce the behavior or problem that is being changed or addressed?

[x] Have you included steps or a guide to how the change may be verified and tested manually?

[x] Have you ensured that the full suite of tests and checks have been executed in the root metron folder via:
mvn -q clean integration-test install && dev-utilities/build-utils/verify_licenses.sh

[x] Have you written or updated unit tests and or integration tests to verify your changes?

[x] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

[x] Have you verified the basic functionality of the build by building and running locally with Vagrant full-dev environment or the equivalent?

For documentation related changes:

[x] Have you ensured that format looks appropriate for the output in which it is rendered by building and verifying the site-book? If not then run the following commands and the verify changes via site-book/target/site/index.html:
cd site-book
mvn site

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
It is also recommended that travis-ci is set up for your personal repository such that your branches are built there before submitting a pull request.

As a heads up, this will have conflicts with https://github.com/apache/metron/pull/1084

Kicking Travis

This looks good to me, I'm +1 by inspection, but I want to make sure enough time has passed so enough people can look at it.  I'll hold my +1 until EOD monday.

I have been on vacation, but will be reviewing Monday and Tuesday.  Please do not commit

@ottobackwards Is there anything we want to do in this PR about the ParserBolt? I agree that it's getting unwieldy, and if there's easy wins it's not a bad opportunity to fix it up.

@justinleet the main things I saw that I would think of cutting down, or I though about looking into ( the idea may turn out to be bad ) are places where the bolt 'knows' a lot of weird or complicated initialization logic around the configurations or classes it uses, like what we do initializing Stellar, or in getComponentConfiguration.
I'm ok with a follow on,  I don't think this PR is creating that issue.

@ottobackwards I agree, our bolts tend to do the same magic set of incantations to set up stellar.  It'd be better to either try to infer that initialization where possible or to externalize that logic.  Agreed that it's not this PR that should do that, but I would expect that we should probably consider a separate JIRA to the effect:

Decouple ParserBolt the parserbolt initialization and execution logic into a separate component from the Storm Bolt infrastructure (this will aid in NiFi or spark integration).

Thoughts?  If we agree, then I'll create the JIRA.

Ok @justinleet thanks for the diagram.  That really helps.  I did not see in the code how we were sending out to the sensor topic and then into the sensor, I though the bolt was just calling the parser ( which makes the sensor specific topic not make sense ).  I think that this flow is a valid case, one where the data could be coming from either an aggregated flow into the topic or straight to the topic.  My question looking at this, is why ( esp when people are asking about reduction of kafka overhead ) can't we have the option to eliminate the sensor topic completely?

@ottobackwards I definitely think it's something we should consider adding and that's worthwhile.  I feel it's more of a follow-on task, and the follow-on is to allow for optionally direct routing. i.e. this PR generalizes what's already there in the ParserBolt and a follow-on is to provide that option to do direct routing in the aggregate case.
Do you feel that we need to provide that option in this PR, or is it fine to be left as a follow-on?

@justinleet I am fine with that as a follow on, I would like the task or issue created.

Ok, so I want to capture the follow-on tasks:

Change Ambari to accept quoted parser groups
Decouple the ParserBolt from the Parse execution logic
Allow the option for intermediate kafka topics to be removed

Did I miss anything?

@cestella I think we want at least one more to capture making this available in the management UI (I'd argue that should inform any REST API task, so I'm not sure if we want that also created as a ticket).

@ottobackwards Is there anything else we want as follow-on?  Assuming we're good with this where its at (or at least close to), I'll go ahead and create those tickets.

A mechanism for the routing process to apply a transform or some such. @cestella may have a better design idea.
What I would like us to do is remove the transport from the message where there are common wrappers.
Example:  All the message types delivered by syslog.   The parsers should not have to all parser syslog AND the message.  I imagine defining a transform/parser in the router that takes every message and transforms it ( parses syslog fields + structured data if 5424 into meta and MSG to the bytes ) and then passes it on to a parser that only needs to know the message.
That way we can have simpler parsers, and even support the same message when transported in different wrappers.
We can talk about if this is a function of parser chaining, such that each specialized parser will be second in a chain with the syslog unwrapped being first, or part of routing, but I think it is part of routing personally.

All that being said I am a big +1 on this.  Great work @justinleet, thanks for taking the time to work it through my thick skull.

Happy to help explain it, and it's really helpful to get feedback on it because it led to improved docs, so hopefully it makes sure things are clearer to anyone looking at this later.
I created tickets for:

Management UI changes for sensor aggregation
REST changes to support parser aggregation
Allow the option for intermediate kafka topics to be removed in aggregated sensors
Allow Ambari to accept quoted parser groups
Decouple the ParserBolt from the Parse execution logic

I held off on creating a ticket for the routing process applying a transform.  @ottobackwards Would you mind creating that, to make sure the use case and examples or assumption, etc. are what you expect?

Sure, actually I'll do a discuss thread when this all goes through.  That way I can try again to get @cestella to comment


[ServiceFabric] Service fabric rest

Packages impacted by this PR
Introducing Service Fabric Rest Client SDK @azure-rest/core-client
Issues associated with this PR
N/A
Describe the problem that is addressed by this PR
Generating new RLC package for Service Fabric. As part of supporting Client Certificate Authentication there are a few changes in @azure-rest/core-client and @autorest/typescript generator.
@azure-rest/core-client

Expand ClientCertificate interface to allow passphrase, certificate-authority and pfx certificates
Add a pipeline policy to include the certificate to initiate the connection

@autorest/typescript

Add new add-client-certificate flag which adds the ClientCertificatePolicy to the Rest Client pipeline

What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
There were a couple of alternate designs discussed:

Not provide anything and let users add the policy manually
Expose a helper that users call to inject the certificate to the client

However, the current approach offers a friendlier UX experience.
Are there test cases added in this PR? (If not, why?)
Work in progress
Command used to generate this PR:**(Applicable only to SDK release request PRs)
rushx generate:client
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API changes have been detected in @azure-rest/core-client. You can review API changes here
API changes
-     cert: string;
-     certKey: string;
+     ca?: string | Buffer | Array<string | Buffer> | undefined;
+     cert?: string | Buffer | Array<string | Buffer> | undefined;
+     key?: string | Buffer | Array<Buffer | KeyObject> | undefined;
+     passphrase?: string | undefined;
+     pfx?: string | Buffer | Array<string | Buffer | PxfObject> | undefined;
+ export declare function getClientCertificatePolicy(certificate?: CertificateCredential): PipelinePolicy;

API change check for @azure-rest/confidential-ledger
API changes are not detected in this pull request for @azure-rest/confidential-ledger

API change check for @azure-rest/service-fabric
API review is created for @azure-rest/service-fabric. You can review APIs here.


Add interface environment variable

Haven't touched Go before but seems to work in my testing - Please check though.
My usecase: Using it with dockerized zerotier to allow minecraft with lazytainer to work through zerotier.

I don't actually run tailscale but I'm going to approve on the grounds that more configurability is more better especially when it's non-breaking. I'm also taking your word for it on this working with tailscale.

I don't actually run tailscale but I'm going to approve on the grounds that more configurability is more better especially when it's non-breaking.

I'm using it with zerotier personally - not sure if a docker tailscale version exists.

I'm also taking your word for it on this working with tailscale.

Yep - I've been using my fork of this with zerotier for the last few days without any problems after I got my depends_on right - I'll probably create a guide on this soon

Do you have the ability to merge?
If so, feel free to do so

I don't no - I'll just add it to this PR

Done

I created a PR into your fork for a couple of formatting things. https://github.com/Jack-Bailey/Lazytainer/pull/1

Merged


Flexible package suiteProfile

@samrose https://github.com/fractal-dynamics/mach-nix-jupyterlab
Using mach-nix is not a suitable choice. Jupyterwith and I use a mixture of poetry + nix ways to manage the python environment. This repo might give you some inspiration.

@GTrunSec yes thanks. I had a chance to meet Dan (the tweag lead of jupyterWith) at nixcon. I am now using it.
I do wonder what issues you see with mach-nix however?

Poetry2nix has the advantage of giving you a faster nix-shell/develop, you don't need to eval the mach-nix every time especially when you enter the nix-shell env. So there is no big issue with mach-nix. Don't worry. I am already packaged mach-nix -env to a OCI image.


Fix incorrect transition order

For the same reason mentioned in d6e67f177b there can be a race condition and the connection manager can wrongly assume it needs to trace a TerminatingSt -> TerminatedSt transition. This was fixed in d6e67f177b for the requestOutboundConnectionImpl function but the includeInboundConnectionImpl got left out.
Fixes #4370

bors merge

bors merge


readme: key-size annotation added to example

README update for the new feature introduced in v0.4.0.

Hey, sorry for the delay, I just noticed the PR. Thanks for the readme update!
/lgtm
/approve


Add .ics to list of extensions

More specifically I think this should be icalendar?

More specifically I think this should be icalendar?

It's not strictly specified what the tags should be (or I couldn't find where it is). Perhaps we can use both calendar and icalendar?

More specifically I think this should be icalendar?

It's not strictly specified what the tags should be (or I couldn't find where it is). Perhaps we can use both calendar and icalendar?

.ics is specifically for icalender though, not a generic calendar file

.ics is specifically for icalender though, not a generic calendar file

I thought tags specified some properties about files. E.g. 'jpg': {'binary', 'image', 'jpeg'} says that jpg is a binary file, it's of type image, and in particular it's JPEG format.
Anyway, it's fine by me, so I've changed calendar to icalendar.

released as 1.4.4 -- thanks for the contribution! :tada:


Provide a built-in way to get event streams of window and document

windowEvents(onMouseUp): EventStream[MouseEvent] or something like that. Use cases: mouse/keyboard events, on DOM loaded, etc.

Done in https://github.com/raquo/Laminar/commit/9e884cd6fd2ab822c45ae84da130ec65c7742c47


Upgrade to terraform latest version, this was blocking GCE drone configs

@sehqlr has this been tested? otherwise, lgtm

I tested this, and it worked. This includes testing both on my local machine via docker run, and this has been the image for drone testing for a little while as well


Improve Validation of Config

Improve Validation of Config
Description
Verifies FreeRTOSConfig.h values that are required
Uses static asserts on a few ipconfig values that can't be compile time checked normally
Test Steps

Checklist:

[x] I have tested my changes. No regression in existing tests.
[ ] I have modified and/or added unit-tests to cover the code changes in this Pull Request.

Related Issue

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@HTRamsey Thanks for the PR. Would you mind running uncrustify on your changes?

/bot run formatting

@tony-josi-aws we can change the static assert definition, that semi colon is just to allow multiple asserts on the same line.

@HTRamsey, makes sense to remove the semicolon if we are not using multiple asserts on the same line.
And MISRA doesn't like literals without a sign (U) explicitly specified.

@tony-josi-aws Should I add literal signs to all of the default configs?

Is there an actual minimum kernel version that is supported?


Add release builds to CI.

Cleanup unused OBS code.

This is what Travis looks like when dev is broken (like it was this morning):
https://travis-ci.org/github/bgeltz/geopm/builds/680360652
The next build will be on the tip w/the fix for that failure.


Update babel-jest config to prevent noisy warnings

Right now during unit test run babel generate lot of warnings, this config update should prevent them
column-chart-web:test: Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-property-in-object since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
column-chart-web:test: The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
column-chart-web:test: 	["@babel/plugin-proposal-private-property-in-object", { "loose": true }]
column-chart-web:test: to the "plugins" section of your Babel config.

This PR contains

[ ] Bug fix
[ ] Feature
[ ] Refactor
[ ] Documentation
[x] Other (describe)

What is the purpose of this PR?

Update babel config

@jeffersonRibeiro, can you please rerun failed checks? It failed because of fetch error.

@tamelbrun, can you have a quick look?

This needs a changelog entry :).

This needs a changelog entry :).

Done.

Merge? :)


Punishments to implement

Mostly a progress tracker for me:

[x] BroadcastOverlord
[x] BroadcastStop
[x] PlayerBedrock
[x] PlayerBounce (removed for now)
[x] PlayerBurning
[x] PlayerChatSpam
[x] PlayerCreeper
[x] PlayerExplode
[x] PlayerNoFood
[x] PlayerStuck
[x] PlayerUnstuck

Closing as all punishments that are going to be implemented for 1.0 have been implemented. Will create individual issues for new punishments.


[chore] update deps, stop using caret

TLDR used cargo-edit to upgrade dependencies in cargo.tomls and also removed caret in a few places (notably arrow dependency) since it is the default.
$ cargo upgrade -i --pinned allow # after install cargo-edit

name                     old req compatible latest new req
====                     ======= ========== ====== =======
arrow                    ^52.0   52.2.0     53.0.0 ^53.0
arrow-arith              ^52.0   52.2.0     53.0.0 ^53.0
arrow-array              ^52.0   52.2.0     53.0.0 ^53.0
arrow-buffer             ^52.0   52.2.0     53.0.0 ^53.0
arrow-cast               ^52.0   52.2.0     53.0.0 ^53.0
arrow-data               ^52.0   52.2.0     53.0.0 ^53.0
arrow-ord                ^52.0   52.2.0     53.0.0 ^53.0
arrow-json               ^52.0   52.2.0     53.0.0 ^53.0
arrow-select             ^52.0   52.2.0     53.0.0 ^53.0
arrow-schema             ^52.0   52.2.0     53.0.0 ^53.0
parquet                  ^52.0   52.2.0     53.0.0 ^53.0
object_store             ^0.10.2 0.10.2     0.11.0 ^0.11.0
hdfs-native-object-store 0.11.0  0.11.0     0.12.0 0.12.0
    Checking acceptance's dependencies
name      old req compatible latest new req
====      ======= ========== ====== =======
ureq      2.2     2.10.1     2.10.1 2.10
test-case 3.1.0   3.3.1      3.3.1  3.3.1
tokio     1.39    1.40.0     1.40.0 1.40
    Checking delta_kernel's dependencies
name          old req compatible latest new req
====          ======= ========== ====== =======
bytes         1.4     1.7.1      1.7.1  1.7
either        1.8     1.13.0     1.13.0 1.13
indexmap      2.2.1   2.5.0      2.5.0  2.5.0
lazy_static   1.4     1.5.0      1.5.0  1.5
roaring       0.10.1  0.10.6     0.10.6 0.10.6
uuid          1.3.0   1.10.0     1.10.0 1.10.0
visibility    0.1.0   0.1.1      0.1.1  0.1.1
reqwest       ^0.12.0 0.12.7     0.12.7 ^0.12.7
tokio         1.39    1.40.0     1.40.0 1.40
rustc_version 0.4.0   0.4.1      0.4.1  0.4.1
    Checking delta_kernel_derive's dependencies
    Checking delta_kernel_ffi's dependencies
name         old req compatible latest  new req
====         ======= ========== ======  =======
arrow-schema ^52.0   52.2.0     53.0.0  ^53.0
arrow-data   ^52.0   52.2.0     53.0.0  ^53.0
arrow-array  ^52.0   52.2.0     53.0.0  ^53.0
cbindgen     0.26.0  0.26.0     0.27.0  0.27.0
libc         0.2.147 0.2.158    0.2.158 0.2.158
    Checking delta_kernel_ffi_macros's dependencies
    Checking read-table-multi-threaded's dependencies
name       old req compatible latest new req
====       ======= ========== ====== =======
clap       ^4.4    4.5.17     4.5.17 ^4.5
env_logger 0.11.3  0.11.5     0.11.5 0.11.5
    Checking read-table-single-threaded's dependencies
name       old req compatible latest new req
====       ======= ========== ====== =======
clap       ^4.4    4.5.17     4.5.17 ^4.5
env_logger 0.11.3  0.11.5     0.11.5 0.11.5
   Upgrading recursive dependencies
     Locking 0 packages to latest compatible versions
    Removing doc-comment v0.3.3
    Removing object_store v0.10.2
    Removing snafu v0.7.5
    Removing snafu-derive v0.7.5
note: pass `--verbose` to see 10 unchanged dependencies behind latest
note: Re-run with `--verbose` to show more dependencies
  latest: 29 packages
  local: delta_kernel

I remember parquet being an issue with the object store crate because they relied on an old version, but it looks like that is no longer the case?

I remember parquet being an issue with the object store crate because they relied on an old version, but it looks like that is no longer the case?

Yea I don't see object store having a dep on parquet if that's what you mean?


SKU comparison table is unbalanced

The second and third columns should be made of equal width to ease reading

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7eaaf7c7-c1fe-1afc-e7f8-bc0e90044fb8
Version Independent ID: 6461936a-3f5d-c2fe-cb37-e40fc9dc929e
Content: What is Azure Load Balancer?
Content Source: articles/load-balancer/load-balancer-overview.md
Service: load-balancer
GitHub Login: @asudbring
Microsoft Alias: allensu

@andrePKI Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

@asudbring  can you take a look and fix?

This is a limitation in markdown.  Because of the amount of text within the table to explain the sku's, the columns will look unbalanced as Markdown will autosize the columns based on the amount of text in the cells.
#please-close


Export dumps to dataset folders

Each dataset now has its own folder with the source data in it, the exports of FtM entities should go there, too.

Fixed in https://github.com/pudo/opensanctions/commit/04dfd3935527e4226ab1c853bedf550c2b863d87


[DOCS]

Description
We can make adding of profile more accessible by adding a link in Readme File to add user profile directly.a
Screenshots

Additional information
No response

That would be great. However I think that hide the abstraction of adding the profile for Linkfree

That would be great. However I think that hide the abstraction of adding the profile for Linkfree

Hi there , Please assign this task to me

We have refactored the whole project, so I will close this issue - feel free to raise a new specific issue if needed


MethodNotAllowed handler

HttpRouter allows to set custom MethodNotAllowed handler.
This patch provides corresponding methods for kami and kami.Mux.

Thanks for the PR! Do you think that we should also set router.HandleMethodNotAllowed = false when called like kami.MethodNotAllowed(nil)? That way people could disable 405 handling if they wanted to. This would be kind of inconsistent with kami.NotFound()'s treatment of nil, though.

I would prefer to keep these two separate. Default value for HandleMethodNotAllowed in HttpRouter is true, and semantically MethodNotAllowed(nil) should reset behavior to default.
To disable 405 handling we can mimic HttpRouter naming and provide kami.HandleMethodNotAllowed(value bool) and kami.Mux.HandleMethodNotAllowed(value bool).

Sounds good to me! :+1:

Now HandleMethodNotAllowed added to both kami and kami.Mux.

Awesome, thanks. I will merge this soon. I might change the name of HandleMethodNotAllowed to EnableMethodNotAllowed or something, since there's already a function called Handle dealing with actually handling stuff. I think httprouter has too many things called "handle" :)


C++ fails on C++20 on Clang x86_64 14.0.0

From https://discord.com/channels/1062300748202921994/1168619254120185906/1168619254120185906
Repro: https://godbolt.org/
In file included from external/rerun/rerun.hpp:9:
In file included from external/rerun/rerun/archetypes.hpp:7:
In file included from external/rerun/rerun/archetypes/asset3d.hpp:9:
In file included from external/rerun/rerun/archetypes/../components/out_of_tree_transform3d.hpp:7:
In file included from external/rerun/rerun/archetypes/../components/../datatypes/transform3d.hpp:8:
In file included from external/rerun/rerun/archetypes/../components/../datatypes/translation_rotation_scale3d.hpp:8:
In file included from external/rerun/rerun/archetypes/../components/../datatypes/rotation3d.hpp:7:
external/rerun/rerun/archetypes/../components/../datatypes/quaternion.hpp:34:24: error: no matching constructor for initialization of 'rerun::datatypes::Quaternion'
                return Quaternion{x, y, z, w};
                       ^         ~~~~~~~~~~~~
external/rerun/rerun/archetypes/../components/../datatypes/quaternion.hpp:24:16: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 4 were provided
        struct Quaternion {
               ^
external/rerun/rerun/archetypes/../components/../datatypes/quaternion.hpp:24:16: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 4 were provided
external/rerun/rerun/archetypes/../components/../datatypes/quaternion.hpp:79:13: note: candidate constructor not viable: requires 0 arguments, but 4 were provided
            Quaternion() = default;

We should set up a full C++ compiler matrix on CI

We'll have to confirm first, but it sounds also like we have to run with C++17 and C++20 on all of these :(

I thought C++ cared about backwards compatibility 🙄


how to use?

Hi.
I see no instructions, so I am not sure if I have to install this somehow somewhere in order to try it.
Can you give some advice?
I tried the linked website font.wls.ai but it does not work:
Connection timed out Error code 522
Visit cloudflare.com for more information.
2023-10-15 11:05:19 UTC

Thanks
@abubelinha

This project sounds very exciting, but the biggest problem is exactly the title of this issue: How to use it?
Please could somebody add some installation instructions?
Without them this project is completely unusable, and all the work the team put into it wasted to a large extent.

Through trying out I've managed to make a little bit of progress in getting this project to run:
I've managed to get the webapp running to some extent, but it isn't fully functional.
What I do so far is:
Install prerequisites (Ubuntu):
sudo apt install -y git
sudo apt install -y python3-fontforge python3-wand python3-flask-cors

Download and run YerFont:
# donwload YerFont
git clone https://github.com/willshiao/YerFont.git

# run YerFont
cd YerFont/backend
# python3 app.py
cd ../frontend
python3 -m http.server

Then I run YerFont in the browser with the following URL:
http://localhost:8000/canvas.html
It looks all right and I can draw characters for lower-case letters, but that's about it, I can't generate a font.
Please can one of the developers publish information on how to run this project?

Any progress @emendir or @abubelinha ? I would also like to know how to run it @willshiao @carolyn-kong @kimjihwan0208

No idea.
I think this is abandoned.

I guess the devs already got good jobs, and saw no use to continue the demo nor provide instructions

Any progress @emendir or @abubelinha ? I would also like to know how to run it @willshiao @carolyn-kong @kimjihwan0208

I'm afraid not. Haven't got the time to hack into systems built in frameworks that are unfamiliar to me, cool as this project seems though.
Another of the sadly common cases of devs just putting their code on github, not knowing what open-source really means.


Tornado tasker

tornado (nova) tasker

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 5 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.3%) to 42.984%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

contracts/taskers/TornadoTasker.sol
0
5
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.3%

Covered Lines:
207

Relevant Lines:
451

💛  - Coveralls

@z0r0z Do you think we should also give support to swap to WETH? since most streams wouldn't be in WETH.

@sarangparikh22 I am thinking the simplest solution to integrate swap is to incorporate the Swap Taskers into Tornado Tasker. So, user would send payload for batch() with different calls to loop for onTaskReceived() to accomplish swap and tornado wrap. This combined contract therefore looks more like a generalized tasker.

@z0r0z yes that makes sense, but we have to do some more additions, like check that only supported asset can be used, but yeah, I agree, you can just merge the Swap Tasker with this. I still prefer keeping it separate. Wdyt?

well, yk


importCargoLock: Fix build failure caused by duplicate dependency in Cargo.toml

Fixes issue caused when a Cargo.toml contains the same dependency multiple times. In such a scenario the build would fail, since it couldn't link the file due to a permission issue.
Description of changes
if [ ! -L "$out/$(basename "$crate" | cut -c 34-)" ]; then
          ln -s "$crate" "$out/$(basename "$crate" | cut -c 34-)"
fi

ping @nixos/rust for review

This seems like silently ignoring the error. Do you have an example where this behavior would be preferred?

I'm closing this due to no response. Feel free to reopen it anytime you have time to work on it again and still thank you for your contribution.


Error: For this website to function correctly you must unblock cdnjs.cloudflare.com

Hey...
.. With browsing the https://steamdb.info website I'm getting this error:
For this website to function correctly you must unblock cdnjs.cloudflare.com
Specially on the Sales page and I can't sort out in order of Price or game (or others)... but I don't know how to fix this.
Please help me to fix it, thank you in the advance :-)

Do you use any extensions that block third-party javascript or something?
Try opening javascript console and see if there are any errors.

Thanks for the reply xPaw... I use Adblock Plus and HTTPS Everywhere and my browser is Google Chrome... The Adblock Plus has been disabled for that site but for some reason the HTTPS extension is been enabled.
When I tried to open javascript console in the steamdb.info so I've got these error's so far:
Failed to load resource: net::ERR_CONNECTION_RESET https://cdnjs.cloudflare.com/ajax/libs/octicons/2.2.2/octicons.woff
Failed to load resource: net::ERR_CONNECTION_RESET https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js
Failed to load resource: net::ERR_CONNECTION_RESET https://cdnjs.cloudflare.com/ajax/libs/jquery-timeago/1.4.1/jquery.timeago.min.js
Failed to load resource: net::ERR_CONNECTION_RESET https://cdnjs.cloudflare.com/ajax/libs/authy-forms.css/2.2/images/flags.png
Failed to load resource: net::ERR_CONNECTION_RESET https://cdnjs.cloudflare.com/ajax/libs/octicons/2.2.2/octicons.ttf
Failed to load resource: net::ERR_CONNECTION_RESET https://cdnjs.cloudflare.com/ajax/libs/octicons/2.2.2/octicons.svg#octicons
As you see there's a few...

Something (most likely an extension) is blocking it.

I see, I disabled them all... and still got the error in the site AND the console... don't know what to do!
But is it something to do with my region? I'm from Iran.
Take a note here, I have the same error in the Firefox and Opera too... Firefox with only FlashGot plugin, but Opera with the same extensions as using (and been disabled there too) in the Google Chrome.

What happens if you try to visit https://cdnjs.cloudflare.com/ajax/libs/authy-forms.css/2.2/images/flags.png directly?

Nothing happen, nothing is showing...

Sounds like Iran might be doing something funky with it.
cc @Benjojo, maybe he knows more.

I'm not sure if they black-ed the IP from here, because with use the Proxy (and having a different IP to free the Internet) I still have the same error...

Do you have a crappy firewall/antivirus on your PC?


fix(gruvbox-light) make gray readable

This makes gray readable by way of overriding vterm colors to match the
kitty terminal's gruvbox-light theme
https://github.com/kovidgoyal/kitty-themes/blob/6b06ed8661c62b1fcc63c9de9054d9cc12c319f6/themes/gruvbox-light.conf,
which itself is using colors from the upstream gruvbox palette
https://camo.githubusercontent.com/d080d9c204408ef06b862b76bc795f930b3a9b1be4c5d2de149f1d8eb765b660/687474703a2f2f692e696d6775722e636f6d2f3439714b7959572e706e67.
Unfortunately the variable names associated with this palette are all
over the place in this theme.
Before:

After:

(I have no idea why fish's set_color prints them in this order...)

Somewhat related:  why are the term- colors defined differently than the vterm- colors in the base?  Don't these do the same things in different modes?
https://github.com/doomemacs/themes/blob/83fd9545c2823b4b2610947802fa3a52995517b4/doom-themes-base.el#L1322-L1332
https://github.com/doomemacs/themes/blob/83fd9545c2823b4b2610947802fa3a52995517b4/doom-themes-base.el#L1381-L1391
Should one be redefined in terms of the other?

Somewhat-somewhat related:  what does vterm-color-default do?  I can't find a usage of it anywhere.

These faces have changed a lot in the past year and in the 28.1 release. Now that vterm-color-* all inherit from term-color-, which inherit from ansi-color-, I think we can get rid of all our defaults for term/vterm in the base theme, and leave only our ansi-color-* faces.

I see now the item about ANSI color faces in emacs 28.1's NEWS, but I don't see any such faces used in this repo.  Are you asking me to do something here?

It's been some time since I checked, but I believe that controls the fallback background/foreground. Then came vterm. Seems both were removed in any case, so go ahead and remove them.

Will do.  Here's where vterm-color-default went away at least:  https://github.com/akermu/emacs-libvterm/commit/c15c1a5615420defd95e000829b658b09509ced1

Sorry for the late response. Thanks for looking into this and for your help!

I see now the item about ANSI color faces in emacs 28.1's NEWS, but I don't see any such ansi-color faces used in this repo. Are you asking me to do something here?

My bad, I think I was talking to myself at you! I wasn't asking you to do anything.
I was musing about dropping our vterm-color-* and term-color-* face definitions, and replacing them with ansi-color-* faces (which they both inherit form), but that's something I'll look into later, once I figure out how to do so and remain compatible with all the Emacs versions in between 25.1 and 28.1.
Anyhow, thanks again!


Invalid redirect_uri error

Maybe API was changed, so I got "Invalid redirect_uri". I just installed this project and followed all instructions. I didn`t change anything there.

I am also getting this.

I am getting this issue after user logged in successfully.

I am getting this issue after user logged in successfully.

Same thing is happening to me.. Did you solved this issue?


[Feature] Support show load all

Search before asking

[X] I had searched in the issues and found no similar issues.

Description
now doris sql command show load must be within one database, we can not show all the broker load tasks while having many databases.
it's so uncomfortable to manage load tasks.
so i suggest to support with root permission we could use show load all to show all the loading tasks in all databases;
Use case
we manage thousandths  of databases in one cluster, it's hard  to know how many load tasks are working on current cluster.
Related issues
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

If you're not working on this feature, you can assign to me.

@stalary hi,Stalary.nice to meet you.I hope you have free time to help me submit this pr. thank you very much.

Ok, I'll be happy to help you.

@stalary hi,Stalary.nice to meet you.I hope you have free time to help me submit this pr. thank you very much.

Ok, I'll be happy to help you.

Thanks you~ Your comments and suggestions are very helpful for the pr I submitted .

I think this requirement needs to be reconsidered. The Show Load ALL Sql statement should be used to obtain all the load data of the DB privilege owned by the current user, not only the root user can use the sql.


ORC-1408: [C++] Fix row batch not reset if strip doesn't have PRESENT stream.

What changes were proposed in this pull request?

Reset notNull data in ColumnVectorBatch if strip doesn't have PRESENT stream.
Why are the changes needed?

#1466
In ORC, PRESENT stream is optional, and ORC Reader reuse ColumnVectorBatch to read data. So if it don't reset notNull data in ColumnVectorBatch, it will use last notNull data incorrectly.
I am a contributor of apache doris. Doris use the orc cpp lib to build OrcReader/Writer to access hive orc files. This is the PR in doris-thirdparty pull request. https://github.com/apache/doris-thirdparty/pull/55
We are excited to contribute more to the orc cpp library.
How was this patch tested?

Thanks for opening the PR. Just curious why it is closed? @kaka11chen

Thanks for opening the PR. Just curious why it is closed? @kaka11chen

I changed the source branch name，the PR is closed automaticity... I will submit a new PR。。。

@wgtmac @dongjoon-hyun
The new PR was created, pls review it, thx.
https://github.com/apache/orc/pull/1469


Need to have the ability to store extra contextual information on the SerializedRange

For example, I need to save the color or backgroundColor that was selected for the current range.
Currently, I need to keep this information synced externally, and I link it back via uid. Which is a pretty good solution.
But maybe we could add the ability to add extra info to the SerializedRange object, so that it becomes available? Maybe There should be be a generic on the Marker class that defines these extra props.
But I also understand that maybe it shouldn't be part of the core, and maybe it's expanding the responsibility for no reason.
https://github.com/notelix/web-marker/blob/051fec02b3af5be7572dc188bc94d7ae3c9befa8/src/lib/classes/SerializedRange.ts#L1-L7
Thanks!

Yeah, actually I prefer linking the two with the uid. SerializedRange model can be kept very simple.
You may have an Annotation or Highlight model, who has a member that is a SerializedRange.
Come to think about it, it doesn't really make much sense to put color or other extra contextual information to the Range model, color should be a part of a Highlight instead.
I believe the current API should enable developers to store and link contextual information with the SerializedRange easily.
P.S. You don't even have to store the UID of SerializedRange in the database, this UID can be ephemeral and different every time, you just need an in-memory map to map e.g. HighlightID to SerializedRange UID.

This library doesn't have a Highlight class, what I mean is the user can implement their own Highlight class to store extra information. Here is an example:
import { Marker } from "@notelix/web-marker";
import SerializedRange from "@notelix/web-marker/build/lib/classes/SerializedRange";

/**
 * `Highlight` is a class defined by the user of this library to store the range and other contextual data
 */
class Highlight {
    uid: string;
    color: string;
    comments: string;

    // for convenience, the uid of the SerializedRange will be set to the same as the uid of the Highlight
    range: SerializedRange;
}

/**
 * `HighlightPO` is the Persistent Object of `Highlight` as stored in a database
 */
class HighlightPO {
    uid: string;
    color: string;
    comments: string;
    range: { textBefore: string; text: string; textAfter: string };

    static fromHighlight(highlight: Highlight): HighlightPO {
        return Object.assign(new HighlightPO(), {
            uid: highlight.uid,
            color: highlight.color,
            comments: highlight.comments,
            range: {
                // we don't have to store SerializedRange's uid in database
                textBefore: highlight.range.textBefore,
                text: highlight.range.text,
                textAfter: highlight.range.textAfter,
            },
        });
    }

    toHighlight(): Highlight {
        return Object.assign(new Highlight(), {
            ...this,
            range: {
                uid: this.uid, // restore SerializedRange's uid here
                ...this.range,
            },
        });
    }
}

/**
 * `HighlightManager` manages highlights and data persistence
 */
class HighlightManager {
    private webMarker: Marker;

    constructor(webMarker: Marker) {
        this.webMarker = webMarker;
    }

    highlights: { [id: string]: Highlight } = {};

    getHighlightById(id: string) {
        return this.highlights[id];
    }

    addHighlight(highlight: Highlight) {
        this.highlights[highlight.uid] = highlight;
        this.webMarker.paint(highlight.range);
    }

    removeHighlight(highlight: Highlight) {
        this.webMarker.unpaint(highlight.range);
        delete this.highlights[highlight.uid];
    }

    exportData() {
        return Object.keys(this.highlights).map((key) =>
            HighlightPO.fromHighlight(this.highlights[key])
        );
    }

    importData(data: HighlightPO[]) {
        data
            .map((item) => Object.assign(new HighlightPO(), item).toHighlight())
            .forEach(this.addHighlight.bind(this));
    }
}

const webMarker = new Marker({
    rootElement: document.body,
    eventHandler: {
        onHighlightClick: (context, element) => {
            manager.removeHighlight(
                manager.getHighlightById(context.serializedRange.uid)
            );
            localStorage["database"] = JSON.stringify(manager.exportData());
        },
        onHighlightHoverStateChange: (context, element, hovering) => {
            if (hovering) {
                element.style.backgroundColor = "red";
            } else {
                element.style.backgroundColor = "";
            }
        },
    },
    highlightPainter: {
        paintHighlight: (context, element) => {
            element.style.color = manager.getHighlightById(
                context.serializedRange.uid
            ).color;
        },
    },
});
webMarker.addEventListeners();

const manager = new HighlightManager(webMarker);

function newHighlightFromSelection(
    selection: Selection | null
): Highlight | null {
    if (!selection || !selection.rangeCount) {
        return null;
    }

    const uid = newUID();
    const serializedRange = webMarker.serializeRange(selection.getRangeAt(0), {
        uid: uid,
    });
    if (!serializedRange) {
        return null;
    }

    const highlight = new Highlight();
    highlight.uid = uid;
    highlight.color = "green";
    highlight.comments = "Hello";
    highlight.range = serializedRange;
    return highlight;
}

document.addEventListener("mouseup", (e) => {
    const highlight = newHighlightFromSelection(window.getSelection());
    if (!highlight) {
        return;
    }
    manager.addHighlight(highlight);
    localStorage["database"] = JSON.stringify(manager.exportData());
});

function newUID(): string {
    return Math.random().toString();
}

function loadData() {
    manager.importData(JSON.parse(localStorage["database"]));
}

setTimeout(loadData, 1000);


Territories Feature

As discussed in #134, here's the PR for the new feature.
The csproj files, as usual, have been edited to try and go around the fact that the solution I work on is not the same solution as the on with Orchard's modules.
This is messier the more changes I make. It's worse for the test project, I think.
Please, verify that the csproj files are such that all references and ProjectReferences are correct, for both the module and the tests.
I based the latter on the csproj for Orchard.Tests.Modules.
I have also deleted the .orig files mentioned in #137

In addition to the changes for the review, I changed the js for the UI of the teritories in the hierarchy so there is no limit to the number of nested levels.

Thanks for the changes. Are we OK to merge, or are there any more changes pending?

I am fine with merging this.
I'll open separate issues for:

bulk operations on Territories (select many - delete and stuff like that)
Localization extension: when you are localizing a hierarchy, it "prepares" things by cloning over the territories ready to be localized and other stuff like that.
Improved UI: as it is, the UI for the territories in a hierarchy is rather cumbersome.


Release initial version

I'd like to start depending on ubpf for my BPFnative library. I can make up arbitrary versions for ubpf, but I would prefer not to. It would be great if a version 0.1 (or 0.0.1) could be released, and then we follow Semver or similar and cut regular releases.

I have mixed feelings about this because I think making a release would signal a willingness to maintain it (ensure it's stability and compatibility with other versions). I don't think ubpf is there yet.
I'm also unsure I understand the use case. You mention you prefer not to make up arbitrary versions for ubpf. If we make a release now, how would it not be arbitrary? Do you have an idea in mind to select which commit to make into a release? Or maybe there is a technical reason why you would prefer to have an official release in ubpf?

That's fair. My use case is packaging ubpf via Julia's BinaryBuilder platform, which requires you to specify a package version (like most distribution systems). I ended up just forking ubpf and choosing release numbers arbitrarily, but once ubpf is more mature and ready for releases, I'll switch the build script back to this repo.
I'm closing this because you're right, we're not there yet :slightly_smiling_face:


ActiveForm prevents button to open in new window (formtarget="_blank")

The formtarget directive is not working when the button is part of an ActiveFormorm.
// This example does not work.  It submits the form data to the current window.
<?php $form = ActiveForm::begin(['method' => 'get']); ?>
        First name: <input type="text" name="fname">

        Last name: <input type="text" name="lname">

        <button type="submit" >Submit</button>
        <button type="submit" formtarget="_blank">Submit to a new window</button>
    <?php ActiveForm::end(); ?>

// This example works well. It submits the form data to a new window.
 <form id="w0"  method="get">
        First name: <input type="text" name="fname">

        Last name: <input type="text" name="lname">

        <button type="submit" >Submit</button>
        <button type="submit" formtarget="_blank">Submit to a new window</button>
  </form>

Correct. formtarget isn't handled now in any way.

@samdark , isn't it a bug instead of an enhancement? The generated code for the button is ok. I assume that the activeForm.js handles the sumbit function without considering formtarget.
Anyway, when you have a solution it would be great if you could solve it in 2.0.7.

I think it's an enhancement for JS ActiveForm plugin to support the formtarget attribute.
We are preparing the release, so 2.0.7 milestone is closed for new non-critical issues and PR.

Resolved by https://github.com/yiisoft/yii2/commit/fbedb8e750dbb752e43af718f4692c7d5d5e43d7


TypeError: Cannot read property 'length' of undefined in computeLineStarts

Release version 4.0.3
(cd dom-lib-loader && tsc)

Results:
/work/project/node_modules/.pnpm/typescript@4.0.3/node_modules/typescript/lib/tsc.js:6040
        while (pos < text.length) {
                          ^
TypeError: Cannot read property 'length' of undefined
    at computeLineStarts (/work/project/node_modules/.pnpm/typescript@4.0.3/node_modules/typescript/lib/tsc.js:6040:27)
    at Object.getLineStarts (/work/project/node_modules/.pnpm/typescript@4.0.3/node_modules/typescript/lib/tsc.js:6093:60)
    at getCurrentLineMap (/work/project/node_modules/.pnpm/typescript@4.0.3/node_modules/typescript/lib/tsc.js:79723:59)
    at emitDetachedCommentsAndUpdateCommentsInfo (/work/project/node_modules/.pnpm/typescript@4.0.3/node_modules/typescript/lib/tsc.js:83011:94)
    at emitBodyWithDetachedComments (/work/project/node_modules/.pnpm/typescript@4.0.3/node_modules/typescript/lib/tsc.js:82884:17)
    at emitSourceFile (/work/project/node_modules/.pnpm/typescript@4.0.3/node_modules/typescript/lib/tsc.js:81753:21)
    at pipelineEmitWithHint (/work/project/node_modules/.pnpm/typescript@4.0.3/node_modules/typescript/lib/tsc.js:79800:24)
    at pipelineEmit (/work/project/node_modules/.pnpm/typescript@4.0.3/node_modules/typescript/lib/tsc.js:79756:13)
    at print (/work/project/node_modules/.pnpm/typescript@4.0.3/node_modules/typescript/lib/tsc.js:79690:13)
    at Object.writeFile (/work/project/node_modules/.pnpm/typescript@4.0.3/node_modules/typescript/lib/tsc.js:79674:13)

The project build:
tsc -b $dirs -W

Results:
[9:31:08 AM] Starting compilation in watch mode...

error TS6059: File '/work/project/libs/dom-lib-loader/index.ts' is not under 'rootDir' '/work/project/libs/chat-ui'. 'rootDir' is expected to contain all source files.

error TS6307: File '/work/project/libs/dom-lib-loader/index.ts' is not listed within the file list of project '/work/project/libs/chat-ui/tsconfig.json'. Projects must list all files or use an 'include' pattern.

[9:31:10 AM] Found 2 errors. Watching for file changes.

Issue was caused by importing from a relative path instead of the full package name.
chat-ui/index.ts
import '../dom-lib-loader'

rather than tho correct import
import '@prefix/dom-lib-loader'

Can you provide an example project that crashes this way?

Have same problem I have workaround for typescript.js file:
                ts.Debug.assert(declarationTransform.transformed.length === 1, "Should only see one output from the decl transform");
                // Inserted next line
                declarationTransform.transformed[0].text = declarationTransform.transformed[0].text || "";
                printSourceFileOrBundle(declarationFilePath, declarationMapPath, declarationTransform.transformed[0], declarationPrinter, {

Cannot send repro because I don't know how to simplify and anonymize closed source code.
Problem is that declaration emit does not contains text (is undefined) which is needed for comments or trivia emits. It is used in watcher which generates declarations only for detection of "shape change". Input program contains semantic errors.

Have same problem I have workaround for typescript.js file:
                ts.Debug.assert(declarationTransform.transformed.length === 1, "Should only see one output from the decl transform");
                // Inserted next line
                declarationTransform.transformed[0].text = declarationTransform.transformed[0].text || "";
                printSourceFileOrBundle(declarationFilePath, declarationMapPath, declarationTransform.transformed[0], declarationPrinter, {

Cannot send repro because I don't know how to simplify and anonymize closed source code.
Problem is that declaration emit does not contains text (is undefined) which is needed for comments or trivia emits. It is used in watcher which generates declarations only for detection of "shape change". Input program contains semantic errors.

I'm running into the same issue on v4.2.4

ran into this issue today with 4.2.4, workaround is here: https://github.com/microsoft/TypeScript/issues/41717#issuecomment-781128223
So if two folders have the same package.json name, it fails

Huh, #41717 seems to be an exact duplicate of this, but the discussion there has been way more useful, so I’m going to close this one. Thanks for linking @p0wl!