Colonist bar disappear

so for some reason when there's like less than 4 people on the colonist bar, the bar disappear,
so like when i have 4 colonist and i hide one of my colonist, the rest of the colonist dissapear. i am using a large amount of mods but i didnt see any error or red text on debug log

Can you attach your mod list, RimWorld version and debug log? They can be found at:

[%AppData%]/LocalLow/Ludeon Studios/RimWorld by Ludeon Studios/Config/ModsConfig.xml
[%AppData%]/LocalLow/Ludeon Studios/RimWorld by Ludeon Studios/Player.log, or press ctrl-F12 with Hugslib.

Are the colonists doing anything, such as sleeping in a cryptosleep casket or travelling in a caravan? Does this issue happen in all of your games?


Calling tfenv from bash script results in syntax error

Using this code, look at line 30:
https://github.com/cloudposse/terraform-root-modules/blob/master/aws/tfstate-backend/scripts/init.sh
Running the terraform project results in this error:
scripts/init.sh: eval: line 42: syntax error near unexpected token `('
make: *** [init] Error 2

Running tfenv straight from the command line works fine.
Given that the project does not compile under windows, I am unsure how to debug this further.

scripts/init.sh: eval: line 42: syntax error near unexpected token ('`

My best guess is this is due to using sh and not bash; possibly sh is the default in whatever shell you are in? Apologies - we have never tried using it on anything other than Linux/MacOS. :-/


Update how-to-configure-network-tracing.md

Summary
added the traceOutputOptions to log Process ID and timestamp.
Fixes #Issue_Number (if available)

Thanks, @kaushalp, for making the additional change. We'll merge your PR now. The change should be live on docs.microsoft.com in the next day or two.


Feature request: create isolated world

I'd like to create an isolated context to execute some js in the same website I'm visiting without polluting the main context. It is possible right now, but it requires to access a lot of internal methods:
  const mainFrame = page.mainFrame()

  const isolatedWorldInfo = await page._client.send('Page.createIsolatedWorld', {frameId: mainFrame._id, worldName: 'new-isolated-world'})
  const executionContextId = isolatedWorldInfo.executionContextId
  const JsHandleFactory = page._frameManager.createJSHandle.bind(page._frameManager, executionContextId)

  const executionContext = new ExecutionContext(page._client, {id: executionContextId}, JsHandleFactory)
  await executionContext.evaluate(..)

It would be nice if puppeteer exposed this as a method. Something like: page.createNewIsolatedContext
If necessary I could write up the code and the tests

@furstenheim this is interesting. Can you please share your usecase?

@aslushnikov I'm using it webscraper-headless https://github.com/geoblink/web-scraper-chrome-extension
Basically, it was an existing Chrome extension used for scraping. In the normal browser it will execute a bunch of code accessing the DOM to scrape the website. In the browser this is safe because there is a different context for the extension. For example, there cannot be collisions with jquery since it won't be globally defined.
To scrape on the server what I'm doing is opening a new context as in the snippet and injecting the code of the extension there.
https://github.com/geoblink/web-scraper-chrome-extension/blob/headless-mode/extension/scripts/ChromeHeadlessBrowser.js#L47

@furstenheim this looks very reasonable; once #2812 lands we'll add this one as well.

(cross-posting from https://github.com/GoogleChrome/puppeteer/pull/2829#issuecomment-418479798)
I've played with this for a while. A few observations:

execution contexts per se are not very handy. Once I have an isolated world, I want to be able to run querySelector and all the ElementHandle goodness. THis means we need to have an IsolatedWorld class in our API.
once I have querySelector and everything, I want isolatedWorld.waitForSelector to be working just fine.
the isolatedWorld.waitForSelector should work just fine if my frame navigates  away (this is what we have today for default frame worlds). It means that I should be able to create "persisted" worlds that are getting auto-recreated once the frame navigates.

In order to have this, we need to support "persistent" isolated worlds on the protocol level. It will be also nice to support exposeFunction and evaluateOnNewDocument methods to work with isolated worlds.
This will make a complete story around isolated worlds. With this level of isolation, things like #609 will be automatically addressed from the user-land.

Once we have isolated worlds, we should push certain PPTR functions to the clean isolated world.
Another example of this is #3327: the page.select method is currently implemented in page and uses globally defined Event class. If the website happens to override it, we're screwed.

yep, having issues as well running code on websites that override globals, have badly implemented polyfills, run mootools/protoype.js,...
Isolated worlds would solve these for us. A possible API could be to:
await page.createIsolatedWorld().evaluate(...)

Hi @aslushnikov could you share the plan that when will you fix this issue? We still have the page.select() issue https://github.com/GoogleChrome/puppeteer/issues/3327 when we are writing automation scripts.


Update serialized format, adding magic and version

Also switch the serialization of bytes_per_sample from i64 to u32, which cuts the index size in half while restricting samples to <4GB
~TODO~ DONE:

re-generate all StreamingDataset implmentations (ADE20k, ImageNet, COCO), and upload to S3
change defaults in YAMLs to point to new versions (e.g. .../mds/1/)

@ravi-mosaicml To be clear, is this size per individual training example, or something like a shard? If it's a single training example, then 4GB should be a pretty acceptable memory limit. I could see extremely large images (ie. cancer x-rays) being a problem though.

size per individual training example

@ravi-mosaicml To be clear, is this size per individual training example, or something like a shard? If it's a single training example, then 4GB should be a pretty acceptable memory limit. I could see extremely large images (ie. cancer x-rays) being a problem though.

Hmm, if there is a use case that would exceed it, then I would like to support larger sample sizes. Perhaps could we have a flag in the index file on whether the sample sizes are 32 bit or 64 bit integers?

Or a bytes per size field (1 2 3 4 8 etc)
Or we do the shard writing in two stages: collect sample sizes in first stage, then optimize a fixed vocabulary of say 65536 sample sizes for which each sample is padded up to nearest that minimizes overall serialized dataset size, write padded samples in second stage, and then we need 2 bytes per sample size when the dataset is in use (would scale up better for some minor % wasted space)
Or we just wait until a customer actually exceeds 4GB/sample which seems crazy to me

Yeah I think we can defer this until we have an actual use case.

For now, can you record in the index file what dtype the samples are? I'm OK deferring the implementation of 64 bit samples sizes in the writer and reader till there is more demand for that, but also don't want ot invalidate any existing index files because we made a breaking change to support that. Since this is a standard, I think it's more important to be future thinking, than say any other feature in composer which we can easily change when there is a need.
(As for a possible implementation, we could also add in a sample_size_dtype flag that defaults to int32; then when writing the samples, if a sample size exceeds this flag then it errors. But I think the two pass approach is more elegant)

Updated PR. We accumulate sample sizes across shard writing and write the entire index after all shards, so we now rightsize the dtype at that point.

Updated PR. We accumulate sample sizes across shard writing and write the entire index after all shards, so we now rightsize the dtype at that point.

I think this should hopefully address the above comments and future-proof the Index format for a while?
I am currently re-generating the datasets and running our remote tests and it looks good so far on ADE20k. I will also be fixing our COCO datset (xfail) so that we can respond to our external user who is requesting StreamingCOCO.

Summary of changes:

All MDS datasets upgraded to v1 and regenerated
DeeplabV3 and R50 streaming YAMLs updated, along with default paths, to v1
COCO dataset bugfixed, passing remote tests
change default timeout to 60s and default shard size to 32MB to address some timeouts observed in pratice (this is a temporary measure until download is refactored)

Should we specify remote/local in the yamls if they are already in the hparam defaults (or vice versa)?

Should we specify remote/local in the yamls if they are already in the hparam defaults (or vice versa)?

Yes, for safety I always specify every param, this helps catch breaking changes if someone changes the defaults, and makes it easier for a user to override remote with their own path, rather than trek back to the source code to figure out what the key name is ("was it 'remote' or 'remote_dir'...")

Should we specify remote/local in the yamls if they are already in the hparam defaults (or vice versa)?

Also, re. the vice-versa, I am very in favor of removing the defaults in the YAHP hparams :) , but I can't until we remove the fields in parent class DatasetHparams, which are optional and force us to use optional fields in all subclasses, and the Optionals have to have defaults

Roger that


Make the transfer_to() from token.sw in the std-lib non-specific to the contract_id()

Currently the function uses the contract_id() to automatically transfer the asset - being itself.
I find myself transferring variable assets frequently and thus transfer_to() should be deprecated to allow any assets to be transferred rather than just the contract that it is being called from.
Here is the new function to take its place.
fn transfer(to: Identity, asset: ContractId, amount: u64) {
    match to {
        Identity::Address(address) => {
            transfer_to_output(amount, asset, address);
        },
        Identity::ContractId(address) => {
            force_transfer_to_contract(amount, asset, address);
        }
    }
}

cc @nfurfaro Dropping it in your inbox for a reference

https://github.com/FuelLabs/sway/pull/1856

The order of parameters needs to be consistent across all 3 functions. Also, would be good to see tests.

The order of parameters needs to be consistent across all 3 functions. Also, would be good to see tests.

Why does it need to be the same order if we are bumping to v0.15.0 soon (which is a breaking change)?

Every function in token.sw currently takes the amount first and the destination last.  Should keep it consistent.

To clarify: I was saying the order of parameters between the 3 functions must be consistent. Not that it has to remain the same as it is now.


[BUG]: NnnPicker fails with invalid argument as env

When I run NnnPicker. NnnExplorer works fine.

Please share your config, can't reproduce. Also NnnExplorer uses the same env argument so I don't get this bug.

What is the value of your TERM?

This error happens when your TERM is unset. Please make sure it is set accordingly in the cmd for NnnPicker.


Feature/lit 1697 js sdk fix combine shares when above threshold

At the moment, we only perform a check for the minimum required connected nodes when instantiating the LitNodeClient. However, there are instances where the connected nodes might not return a signature. Despite this, we should still combine shares as long as the number exceeds the threshold.
For example, we should still combine the following signedDataList as long as the valid ones exceed this.config.minNodeCount.
[
  {
    "signature": {
      "digest": "",
      "shareIndex": 0,
      "signatureShare": "",
      "bigR": "",
      "publicKey": "",
      "sigType": "",
      "dataSigned": ""
    }
  },
  {
    "signature": {
      "digest": "7D87C5EA75F7378BB701E404C50639161AF3EFF66293E9F375B5F17EB50476F41",
      "shareIndex": 0,
      "signatureShare": "2CBE60A7EB8F87EC29F1F909F40E07FA45BFEA8E375AC9C692430412E977BFB32",
      "bigR": "027FC3D3A01E1CAACD9B4AED24FB87D53D96FFC634B5E39AB884913C0AC475E5AD3",
      "publicKey": "04AF705894EFEE1734CB4286DDE21047C24E49F73630778B81745D6DF00C12BF6A94CAFB64ADFC613D6D4831C89FDB69C3B75C1F269E7342F06FFA2EAF77846E9B4",
      "sigType": "ECDSA_CAIT_SITH",
      "dataSigned": "7D87C5EA75F7378BB701E404C50639161AF3EFF66293E9F375B5F17EB50476F45"
    }
  },
  {
    "signature": {
      "digest": "7D87C5EA75F7378BB701E404C50639161AF3EFF66293E9F375B5F17EB50476F41",
      "shareIndex": 0,
      "signatureShare": "948BA8906F061C13ED7F1436F778618492CF0248386BAFC3412DF6DC8ADEA03C2",
      "bigR": "027FC3D3A01E1CAACD9B4AED24FB87D53D96FFC634B5E39AB884913C0AC475E5AD3",
      "publicKey": "04AF705894EFEE1734CB4286DDE21047C24E49F73630778B81745D6DF00C12BF6A94CAFB64ADFC613D6D4831C89FDB69C3B75C1F269E7342F06FFA2EAF77846E9B4",
      "sigType": "ECDSA_CAIT_SITH",
      "dataSigned": "7D87C5EA75F7378BB701E404C50639161AF3EFF66293E9F375B5F17EB50476F45"
    }
  }
]

Note: seems like we still have issue with Lit.Actions.claimKey({keyId: "foo"}); but this PR should fix the regular session sigs signing for now


After dragging a path handle, the path tag becomes unhoverable

Title says it all.

This issue has been fixed at some point.


CI: Fix typo stopping new runtime config being used

PR #543 attempted to make the tests use the new runtime config file, but
the fix was incorrect due to a silly typo.
Really fixes #542.
Signed-off-by: James O. D. Hunt<EMAIL_ADDRESS>

lgtm (now waiting for CI to clear)

Grrr... this PR is still waiting on semaphore even though we've disabled it. Aslo, I cannot force-merge so will have to close and re-open...


ScanInfoLine add Temperature

Seem to work, not sure about the change in StarScanNode.cs though - please have a look

Looks good, except there is already a "surface temp" tx string in there..
        if (nSurfaceTemperature.HasValue)
            scanText.AppendFormat("Surface Temp: {0}K\n".T(EDCTx.JournalScan_SurfaceTemp), nSurfaceTemperature.Value.ToString("N0"));

Do we just want to use that instead?

I think we'd need to rewrite the whole section to make that kind of formatting work. Right now it errors on that {0} code when using information.Append.

Also since scanText currently doesn't exist at those lines and information.Append can't handle the conversion more rewriting would be needed (I think).
Surely possible, but worth the effort?

no


Adding a couple more unit tests.

@alexwaibel if there's multiple extensions it takes the last one, it's just finding the last period and taking the substring after that. Duplicate filenames causes an overwrite.

I'm going to be honest I don't have much time this weekend to address this.

May just want to flag any changes as an issue.

@alexwaibel if there's multiple extensions it takes the last one, it's just finding the last period and taking the substring after that. Duplicate filenames causes an overwrite.

Overwriting files is probably not the behavior we want. It'd be really easy to accidentally overwrite an experiment for example and lose it forever. We can wait until next week to address it if you're busy but I think it would be good to throw an error instead of overwriting.


Add check null

Add check null if sum return null
Result:

@khanhduzz
Hot fix 🔥🔥🔥🔥
Merge this now!

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.


Compilation with Hermit dependency as part of a workspace fails

I have observed an issue where depending on Hermit in a crate that's part of a workspace makes compilation fail. For example, I can build a hello world crate where I specify
[target.'cfg(target_os = "hermit")'.dependencies.hermit]
version = "0.7.2"
default-features = false

using cargo build --target riscv64gc-unknown-hermit --release. However, if this crate becomes part of a workspace (hermit-workspace below), the build fails:
  Building hermit-builtins
  $ cargo build --release --manifest-path=hermit-builtins/Cargo.toml --target=riscv64gc-unknown-hermit -Zbuild-std=core -Zbuild-std-features=compiler-builtins-mem --target-dir /Users/victor/dev/hermit-workspace/target/riscv64gc-unknown-hermit/release/build/hermit-e893d51bcbd351c9/out/target
  error: current package believes it's in a workspace when it's not:
  current:   /Users/victor/dev/hermit-workspace/target/riscv64gc-unknown-hermit/release/build/hermit-e893d51bcbd351c9/out/kernel-0.6.6/hermit-builtins/Cargo.toml
  workspace: /Users/victor/dev/hermit-workspace/Cargo.toml

  this may be fixable by adding `target/riscv64gc-unknown-hermit/release/build/hermit-e893d51bcbd351c9/out/kernel-0.6.6/hermit-builtins` to the `workspace.members` array of the manifest located at: /Users/victor/dev/hermit-workspace/Cargo.toml
  Alternatively, to keep it out of the workspace, add the package to the `workspace.exclude` array, or add an empty `[workspace]` table to the package's manifest.
  Error: command exited with non-zero code `cargo build --release --manifest-path=hermit-builtins/Cargo.toml --target=riscv64gc-unknown-hermit -Zbuild-std=core -Zbuild-std-features=compiler-builtins-mem --target-dir /Users/victor/dev/hermit-workspace/target/riscv64gc-unknown-hermit/release/build/hermit-e893d51bcbd351c9/out/target`: 101
  thread 'main' panicked at /Users/victor/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hermit-0.7.2/build.rs:109:9:
  assertion failed: status.success()

Crucially, I wasn't able to test any potential fixes to this because as soon as the hermit dependency is patched and cargo builds it locally or in .cargo/git/checkouts instead of .cargo/registry/src/ the issue goes away.

Thanks for the issue! I'll publish a release later. 👍


Bump version to 2017.1.0

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Make the deployment of Portal optional

Sometime user do not want to deploy Portal.
At the moment there is no way in the Harbor CR to tell the operator not to deploy Portal.

@sguyennet
It seems to support this feature we need to do modifications of CRD, right? As there are other changes required to do CRD modifications in the coming 1.1 release, I put this issue from 1.2 to the 1.1 release. 1.1 is planned to release in mid of June. Is that ok?

along with Portal deployment, some of the ingress rule are not needed in some use cases, can we make the harbor ingress rule configurable as well?

Per resource limitation, this work needs to be moved to release 1.2.


NullReferenceException exception for olivegreen

NPOI Version
2.6.2
File Type
XLSX
Reproduce Steps
using NPOI.SS.UserModel;

var color = IndexedColors.ValueOf("OliveGreen");

Issue Description
The above code should return IndexColors of OliveGreen. But, it actually throws NullReferenceException.
I found a typo here.
https://github.com/nissl-lab/npoi/blob/master/main/SS/UserModel/IndexedColors.cs#L194
"olivergreen" should be "olivegreen".

Bug  confirmed. Can you create a PR for this?

@tonyqus Sorry for the delay in replying. I have not been able to set up an environment to build and test this project, so it may take some time to create a PR. If you still want, I will gladly create a PR.

@Bykiev has helped created the PR. Thank you, guys!


move fs interface and plugin to new repo

As part of an effort to move all the interfaces and plugins outside of the toolchain repo, I moved the file-system plugin and interface to their own repo here: https://github.com/polywrap/file-system
There is a temporary import redirect added to the file-system resolver plugin. It's necessary due to circular dependencies with the CLI being used to build the package. The import redirect can be removed once the CLI in the dependencies folder incorporates the change.
There is also a temporary extra redirect added to avoid breaking changes:
{
  from: new Uri("wrap://ens/fs.polywrap.eth"),
  to: new Uri(defaultInterfaces.fileSystem),
},

@krisbitney can we make a quick issue for the remaining work of removing these workarounds so we don't forget? Also should we create a new pre-release ASAP so we can do this?

I created an issue here: https://github.com/polywrap/toolchain/issues/1504
I don't think we necessarily need a pre-release ASAP. I don't see it as urgent. But if it makes sense to do a release soon anyway, I'm for it.


(dirty pr), Revising VTF Modding.

Do you need anything? maybe some guidance in setting up a local testing environment?

I was waiting on the poetry pr to get merged so i could follow it. Might try using poetry anyways or just get help for a local testing environment. Anyways, I was just testing writing some docs.

I was waiting on the poetry pr to get merged so i could follow it.

It's basically done, might actually add the one line to the docs i forgot and then merge it.

Oh okay, then i'll try out using poetry for local rendering. Thanks laundmo.

Heads up: poetry PR is now merged. if you pull down main you can get live-reloading auto builds!

Hey @laundmo !
I'm having an issue with the 'Contributing to ModdingDocs' instructions. I have a fresh install of Win10. I just installed python, git, which seem to be working fine. I'm pretty sure I added Python to PATH (followed this guide; https://datatofish.com/add-python-to-windows-path/)
My issue seems to be coming from poetry or cmd(or)ps.  cmd(or)ps aren't recognizing poetry as a command. I did install poetry before entering ModdingDoc directory (which was out of order of from the docs instruction).
Error:
cmd:
 ModdingDocs>poetry install
'poetry' is not recognized as an internal or external command,
operable program or batch file.

ps:
ModdingDocs> poetry install
>>
poetry : The term 'poetry' is not recognized as the name of a cmdlet,
function, script file, or operable program. Check the spelling of the name, or
if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ poetry install
+ ~~~~~~
    + CategoryInfo          : ObjectNotFound: (poetry:String) [], CommandNotFo
   undException
    + FullyQualifiedErrorId : CommandNotFoundException

Thanks.

Hey, that seems odd - could you try the following commands?
py -m pip install poetry
py -m poetry install

I GOT IT WORKING!!!!!!!!!
well you did, BUT IT'S WORKING ON MY MACHINE

To get it working this is what I did.
Super simply I cloned the repo (with Github Desktop)
cd to the directory
ran  py -m pip install poetry
from there on, the current docs no longer work (im on win10)
I then did what you suggested.
py -m pip install poetry
then, py -m poetry install
lastly i built the docs with  py -m poetry run build
Then my browser automatically pulled up the built docs.

alright that basically confirms the docs need to be adjusted - thanks

I have re-written most of the vtf modding doc. This is essentially the final product. Asking for review for grammer, spelling mistakes and for missing content. I'm open to re-write or re-work the doc.

Can I access your recommended changed or just comment on your posts?

you should have a "add suggestion to batch" button and then at the end you can commit all selected suggestions. feel free to change things though if you disagree

Not sure what you're talking about when you mention a "ass suggestion to batch" button.

Not sure what you're talking about when you mention a "add suggestion to batch" button.

so you can't see this?

What's with all these features I don't have access too XD. I can see where that's supposed to be, but I couldn't see it. I think you did something because it's greyed out but visible now.

@SenorGeese I applied a few of the suggestions. If you could take a look at the comment from laundmo that still remain, we can go ahead and get this merged.

I read and responded. I'll learn how to grab his suggestions and edit them to post a revised version. Thanks for you review.

Finished page with your changes accounted for. Asking for review to merge.

@emma-miler @laundmo Thoughts?


[Testing] Update integration tests to allow for DEFAULT syntax

It seems the Spanner Emulator now supports the 'DEFAULT' syntax in schemas. So this needs to be updated, and then fix the hacks that removed those defaults from the integration tests of the services.

Fix the profile service when the emulator bug for DML on Numeric datatypes is fixed.


Resource Prioritization

Open similar here: https://github.com/escaladesports/gatsby-plugin-web-font-loader/issues/8
As per best practices: https://developers.google.com/web/fundamentals/performance/resource-prioritization?utm_source=lighthouse&utm_medium=devtools#preconnect
Would it be possible to add the rel prop in the generated link with the different options? Sometimes is required for performance optimization.

Lighthouse is signaling an "Opportunity" to optimize this. Lighthouse is giving me this message: "Consider adding preconnect or dns-prefetch resource hints to establish early connections to important third-party origins. Learn more." Trying to see if i can manually add this in the package.


Newgrounds download reports invalid SSL certificate

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2021.12.25. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
Everywhere
Description
This has happened for every video I have tried, i'm not sure what else there is to say here. Running a fully up to date install of Windows 10. I am not a developer, so I don't know what would cause this, perhaps a library? It may also be Newgrounds itself acting up.
Verbose log
Latest version: 2021.12.25, Current version: 2021.12.25
yt-dlp is up to date (2021.12.25)
[Newgrounds] 827175: Downloading webpage
[Newgrounds] 827175: Downloading JSON metadata
[Newgrounds] 827175: Checking 1080p video format URL
[Newgrounds] 827175: 1080p video format URL is invalid, skipping: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>
[Newgrounds] 827175: Checking 720p video format URL
[Newgrounds] 827175: 720p video format URL is invalid, skipping: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>
[Newgrounds] 827175: Checking 360p video format URL
[Newgrounds] 827175: 360p video format URL is invalid, skipping: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>

Try with --no-check-certificate

Works as expected with that arg

You did not provide VERBOSE log! Are you using a Mac?

In any case, the issue is that you don't have the relevent certificates. This is a known issue on macOS, but similar issue can happen in other OSes too. See https://stackoverflow.com/a/42334357/12907559

No I am not, I used -Uv and then > log.txt. Appears to have cut stuff off though. Heres a copy pasted log:
https://pastebin.com/AGbZERMt


Compatibility patch for older http clients, a bug fix in segment state toggle, logging

Some http clients do not send a leading slash in the URI in their http request.
As in "GET tables HTTP/1.1" instead of "GET /tables HTTP/1.1". Jersey framework does not
parse this correctly, so added logic to rewrite the request in such cases. Previous version
of third-eye library will now work correctly with the jersey server.
The log message, when such an API comes in, shows up as follows:
2017/08/09 10:42:14.643 WARN [HeaderAdder] [grizzly-http-server-15] [pinot-controller] [] Rewriting new Request URI http://localhost:8862/tables (incomingBaseUri = http://localhost:8862/, incomingReqUri = http://localhost:8862tables)
Also, fixed a but in the API that changes state of a segment. restlet API (and therefore
the derived jersey implementation) threw exception when changing state of all segments of
a table. Fixed in the jersey part.
Fixed a bug in the jersey implementation where toggling the state of one segment would end up
toggling the state of all segments
Also added a log of each request and response code.

Codecov Report

Merging #1774 into master will increase coverage by <.01%.
The diff coverage is 9.37%.

@@            Coverage Diff             @@
##           master    #1774      +/-   ##
==========================================
+ Coverage   65.85%   65.85%   +<.01%
==========================================
  Files         865      866       +1
  Lines       41941    41973      +32
  Branches     5522     5529       +7
==========================================
+ Hits        27621    27643      +22
- Misses      12447    12469      +22
+ Partials     1873     1861      -12

Impacted Files
Coverage Δ

.../controller/api/ControllerAdminApiApplication.java
86% <ø> (ø)
:arrow_up:

...ler/api/resources/PinotSegmentRestletResource.java
0% <0%> (ø)
:arrow_up:

...roller/api/resources/ControllerResponseFilter.java
25% <25%> (ø)

...in/pinot/controller/api/resources/HeaderAdder.java
6.45% <6.66%> (+0.2%)
:arrow_up:

...in/pinot/core/query/pruner/ValidSegmentPruner.java
57.14% <0%> (-28.58%)
:arrow_down:

...pinot/controller/validation/ValidationManager.java
73.27% <0%> (-6.46%)
:arrow_down:

...not/core/query/pruner/DataSchemaSegmentPruner.java
53.65% <0%> (-4.88%)
:arrow_down:

...m/linkedin/pinot/common/metrics/MetricsHelper.java
68.83% <0%> (-2.6%)
:arrow_down:

...not/broker/requesthandler/RangeMergeOptimizer.java
88.7% <0%> (-1.62%)
:arrow_down:

.../pinot/core/common/datatable/DataTableBuilder.java
91.06% <0%> (-1.12%)
:arrow_down:

... and 16 more

Continue to review full report at Codecov.

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


Group By queries cause an EOFException

CrateDB version: 2.3.2
Environment description:

JVM version: 1.8.0_171
Kernel: Linux 4.4.38
Distribution: Ubuntu 16.04
Number of nodes: 3

Problem description:
We have a cluster with three nodes, one of which is the master node. At one point, the master node went offline, and so a different node was elected master. Some time after this, GROUP BY queries on a particular table started to fail, giving this error:
SQLActionException[RuntimeException: java.io.EOFException: read past EOF: MMapIndexInput(path="/mnt/data/crate/nodes/0/indices/8-h2FjCLS7C1lzXKVxLiug/0/index/_101ma.cfs") [slice=_101ma_Lucene54_0.dvd] [slice=var-binary]]

Restarting all the nodes did not fix it, but restarting in a particular order so that the old master node was elected as master seemed to.
Steps to reproduce:

Make a cluster with three nodes
Make a table with some data in it.
Take the master node offline.
Bring it back online once a different master has been elected.
Run a GROUP BY query, e.g.

SELECT armada.wind_turbine_data.device_uuid AS armada_wind_turbine_data_device_uuid, count(armada.wind_turbine_data.timestamp) AS samples, max(armada.wind_turbine_data.timestamp) AS timestamp
FROM armada.wind_turbine_data
WHERE armada.wind_turbine_data.timestamp <<PHONE_NUMBER>000 AND armada.wind_turbine_data.timestamp >=<PHONE_NUMBER>000 GROUP BY armada.wind_turbine_data.device_uuid

Table Schema:
CREATE TABLE IF NOT EXISTS "armada"."wind_turbine_data" (
   "activity" FLOAT,
   "availability" FLOAT,
   "availability_true" FLOAT,
   "device_uuid" STRING,
   "direction_wind" FLOAT,
   "energy" FLOAT,
   "energy_cumulative" FLOAT,
   "interval_duration" INTEGER,
   "power_active" FLOAT,
   "power_theoretical" FLOAT,
   "rpm_generator" FLOAT,
   "rpm_rotor" FLOAT,
   "seconds_observed" INTEGER,
   "status" STRING,
   "timestamp" TIMESTAMP,
   "wind_speed" FLOAT,
   "wind_speed_max" FLOAT,
   PRIMARY KEY ("timestamp", "device_uuid")
)
CLUSTERED INTO 4 SHARDS
WITH (
   "allocation.max_retries" = 5,
   "blocks.metadata" = false,
   "blocks.read" = false,
   "blocks.read_only" = false,
   "blocks.write" = false,
   column_policy = 'dynamic',
   "mapping.total_fields.limit" = 1000,
   number_of_replicas = '0-1',
   "recovery.initial_shards" = 'quorum',
   refresh_interval = 1000,
   "routing.allocation.enable" = 'all',
   "routing.allocation.total_shards_per_node" = -1,
   "translog.durability" = 'REQUEST',
   "translog.flush_threshold_size" = 536870912,
   "translog.sync_interval" = 5000,
   "unassigned.node_left.delayed_timeout" = 60000,
   "warmer.enabled" = true,
   "write.wait_for_active_shards" = 'all'
)```

Thanks for reporting.
Do you have any logs from the master from the time frame when it went offline?

I think this is the bit of the log just before the crash:
crate-2018-05-11.log

@nocturnaltortoise It seems that there was some corrupted index due to the failure of the master node, and the error you encounter after that it's not specific to the Group By query.

Do you see any CorruptIndexException in your logs when the master node failed?
Was there any disk failure on the master node?

You could try to repair the index by using Lucene's tool luke. You have to open the directory with the corrupt index with luke and then use Tools->Check Index tool.

No, I can't find any CorruptIndexExceptions in the crate logs, on either the current master or the master when the error occurred.
I'm not aware of any disk failures.
I've found a command line tool called CLue https://github.com/javasoze/clue that might be easier to use on this server than Luke, so I'll have a look at the index with that and see if I can find anything.

Ok, good! Please let us know how that goes.

I used lucene's CheckIndex, i.e.
sudo java -cp lucene-core-6.6.1.jar org.apache.lucene.index.CheckIndex /mnt/data/crate/nodes/0/indices/8-h2FjCLS7C1lzXKVxLiug/0/index

And I got this log, which seemed to suggest everything was ok, but _101ma isn't mentioned, which I guess is the relevant segment?
lucene-integrity-check.log

But you have run it on the problematic "snapshot" of the directory?
Is it possible to send us logs from all nodes for a time window before and after the incident?

I'm not sure what you mean, I tried pointing it at the _101ma.cfs file, which is the one mentioned in the error, but it didn't work unless I pointed it at the directory the file was in.
I've attached logs for the day of the incident on each of the three nodes, it has a bit of time after the incident and beforehand, most of the logs are full of an irrelevant message about content-type detection.
crate-log-1.log
crate-log-2.log
crate-log-3.log

Tried to reproduce the scenario by killing the master but couldn't get to the state of corrupt indexes.
It seems that something weird happened in your cluster (possibly a hw failure? - can you check your /var/log/messages and kernel messages?).
What I meant is that you stated that your cluster is running correctly if the old master resumes again as master, is that correct? No corruption anymore?
Since Luke finds no error in the index directory, do you still experience this exception when running the group by queries?

Yes, we've had no problems with the queries or the corruption being mentioned since the master was switched back to the old master. I'm wondering whether the corruption was down to the master node crashing due to being out of heap memory? As that was what caused the original master node to go offline in the first place.

This shouldn't happen, we didn't have a case where OOM caused any index corruption.
I'm closing this for now. Feel free to reopen if it occurs again (hopefully not) and try to store any log information (crate + OS logs) at the time period of the incident.


IRB no longer has irb_at_exit method

brew doctor output
Your system is ready to brew.

Verification

[X] My "brew doctor output" above says Your system is ready to brew. and am still able to reproduce my issue.
[X] I ran brew update twice and am still able to reproduce my issue.
[X] This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

brew config output
HOMEBREW_VERSION: 4.3.12-30-ga396c2f
ORIGIN: https://github.com/Homebrew/brew
HEAD: a396c2f8a2b6c2f80a987ab8ea337b0d2115e2f0
Last commit: 33 minutes ago
Core tap HEAD: eaa9dc33038996847f8ae7e2637dbb6e9a2546c0
Core tap last commit: 15 minutes ago
Core tap JSON: 09 May 15:36 UTC
Core cask tap HEAD: 95b733c705dceb0effd718af4925445c29b284e4
Core cask tap last commit: 23 minutes ago
Core cask tap JSON: 09 May 15:36 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_DISPLAY: /private/tmp/com.apple.launchd.6h1UxUaXXs/org.xquartz:0
HOMEBREW_EDITOR: emacs
HOMEBREW_GITHUB_API_TOKEN: set
HOMEBREW_MAKE_JOBS: 10
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: set
HOMEBREW_NO_INSTALL_CLEANUP: set
HOMEBREW_NO_INSTALL_FROM_API: set
HOMEBREW_SORBET_RUNTIME: set
Homebrew Ruby: 3.3.4 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.4/bin/ruby
CPU: 10-core 64-bit arm_firestorm_icestorm
Clang: 15.0.0 build 1500
Git: 2.45.1 => /opt/homebrew/bin/git
Curl: 8.4.0 => /usr/bin/curl
macOS: 14.3.1-arm64
CLT: <IP_ADDRESS>.1.1700200546
Xcode: 15.2
Rosetta 2: false

What were you trying to do (and why)?
Debug a new formula.
What happened (include all command output)?
After closing the irb shell, there's an error about how there's no irb_at_exit variable or method in IRB:
irb(new-formula):005>

==> Temporary files retained at:
/private/tmp/docker-dns-20240731-85399-4i239i
Error: An exception occurred within a child process:
  NameError: undefined local variable or method `irb_at_exit' for module IRB
/opt/homebrew/Library/Homebrew/debrew/irb.rb:29:in `start_within'
/opt/homebrew/Library/Homebrew/debrew.rb:120:in `block (5 levels) in debug'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.4/lib/ruby/3.3.0/mutex_m.rb:77:in `synchronize'
/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.4/lib/ruby/3.3.0/mutex_m.rb:77:in `mu_synchronize'
/opt/homebrew/Library/Homebrew/debrew.rb:118:in `block (4 levels) in debug'
/opt/homebrew/Library/Homebrew/ignorable.rb:35:in `raise'
/opt/homebrew/Library/Homebrew/formula.rb:3058:in `block in system'
/opt/homebrew/Library/Homebrew/formula.rb:2994:in `open'
/opt/homebrew/Library/Homebrew/formula.rb:2994:in `system'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11501/lib/types/private/methods/call_validation.rb:167:in `bind_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11501/lib/types/private/methods/call_validation.rb:167:in `validate_call_skip_block_type'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11501/lib/types/private/methods/call_validation.rb:109:in `block in create_validator_slow_skip_block_type'

Here's what I can see about irb when the session is still live:
BuildError: Failed executing: false
1. raise
2. ignore
3. backtrace
4. irb
5. shell
Choose an action: 4
When you exit this IRB session, execution will continue.
irb(docker-dns):001> IRB.version
=> "irb 1.13.1 (2024-05-05)"
irb(docker-dns):002> IRB.method(:version).source_location
=> ["/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.4/lib/ruby/3.3.0/irb/init.rb", 41]
irb(docker-dns):003> IRB.method(:irb_at_exit)
(irb):3:in `method': undefined method `irb_at_exit' for class `#<Class:IRB>' (NameError)
	from (irb):3:in `raise'
	from <internal:kernel>:187:in `loop'
	from /opt/homebrew/Library/Homebrew/debrew.rb:120:in `block (5 levels) in debug'
	from /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.4/lib/ruby/3.3.0/mutex_m.rb:77:in `synchronize'
	from /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.4/lib/ruby/3.3.0/mutex_m.rb:77:in `mu_synchronize'
	from /opt/homebrew/Library/Homebrew/debrew.rb:118:in `block (4 levels) in debug'
	from /opt/homebrew/Library/Homebrew/ignorable.rb:35:in `raise'
	from /opt/homebrew/Library/Homebrew/formula.rb:3058:in `block in system'
	from /opt/homebrew/Library/Homebrew/formula.rb:2994:in `open'
	from /opt/homebrew/Library/Homebrew/formula.rb:2994:in `system'
	from /opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11501/lib/types/private/methods/call_validation.rb:167:in `bind_call'
	from /opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11501/lib/types/private/methods/call_validation.rb:167:in `validate_call_skip_block_type'
	from /opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11501/lib/types/private/methods/call_validation.rb:109:in `block in create_validator_slow_skip_block_type'

So it looks like you're using ruby 3.3.4 which comes bundled with irb-1.13.1. But the irb_at_exit method was removed from irb back in irb-1.6.4, and every version of irb bundled with ruby since ruby-3.3.0.
https://github.com/ruby/ruby/commit/f25791884c8efa5ea6598c82ae5015f5fcfb8ebb#diff-47c7db963078b26254124a03825554105d46c8b153dbb15c9aad4a20350223fb
What did you expect to happen?
After closing the irb shell, execution would continue.
Step-by-step reproduction instructions (by running brew commands)
$ brew install -vd new-formula # that has system "false" in the install stanza
[... lots of trimmed logs...]
BuildError: Failed executing: false
1. raise
2. ignore
3. backtrace
4. irb
5. shell
Choose an action: 4
When you exit this IRB session, execution will continue.
irb(new-formula):001> exit
==> Temporary files retained at:
/private/tmp/docker-dns-20240731-4126-p5kuu1
Error: An exception occurred within a child process:
  NameError: undefined local variable or method `irb_at_exit' for module IRB

I tried creating the issue with a reference to the line in question, but I guess that doesn't make it through when a template is used... anyway, there's the line:
https://github.com/Homebrew/brew/blob/a396c2f8a2b6c2f80a987ab8ea337b0d2115e2f0/Library/Homebrew/debrew/irb.rb#L29

A lot of that code is indeed quite old. I think basically everything Line 16 and down can be replaced with irb.run(@CONF) now.


How to use chromedp to drive an Electron application

What versions are you running?

$ go list -m github.com/chromedp/chromedp
github.com/chromedp/chromedp v0.5.3
$ google-chrome --version
N/A

I'm running a go-based Electron app via:
github.com/asticode/go-astilectron v0.14.2

Underlying electron is version 8.2.5

$ go version
go version go1.14.1 darwin/amd64

What did you do? Include clear steps.
I've enabled dev-tools on my application via
				"remote-debugging-port", "8315",
				"host-rules", "MAP * <IP_ADDRESS>",

I've manually started the application; it's running and listening on the debug port --
I can browse to https://localhost:8315 and see interactive dev tools.  However, if I try to drive the app via chromedp (e.g. with the "remote" example), I get a 404 error. Eg.:
~/go/src/github.com/chromedp/examples/remote> go run main.go -devtools-ws-url ws://localhost:8315
2020/05/19 15:55:25 Failed getting body of duckduckgo.com: could not dial "ws://<IP_ADDRESS>:8315": unexpected HTTP response status: 404
exit status 1

I've debugged this and determined that the first call to Run(ctxt) is what is failing.
If I change the URL to include a page id that I can see in the /json response (http://localhost:8315/json), the error changes to "Not Supported (-32000)".  Not sure if that's an improvement, or just that I am doing something even more wrong.
~/go/src/github.com/chromedp/examples/remote> go run main.go -devtools-ws-url ws://localhost:8315/devtools/page/396803C460A3CEF97A38A5E67EACBAE2
2020/05/19 16:18:07 Failed getting body of duckduckgo.com: Not supported (-32000)
exit status 1

Can anyone advise how to connect chromedp to an Electron application?  Perhaps the WS URL needs more context (not just host and port?)

Bump...
I've determined that the ws://localhost:8315/devtools/page/396803C460A3CEF97A38A5E67EACBAE2 form of the URL is in fact "correct" -- this sort of URL works when I drive an instance of Chrome proper with the debugging url enabled.   I derive that URL from http://localhost:8315/json/version -- which returns the value on the "webSocketDebuggerUrl" attribute.  So the Electron app is in fact listening on 8315 and serving up the debug API.
But when I try to debug my electron app, I still get the "Not supported (-32000)" error from even a "raw" Run() command without any Navigate, etc.:
package main

import (
	"context"
	"flag"
	"log"

	"github.com/chromedp/chromedp"
)

var flagDevToolWsUrl = flag.String("devtools-ws-url", "", "DevTools WebSsocket URL")

func main() {
	flag.Parse()
	if *flagDevToolWsUrl == "" {
		log.Fatal("must specify -devtools-ws-url")
	}

	// create allocator context for use with creating a browser context later
	allocatorContext, cancel := chromedp.NewRemoteAllocator(context.Background(), *flagDevToolWsUrl)
	defer cancel()
	log.Printf("allocatorContext: %#v", allocatorContext)

	// create context
	ctxt, cancel := chromedp.NewContext(allocatorContext)
	defer cancel()
	log.Printf("ctxt: %#v", ctxt)

	// run task list
	var body string
	if err := chromedp.Run(ctxt); err != nil {
		log.Fatalf("raw Run failed: %v", err)
	}
}

Could you provide a way to reproduce that error? I don't have an Electron app I can test with.

My electron app is based on go-astilectron.  I've managed to find a way to test it with Spectron (via nodejs) and can send you a sample application (based on the astilectron demo).    If you want to build it yourself, see my pull request at https://github.com/asticode/go-astilectron-demo/pull/62.  If that's not convenient, I can create a tarball (but it will be very large...). Let me know.

I believe the URL should be .../devtools/browser/... instead of .../devtools/page/.... Please check the discussions in #438.
https://github.com/chromedp/chromedp/blob/9191ea2e5ef6225ee05d9a6e8a2287aa26b707b2/allocate.go#L458-L461
@chinenual Are you still working on this? Do you want to give it a shot?

I have tested with Electron (Sine astilectron is powered by Electron, I assume the conclusion is valid for both of them), and it works.
The app I used is https://github.com/electron/electron-quick-start. First, start it with the following command:
$ yarn start --remote-debugging-port=9222

And here is the output (we need the WebSocket debug URL later):
yarn run v1.22.5
$ electron . --remote-debugging-port=9222

DevTools listening on ws://<IP_ADDRESS>:9222/devtools/browser/f2129e98-5476-435d-9803-de8ba99e2032

Here is a simple demo to automate the app:
package main

import (
	"context"
	"log"

	"github.com/chromedp/chromedp"
)

func main() {
	ctx, cancel := chromedp.NewRemoteAllocator(context.Background(), "ws://<IP_ADDRESS>:9222/devtools/browser/f2129e98-5476-435d-9803-de8ba99e2032")
	defer cancel()

	ctx, cancel = chromedp.NewContext(ctx,
		chromedp.WithDebugf(log.Printf),
	)
	defer cancel()

	// go get the current targets in the Electron app.
	ts, err := chromedp.Targets(ctx)
	if err != nil {
		log.Fatal(err)
	}

	if len(ts) == 0 {
		log.Fatal("targets not found.")
	}

	ctx, cancel = chromedp.NewContext(ctx,
		// use the first target
		chromedp.WithTargetID(ts[0].TargetID),
	)
	// if we cancel the target, it will close the Electron app.
	//defer cancel()

	var body string
	if err := chromedp.Run(ctx,
		chromedp.OuterHTML("body", &body, chromedp.ByQuery),
		chromedp.Navigate("https://www.google.com"),
	); err != nil {
		log.Fatal(err)
	}

	log.Println(body)
}

Notes:

creating new target is not supported, that's why we list the targets first and then connect to the existing target.
2021/05/20 14:32:29 -> {"id":1,"method":"Target.createTarget","params":{"url":"about:blank"}}
2021/05/20 14:32:29 <- {"id":1,"error":{"code":-32000,"message":"Not supported"}}

cancelling  the target context will close the attached target, which will close the Electron app.

with PR #817, we can create the RemoteAllocator like this:
ctx, cancel := chromedp.NewRemoteAllocator(context.Background(), "ws://<IP_ADDRESS>:9222/")

maybe the shipped Chromium/V8 is not compatible with the github.com/chromedp/cdproto package.
$ curl http://<IP_ADDRESS>:9222/json/version
{
   "Browser": "Chrome/89.0.4389.128",
   "Protocol-Version": "1.3",
   "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) electron-quick-start/1.0.0 Chrome/89.0.4389.128 Electron/12.0.9 Safari/537.36",
   "V8-Version": "<IP_ADDRESS>",
   "WebKit-Version": "537.36 (@1510b4a1988e383eb6b3c47622e69ebbbfe09826)",
   "webSocketDebuggerUrl": "ws://<IP_ADDRESS>:9222/devtools/browser/f2129e98-5476-435d-9803-de8ba99e2032"
}

but this library works
https://github.com/mkenney/go-chrome

creating new target is not supported, that's why we list the targets first and then connect to the existing target.

2021/05/20 14:32:29 -> {"id":1,"method":"Target.createTarget","params":{"url":"about:blank"}}
2021/05/20 14:32:29 <- {"id":1,"error":{"code":-32000,"message":"Not supported"}}


Add 2 reasons for missing

Unable to get on Zoom for the hearing
Did not recieve notice for zoom hearing

Completed


fix: abort scheduled processes on destruction

fixes #70

This fix (y-cursor-plugin part specifically) solved my problem with #70 too - it is an almost constant problem when you allow user to switch between several ProseMirror editors.
Are there some other problems with this PR request that prevent it from being merged?

Shouldn't we also clear setTimeout from https://github.com/yjs/y-prosemirror/blob/f593d68a90ec996169718ac33b4c9d35f977ee42/src/plugins/sync-plugin.js#L114 ?
Also how about using timeout from lib0/eventloop-- the timeout is already used in this package when updating cursor.
@dmonad Can you please check this issue? I'm using these fixed in our project, but I would be really glad if I could use the y-prosemirror official package again.

This seems like a clean bugfix~ not sure why it's sat for months.

Thank you for the PR @hoebbelsB and sorry that it took so long.
I went for a different approach that checks whether the binding is destroyed. I prefer not to clear timeouts because that leads to further issues in the future. setMeta, for example is used in third-party packages as well that don't know that they should clear the timeout.
@ValentaTomas I implemented your suggestion as well and switched from setTimeout to eventloop.timeout. Thanks for the suggestion

Thank you for your work!


Scroll down don't scroll large list items

From<EMAIL_ADDRESS>on October 24, 2012 05:33:57
What steps will reproduce the problem? 1. Create list item that will be bigger than a screen size
2. Try to scroll it down What is the expected output? What do you see instead? Screen will be scrolled down to next item What version of the product are you using? On what operating system? 3.5 Please provide any additional information below. Can it be possible to make a method that will scroll exactly one screen (without relation to list items?)
Because of this incorrect scroll down behaviour methods like waitForText get stuck unlimited amount of time. Because scrollDown always return true and in searchFor method this if will always produce false as this.scroller.scroll(0) will always return true.
/* 197 /       if ((scroll) && (!(this.scroller.scroll(0)))) {
/ 198 */         return logMatchesFoundAndReturnFalse(regex);
I think you have wrong implementation here. You have two while(true) loops. One in waitForText method and one in searchFor. This way you are not really scrolling one screen down and checking for timeout, but trying to scroll all way down and only then check for timeout.
Please see attached screenshot with related problem.
This screen will never be scrolled down.
Thanks.
Attachment: device-2012-10-24-143253.png
Original issue: http://code.google.com/p/robotium/issues/detail?id=345

From<EMAIL_ADDRESS>on October 24, 2012 22:14:23
Thanks for reporting this.
Status: Accepted
Owner<EMAIL_ADDRESS>

From<EMAIL_ADDRESS>on November 13, 2012 06:03:04
This issue is a little bit tricky. There is no way to scroll screen by screen and even if there was a way it is not possible to know if one has come to the end of the list (not possible to ask the list before api level 14). So Im not sure how to solve this. It is possible to scroll by using scrollTo(int x, int y) but the problem is again that it is not possible to know when one has reached the end of the list (and can not scroll anymore).
I am not able to reproduce that waitForText scrolls indefinitely. Can you please give me more details on when it happens?

From<EMAIL_ADDRESS>on November 13, 2012 22:52:46
Use my app (from issue #346 : https://code.google.com/p/robotium/issues/detail?id=346&colspec=ID Type Stars Status Priority Milestone Owner Summary )
Create message that will be longer than screen. Make another message after it with some unique word. Now go on top of the thread and run waitForText("that unique word in seconds thread",scroll=true you will see that it stuck forever as scroll will not advance and will return always true. Also you are not checking time after every scroll, but check it only once.

From<EMAIL_ADDRESS>on November 14, 2012 01:15:38
I have changed the behaviour of waitForText now. Please try the jar that I emailed you.

From<EMAIL_ADDRESS>on November 18, 2012 22:48:28
Status: Verified

From<EMAIL_ADDRESS>on January 06, 2013 22:59:58
It's still not scrolling big items. ScrollDown will return true forever, but view will not be moved to next item.


as tester I want to be able to add a file with test results in a github comment

when I upload test results for a PR with upr, I want to be able to add local log files in the git comment to describe issues and aid the PR submitter in resolving issues. This would be equivalent to dragging the files in the comment (as opposed to pasting the contents in the comment).

If you use S3 or Swift you can do that now by specifying your credentials and where you want the files stored (and they can even be auto cleaned up after a period of time).
I will look into seeing if I can get them to upload to https://cloud.githubusercontent.com/assets like Github does natively...

file.txt
wordt opgeslagen als https://github.com/cloudops/upr/files/207345/file.txt

But can you upload a file like that without using the 'drag and drop' thing below?  Can you curl a file to somewhere and have it saved?  We can't count on being able to use the drag and drop when we are scripting.  We need to be able to upload while not using the Github UI.

Yes I know, I don't have the solution yet, btw there is a select box posibility as well in the bottom bar of the comment edit box


Unit test integration

From<EMAIL_ADDRESS>on 2013-10-14T11:22:39Z
Hi,
Thanks for spyder.
It might be nice to have integration with common unit test frameworks, for example, unittest (distributed with Python) and py.test. For bonus points an interface to browse test results.
Cheers
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1605

From ccordoba12 on 2013-10-14T18:14:14Z
Requested a long time ago but not in our radar for now :)
Status: Duplicate
Mergedinto: 219


fix web app detection

just simple fixing query_id not found in new telegram mini web app

Thank you for the PR.
In which case can query_id be not present?

Thank you for the PR.
In which case can query_id be not present?

i just open my telegram webapp using telegram app direct link, and query_id not there.

We are really waiting for this fix :)

Sorry for missing this. I'll work on it this weekend.

This change is now published.


Check missing server URL in ES OTEL client

Signed-off-by: Pavol Loffay<EMAIL_ADDRESS>@joe-elliott could you please review?

Lint Failures
cmd/opentelemetry/app/internal/esclient/client.go:30:5: var errMissingUrl should be errMissingURL


Consolez emeritus proposal

Please share any additional details on this topic
Per @mike99mac:
“The status of consolez is not too good.  I know of exactly one user who has consolez running on one LPAR.  I have had exactly one request for information, which I answered, but then never heard back.  Consolez is not being used internally at my organization. On top of all this, my workload has increased, leaving me less time for side projects.
Given all these factors, I recommend that consolez be moved to emeritus status.”
Detail what actions or feedback you would like from the TAC
Vote to accept move to emeritus status

This has been approved by the TAC via email. Updated the landscape now - https://github.com/openmainframeproject/omp-landscape/pull/367


Implement av stack orphan command

Issue: https://github.com/aviator-co/av/issues/243
I tried to implement av stack orphan command.

Hm. I think I didn't think through the behavior.
What this command should do would be:

Find the branch to be orphaned (and the child branches of that branch).
Delete the branch metadata from the db (See https://github.com/aviator-co/av/blob/master/internal/actions/tidy.go#L34-L41).

In other words, this command should just delete the av-cli's branch metadata.

Thank you for your reviewing. I'll fix it

I fixed. Is this behaving as you intended? https://github.com/aviator-co/av/pull/258#issuecomment-2064698440


Installation issue

Hi All,
I completed the installation procedure and was able to successfully start the api-umbrella . But I am not able to browse to my server name and see the default landing page. Can you please help me on it.
I tried installing Apache httpd and tried to access and was able to see the Apache httpd homepage so the server is accessible. Only with api-umbrella started i don't get any response

Are you running API Umbrella on the same server as Apache? By default, API Umbrella will try to listen on ports 80 and 443, so that might be conflicting with Apache if you're running both on the same server.
If that's not the issue, can you describe in more detail what you're seeing when you try to navigate to API Umbrella? Do you get a 404 Not Found page, or something else?

I am not running Apache httpd server when I am running api-umbrella. when I checked it with Apache httpd running ,its home page is accessible. however if I stop it and start API umbrella(it starts successfully) and when I navigate to URL its giving 404 error. Can you please help


add efficientnet

Wow! I've been implemented this myself and now realized there is an implementation already! Do you have any plans on training side?

if you'd like to play with this, i've just been dropping into the imagenette demos, works fine there.  long term yes, would like to be able to train this from scratch.

@brettkoonce
I'm getting this kind of error during training:
Precondition failed: Count mismatch: 3 and 0: file /swift-base/tensorflow-swift-apis/Sources/TensorFlow/StdlibExtensions.swift, line 272
Current stack trace:
0    libswiftCore.so                    0x00007faf0d2fe910 swift_reportError + 50
1    libswiftCore.so                    0x00007faf0d36fb90 _swift_stdlib_reportFatalErrorInFile + 115
2    libswiftCore.so                    0x00007faf0d04fe31 <unavailable> + 1461809
3    libswiftCore.so                    0x00007faf0d04fa77 <unavailable> + 1460855
4    libswiftCore.so                    0x00007faf0d050012 <unavailable> + 1462290
5    libswiftCore.so                    0x00007faf0d04e460 _assertionFailure(_:_:file:line:flags:) + 517
6    libswiftTensorFlow.so              0x00007faf087144b0 static Array.DifferentiableView<A>..* infix(_:_:) + 977
Current stack trace:
	frame #10: 0x00007faea404f083 $__lldb_expr66`main at <Cell 8>:22:19

Have you seen anything like that?

var model = VGG16(classCount: 10)
let optimizer = AMSGrad(for: model)
produces a crash as well, so it's a bug with how differentiable layers are being passed through.

@s1ddok https://github.com/tensorflow/swift-apis/blob/3ebd1765480f6aeb15046b6766741009ac32f84a/Sources/TensorFlow/Optimizers/MomentumBased.swift#L414 would be my guess

https://github.com/tensorflow/swift-apis/blob/3ebd1765480f6aeb15046b6766741009ac32f84a/Sources/TensorFlow/Optimizers/MomentumBased.swift#L506 == the same
both adamax and adagrad fail

still needs some filter resize logic tweaks!

working with lower learning rates here!

above is ready to go, in case it's not clear!

ready to go!


terraform question output is hidden until after question is answered

starting with terragrunt 0.17.0 I hit this bug where when terraform asks a question, like confirming an apply, you can't see the question until after you have answered it.  It looks like it has stalled, but it is really just waiting for you to answer a question.

I've also been seeing this...

Hm, this may be related to the recent stdout/stderr changes from #583... I'm not going to be able to look at this for a few days, but if anyone has a few minutes, this method would probably be my starting point: https://github.com/gruntwork-io/terragrunt/blob/master/shell/run_shell_cmd.go#L184

I'll take a look.

The problem is indeed in the readStdoutAndStderr. The bufio.Scanner default split function (ScanLines) scans line by line and we get a newline only after the user answers the Enter a value: prompt. We have a couple of options:

Change the split function to ScanBytes
Use io.MultiWriter and io.Copy like here: https://github.com/kjk/go-cookbook/blob/master/advanced-exec/03-live-progress-and-capture-v3.go

Based on a quick test both seem to work. I'm leaning towards option 1 as it involves making only minor modifications.
Don't know if it's a valid concern, but with the byte (instead of lines) scanning and concurrent stdout/err writes, could the captured output be corrupt?

@autero1 A big thank you for looking into this!

Use io.MultiWriter and io.Copy like here: https://github.com/kjk/go-cookbook/blob/master/advanced-exec/03-live-progress-and-capture-v3.go

Oh, man, nice find. This definitely looks like the right approach to use for what we're doing. How big of a change would it be?

Don't know if it's a valid concern, but with the byte (instead of lines) scanning and concurrent stdout/err writes, could the captured output be corrupt?

Yea, I worry it would be. If you read some random number of bytes, you might parse half a word or even half a letter, which would lead to very messy output.

Not a very big change. Already tested with an quick-and-dirty copy-paste that it works. However, not really sure it would solve the byte reading problem.

Use io.MultiWriter and io.Copy
In the end I wasn't able to find a reason why using the io.Copy was necessary. Ended up removing a lot of code in favor of the MultiWriter.

Should be fixed in https://github.com/gruntwork-io/terragrunt/releases/tag/v0.17.1. Thank you @autero1!


[Feature Request] Use cache for cluster/health API

Is your feature request related to a problem? Please describe
TransportClusterHealthAction computes the health of the object by aggregating over different states of the shards on the cluster. Currently for every API call, we iterate over all shards of all indices in the routing table by maintaining multiple objects at shard/index level. Since all these aggregations are performed using the routing table cluster state present with the master/local node, a cache can be maintained to serve the cluster health API without having to iterate over all shards on the cluster that could have potential compute and health benefits.
Describe the solution you'd like
A cache based solution to serve the _cluster/health API
Related component
Cluster Manager
Describe alternatives you've considered
No response
Additional context
No response

[Catch All Triage - 1, 2, 3]


Error logging in with WebId-OIDC

I'm trying to use the ProviderLogin component, but sometimes see this:

Will try to find out some more information about this.

I should be able to bisect this against https://generator.inrupt.com/welcome# because that seems to be using this same component but not have this problem.

Thanks Michiel. We've found some issues logging in in general that may be related - some similar login problems that result in an error on the provider similarly require a cleared storage. I'm wondering if there's some issues in the login functionality - sometimes errors actually show on the provider page when typing username/password when switching users (something to the tune of "User is logged in as 2" or thereabouts).
Regardless, we aren't handling the error well, and could probably provide some instructions, especially with the new solidsdk pod we're using for in-depth troubleshooting instructions.

@michielbdejong I tested this with an IPS login and immediately saw the error you saw. Without even refreshing the page, I used an NSS5 account (inrupt.net) and it succeeded. I suspect this is a server issue.

Yeah, it might be triggered by server behaviour, but if the only work-around is to clear localStorage then we need to do better handling the error on the client side.
Can we at least try to find out where the 'invalid type' message comes from, and clear localStorage when solid-auth-client encounters it?

I suppose that's one way to tackle it, yeah. I wonder if something in solid-auth-client (or rather, that library's localStorage object) is getting corrupted somehow? Clearing the localStorage is really just treating the symptom and not the cause.


How to handle big html?

I've tried on this url - https://www.igniteui.com/grid/basic-editing, and get the following errors:
This model's maximum context length is 4097 tokens. However, your messages resulted in 11438 tokens. Please reduce the length of the messages.

Is there any way to split the big html into several pieces and consolidate the output from openai?

Chunking is an option, though when you consider the pricing of using thousands of tokens every time you run Taxy, the first thing might be to find how to reduce the token count.


Set up CI with Azure Pipelines

[skip ci]

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


Transitive Dependencies

Add missing transitive dependencies to package LICENSE.
Closes #248

@tuxji would this be something you would be willing to give a look over?


Change all documentation to align with Hackeat

Mainly includes user and developer guide.

don't think we have to update developer guide so I didn't touch that!

User guide has been handled in issue #23.
Closing for now.


Fix autoware web controller

This fixes bug in autoware_web_controller

Could you fix vehicle_engage.js in this PR?

Could you fix vehicle_engage.js in this PR?

Done.

Could you fix here?
https://github.com/tier4/AutowareArchitectureProposal.iv/blob/f1793ae4c8416133b5b28abf7e25775e49a7a3a7/common/util/web_controller/autoware_web_controller/www/autoware_web_controller/js/vehicle_engage.js#L18
send: function('value') { -> send: function(value) {


[wasm-c-api] export C function with given name and module name

I use AssemblyScript and wamr to build my application.
I found this doc Export Native API and followed, now I can register my C function to the wamr runtime like this:
static NativeSymbol g_native_symbols[] = {
    EXPORT_WASM_API_WITH_SIG(add, "(ii)i"),
    EXPORT_WASM_API_WITH_SIG(print_string, "($)"),
};

and use it in AssemblyScript as this:
// @ts-ignore
@external("env", "print_string")
declare function print_string(a: ArrayBuffer): void;

// @ts-ignore
@external("env", "add")
declare function add(a: i32, b: i32): i32;

Then I found the wasm c api and try do the same thing use it:
own wasm_functype_t* print_string_type = wasm_functype_new_1_0(wasm_valtype_new(WASM_I32));
own wasm_func_t* print_string_func =
    wasm_func_new_with_env(store, print_string_type, print_string, store, NULL);

wasm_functype_delete(print_string_type);

// Instantiate.
printf("Instantiating module...\n");
wasm_extern_vec_t imports;
wasm_extern_t* data[] = {wasm_func_as_extern(print_string_func)};
wasm_extern_vec_new(&imports, 1, data);

own wasm_instance_t* instance = wasm_instance_new(store, module, &imports, NULL);

But it won't work, I get the wrong function called.
Let's see callback.wat given by the official example:
(module
  (func $print (import "" "print") (param i32) (result i32))
  (func $closure (import "" "closure") (result i32))
  (func (export "run") (param $x i32) (param $y i32) (result i32)
    (i32.add
      (call $print (i32.add (local.get $x) (local.get $y)))
      (call $closure)
    )
  )
)

the import name "print" takes no care, they use the same order as exported in c to get the correct function.
But in AssemblyScript, I only find the way that use module name and function name to refer the function.
So how to provide the module name and function name when I export C function using the wasm c api?
The wasm_func_t struct has module_name and name field:
struct wasm_func_t {
    wasm_store_t *store;
    wasm_name_t *module_name;
    wasm_name_t *name;
    uint16 kind;

    struct wasm_host_info host_info;
    wasm_functype_t *type;

    bool with_env;
    union {
        wasm_func_callback_t cb;
        struct callback_ext {
            void *env;
            wasm_func_callback_with_env_t cb;
            void (*finalizer)(void *);
        } cb_env;
    } u;
    /*
     * an index in both functions runtime instance lists
     * of interpreter mode and aot mode
     */
    uint16 func_idx_rt;
    WASMModuleInstanceCommon *inst_comm_rt;
    WASMFunctionInstanceCommon *func_comm_rt;
};

But wasm_func_new_with_env and wasm_func_new won't set it and they are always null pointer.
I try to set it manually like this:
wasm_name_t func_name;
wasm_name_new_from_string(&func_name, "print_string");
wasm_name_t module_name;
wasm_name_new_from_string(&module_name, "env");
print_string_func->name = &func_name;
print_string_func->module_name = &module_name;

But it still won't work. They are just ignored in current implementation.
There is my question:
Can I give module name and function name when export a C function using wasm c api ? Is it just unimplement or unsupported by design?
Thanks for reading my question.

I found a c api example in wasmer c api: wasmer-wasi-c-api-example.c, it support provide module name and function name when exporting c api like this:
// Create a new func to hold the parameter and signature
// of our `host_print` host function
wasmer_value_tag params_sig[] = {WASM_I32, WASM_I32};
wasmer_value_tag returns_sig[] = {};
wasmer_import_func_t *func = wasmer_import_func_new((void (*)(void *)) host_print, params_sig, 2, returns_sig, 0);

// Create module name for our imports
// represented in bytes for UTF-8 compatability
const char *module_name = "env";
wasmer_byte_array module_name_bytes = { .bytes = (const uint8_t *) module_name,
                                        .bytes_len = strlen(module_name) };

// Define a function import
const char *import_name = "host_print";
wasmer_byte_array import_name_bytes = { .bytes = (const uint8_t *) import_name,
                                        .bytes_len = strlen(import_name) };
wasmer_import_t func_import = { .module_name = module_name_bytes,
                                .import_name = import_name_bytes,
                                .tag = WASM_FUNCTION,
                                .value.func = func };

// Define a memory import
const char *import_memory_name = "memory";
wasmer_byte_array import_memory_name_bytes = { .bytes = (const uint8_t *) import_memory_name,
                                               .bytes_len = strlen(import_memory_name) };
wasmer_import_t memory_import = { .module_name = module_name_bytes,
                                  .import_name = import_memory_name_bytes,
                                  .tag = WASM_MEMORY };
wasmer_memory_t *memory = NULL;
wasmer_limit_option_t max = { .has_some = true,
                              .some = 256 };
wasmer_limits_t descriptor = { .min = 256,
                               .max = max };

So the wasm c api in wasmer support provide module name and function name as the code shown ?
Prefer our c api provide the same functionality when exporting c function to wasm side.

wasm_instance_new() will combine imports(the third argument) with all imported items of a WASM module. The whole process is based on position, not names. For example, imports[0] links with the first imported item, imports[1] links with the second one.
Usually, the below things will cause failures:

imports doesn't have enough elements to match all required imported items of a WASM module.
imports doesn't have the exact order that a WASM module requires. For example,

the first requirement is a global, but imports[0] is a function
the second requirement is a function with two arguments, but imports[1] is a function with one argument

Hope it is helpful.

wasm_instance_new() will combine imports(the third argument) with all imported items of a WASM module. The whole process is based on position, not names. For example, imports[0] links with the first imported item, imports[1] links with the second one.
Usually, the below things will cause failures:

imports doesn't have enough elements to match all required imported items of a WASM module.

imports doesn't have the exact order that a WASM module requires. For example,

the first requirement is a global, but imports[0] is a function
the second requirement is a function with two arguments, but imports[1] is a function with one argument

Hope it is helpful.

Very thanks for your anwser !
I will follow your advice in my AssemblyScript code to see if it fixed the problem.

One more thing, please make sure the order of imported items with the .wasm itself instead of the AssemblyScrtpt code.
wasm-objdump of WABT will be helpful.

One more thing, please make sure the order of imported items with the .wasm itself instead of the AssemblyScrtpt code.
wasm-objdump of WABT will be helpful.

You are right, the imported item order in .wat is different from the order in AssemblyScript.
// @ts-ignore
@external("env", "print_string")
declare function print_string(a: ArrayBuffer): void;

// @ts-ignore
@external("env", "add")
declare function add(a: i32, b: i32): i32;

 (import "env" "add" (func $assembly/ferryBridge/add (param i32 i32) (result i32)))
 (import "env" "print_string" (func $assembly/ferryBridge/print_string (param i32)))

So the order based import is hard to use in AssemblyScript beacuse I can't specify the import function order in the generated wasm.
Consider I have many function exported to wasm, after add a new export function, I'll ensure the new import order and change my C code to fit it. Is there any way to solve this problem expect to generate the c function according to the wat file?

unfortunately no.

unfortunately no.

Thans for your answer again.
I'll consider to use wasm_runtime_register_natives instead. But import function by name is really import for our wasm c api implementation when working with language such as AssemblyScript.
Hope we will have this ability to do this such as wasmer does.


Junit5 + SpringBootHttpTarget

Hi, first thank you for the work done with this library!
I've been using the junit5 provider example, but when I want to use the random port with spring boot, I have to use the junit4 runner @RunWith(SpringRestPactRunner.class), which starts executing the tests with junit4. So I have to revert the junit5 parts.
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ExtendWith(SpringExtension::class)
@RunWith(SpringRestPactRunner::class)
@Provider("Blah")
@PactFolder("pacts")
class Contracts {

    @TestTarget
    @JvmField
    final val target: Target = SpringBootHttpTarget()

    /* to make it full junit4
    @TestTemplate
    @ExtendWith(PactVerificationInvocationContextProvider::class)
    fun pactVerificationTestTemplate(context: PactVerificationContext) {
        context.verifyInteraction()
    }
    */

I end up removing the TestTemplate and it works, but it would be nice to have a full junit5 story for this.
Migrating-from-junit4-tips: @RunWith no longer exists; superseded by @ExtendWith.
But only 1 @ExtendWith can be in the test.
Or maybe I'm missing a way of using it all with junit5?
Thanks!

The SpringBootHttpTarget is a JUnit 4 target. You should be able to just use the JUnit 5 HttpTestTarget and then set the port in the template or a "before" method. You don't need a field like in the JUnit 4 tests.
JUnit 5 @ExtendWith annotation can take multiple extension classes. Have a look at this test where I'm using the Wiremock extension with the Pact one. I set the target in the "before" method because Wiremock is using a random port.

Hi @uglyog, thank you for your response! SpringRestPactRunner can't be used with ExtendWith because it doesn't extend the right spring class. But as you said, I set the target in the "before" method and it worked. I didn't see that snippet in the doc.
Thanks!


(maint) Fix acceptance helpers so Rototiller and beaker subcommands work

Rototiller expects defaults to be declared in the Rakefile, while beaker
subcommands don't use the Rakefile. The end of the acceptance README
provides instructions for running with beaker subcommands that didn't
work unless you explicitly set all the optional environment variables
you needed. Refactor so that both paths share defaults.

This is really helpful! Allows easy config for installing from a github source on configurable set of targets. If you choose to install from a github branch and persist the targets is it possible to re-run the tests without installing bolt every time?
# select targets (add keyfile: path in hosts.yaml if using vmpooler)
bundle exec beaker-hostgenerator ubuntu1604-64bolt,ssh.-centos7-64ssh. > hosts.yaml

# init with a config (in this case git)
bundle exec beaker init -h hosts.yaml -o config/git/options.rb

# get nodes
bundle exec beaker provision

# install from source and preserve hosts for re-running tests
GIT_FORK=MikaelSmith/bolt \
GIT_BRANCH=fix-acceptance-helpers \
BEAKER_PRESERVE_HOSTS=always \
bundle exec beaker exec -t ./tests

Is it possible to re-run tests without trying to re-install bolt?
# if you try to re-run tests, error because "bolt" directory already installed
bundle exec beaker exec -t ./tests --preserve-hosts=always --no-provision

You shouldn't need to set BEAKER_PRESERVE_HOSTS. It looks like using the -t option makes it re-run the pre-suite, you can drop that option.

CLA signed by all contributors.


Adds support for auto updated time.Time field to bao via tag auto_updated_at

This PR would open the door to automatically updating time.Time fields on models.
i.e.
type userModel struct {
	ID        string    `bun:",pk"`
	UpdatedAt time.Time `bao:",auto_updated_at"`
}

userModel.UpdatedAt would be controlled by bao
The main issue is that this will not work for relational fields
i.e.
type userModel struct {
	ID        string          `bun:",pk"`
	UpdatedAt time.Time       `bao:",auto_updated_at"`
	Accounts  []*accountModel `bun:",rel:has-many" bao:",persist"`
}

type accountModel struct {
	ID        string    `bun:",pk"`
	UpdatedAt time.Time `bao:",auto_updated_at"` // This field would not be controlled by bao
}

we can likely make it work with adjustments to the way that relatedModels processes relations

@dillonstreator Doesn't Bun already support this?
https://bun.uptrace.dev/guide/models.html#automatic-timestamps

@dillonstreator Doesn't Bun already support this?
https://bun.uptrace.dev/guide/models.html#automatic-timestamps

Nah bun does not directly support what we're trying to do through tags: checkout https://github.com/uptrace/bun/issues/320
The automatic-timestamps doc shows the use of hooks to implement what we're trying to accomplish.
I think using tags is probably a better abstraction for auto updated at fields.


chore: update canvas mask bottom limit

Updated scenes ui canvas:

Replaced mask-middle-gameobject with a new canvas renderer with no mask and the bottom limit lifted according to the new taskbar

BEFORE

AFTER

Results look pretty good.
To confirm I understand the solution, what you are doing is:

Raise the canvas UI so its rendered above the taskbar
Scale it down preserving the aspect ratio so the top part isn't occluded by the profile stuff

I am getting it right?

Just to clarify it would be:

Raise the UI Canvas Bottom to be just above the taskbar
Removed mask component (otherwise the UI objects positioned relative to the bottom, that are getting pushed a bit up, because of the previous bulletpoint, would get cut by the top mask), also all the Decentraland UI renders on top of scenes UI so there's no problem there.
The UI Canvas Top is still 10% below the true sceen top, to preserve compatibility with already-deployed scenes (and to avoid putting top-relative ui rendering below DCL UI now) <- this is probably what you mean by your 2nd point


use object.new(Style) consistently

use object.__new__(Style) instead of (self|cls).__new__(Style)

__new__ appears to be a class method (https://docs.python.org/3/reference/datamodel.html#object.new)
usage is now consistent, whereas before both self.__new__ and cls.__new__ were used
I believe this usage of __new__ is more "official" Python

Discovered while trying to use rich with GraalPython (https://github.com/oracle/graalpython).  Works great with this fix. :)
Type of changes

[ ] Bug fix
[ ] New feature
[ ] Documentation / docstrings
[ ] Tests
[x] Other

Checklist

[ ] I've run the latest black with default args on new code.
[ ] I've updated CHANGELOG.md and CONTRIBUTORS.md where appropriate.
[ ] I've added tests for new code.
[x] I accept that @willmcgugan may be pedantic in the code review.

Description
Please describe your changes here. If this fixes a bug, please link to the issue, if possible.

I believe self.__new__(cls) will soon be available in GraalPython, so not sure if this PR is still relevant...

Doesn't seem relevant now.


About the parameters in function get_compute_gb_acura()

Hi openpilot team:
The function get_compute_gb_acura() is in  the file openpilot/selfdrive/car/honda/interface.py, how to calculate those parameters in the function:
  def get_compute_gb_acura():
  # generate a function that takes in [desired_accel, current_speed] -> [-1.0, 1.0]
  # where -1.0 is max brake and 1.0 is max gas
  # see debug/dump_accel_from_fiber.py to see how those parameters were generated
  w0 = np.array([[ 1.22056961, -0.39625418,  0.67952657],
                 [ 1.03691769,  0.78210306, -0.41343188]])
  b0 = np.array([ 0.01536703, -0.14335321, -0.26932889])
  w2 = np.array([[-0.59124422,  0.42899439,  0.38660881],
                 [ 0.79973811,  0.13178682,  0.08550351],
                 [-0.15651935, -0.44360259,  0.76910877]])
  b2 = np.array([ 0.15624429,  0.02294923, -0.0341086 ])
  w4 = np.array([[-0.31521443],
                 [-0.38626176],
                 [ 0.52667892]])
  b4 = np.array([-0.02922216])

I can't find debug/dump_accel_from_fiber.py mentioned above. Thanks a lot.

This was a small neural network that was trained based on some logs.
Network structure:
{"class_name": "Sequential", "config": [{"class_name": "Dense", "config": {"W_constraint": null, "b_constraint": null, "name": "dense_10", "output_dim": 3, "activity_regularizer": null, "trainable": true, "init": "glorot_uniform", "input_dtype": "float32", "input_dim": 2, "b_regularizer": null, "W_regularizer": null, "activation": "linear", "batch_input_shape": [null, 2]}}, {"class_name": "LeakyReLU", "config": {"alpha": 0.1, "trainable": true, "name": "leakyrelu_7"}}, {"class_name": "Dense", "config": {"W_constraint": null, "b_constraint": null, "name": "dense_11", "activity_regularizer": null, "trainable": true, "init": "glorot_uniform", "input_dim": null, "b_regularizer": null, "W_regularizer": null, "activation": "linear", "output_dim": 3}}, {"class_name": "LeakyReLU", "config": {"alpha": 0.1, "trainable": true, "name": "leakyrelu_8"}}, {"class_name": "Dense", "config": {"W_constraint": null, "b_constraint": null, "name": "dense_12", "activity_regularizer": null, "trainable": true, "init": "glorot_uniform", "input_dim": null, "b_regularizer": null, "W_regularizer": null, "activation": "linear", "output_dim": 1}}]}
dump_accel_from_fiber.py:
import os
import h5py

weights = h5py.File(os.getenv("HOME")+"/one/models/accel_from_fiber_3_neurons.keras", 'r')

w0 = weights['dense_10']['dense_10_W'][:]
b0 = weights['dense_10']['dense_10_b'][:]
w2 = weights['dense_11']['dense_11_W'][:]
b2 = weights['dense_11']['dense_11_b'][:]
w4 = weights['dense_12']['dense_12_W'][:]
b4 = weights['dense_12']['dense_12_b'][:]

def f(x):
  return repr(x).replace("array", "np.array").replace(", dtype=float32", "")

print "w0 =",f(w0)
print "b0 =",f(b0)
print "w2 =",f(w2)
print "b2 =",f(b2)
print "w4 =",f(w4)
print "b4 =",f(b4)```


Where exactly is cheating/unfairnesses modchart?

Ik they are in playstate.hx , but where?

Cheating (strum movement):
https://github.com/FuseIsHere813/VsDave/blob/afbed891070e98512a60bd9645fcb6fdaa821f1a/source/PlayState.hx#L1612-L1624
Unfairness (strum movement):
https://github.com/FuseIsHere813/VsDave/blob/afbed891070e98512a60bd9645fcb6fdaa821f1a/source/PlayState.hx#L1626-L1638
Unfairness (scroll speed changes):
https://github.com/FuseIsHere813/VsDave/blob/afbed891070e98512a60bd9645fcb6fdaa821f1a/source/PlayState.hx#L2111-L2115
I couldn't find the script for Cheating that fucks up the notes.

oh


tests/test_watch.py::test_awatch_interrupt_raise is failing with anyio>=4

Description
When running the test suite against anyio-4.0.0 and 4.1.0, I'm getting the following failure:
$ python -m pytest
========================================================= test session starts =========================================================
platform linux -- Python 3.11.6, pytest-7.4.3, pluggy-1.3.0
rootdir: /tmp/watchfiles
configfile: pyproject.toml
testpaths: tests
plugins: timeout-2.2.0, mock-3.12.0, anyio-4.1.0
timeout: 10.0s
timeout method: signal
timeout func_only: False
collected 161 items

tests/test_cli.py .......................                                                                                [ 14%]
tests/test_docs.py ................s                                                                                [ 24%]
tests/test_filters.py ..................                                                                                [ 36%]
tests/test_force_polling.py ..........................                                                                          [ 52%]
tests/test_run_process.py ..s.....................                                                                              [ 67%]
tests/test_rust_notify.py ....................................                                                                  [ 89%]
tests/test_watch.py ...............sF                                                                                [100%]

============================================================== FAILURES ===============================================================
_____________________________________________________ test_awatch_interrupt_raise _____________________________________________________

self = <tests.test_watch.MockRustNotifyRaise object at 0x7f6e6c4fb090>
args = (1600, 50, 5000, <threading.Event at 0x7f6e6c4fafd0: set>)

    def watch(self, *args):
        if self.i == 1:
>           raise KeyboardInterrupt('test error')
E           KeyboardInterrupt: test error

tests/test_watch.py:204: KeyboardInterrupt

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/tmp/watchfiles/watchfiles/main.py", line 254, in awatch
    raw_changes = await anyio.to_thread.run_sync(watcher.watch, debounce, step, timeout, stop_event_)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/anyio/to_thread.py", line 49, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 2103, in run_sync_in_worker_thread
    return await future
           ^^^^^^^^^^^^
  File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 823, in run
    result = context.run(func, *args)
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/watchfiles/tests/test_watch.py", line 204, in watch
    raise KeyboardInterrupt('test error')
KeyboardInterrupt: test error

During handling of the above exception, another exception occurred:

  + Exception Group Traceback (most recent call last):
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/_pytest/runner.py", line 341, in from_call
  |     result: Optional[TResult] = func()
  |                                 ^^^^^^
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/_pytest/runner.py", line 262, in <lambda>
  |     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
  |             ^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/pluggy/_hooks.py", line 493, in __call__
  |     return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/pluggy/_manager.py", line 115, in _hookexec
  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/pluggy/_callers.py", line 152, in _multicall
  |     return outcome.get_result()
  |            ^^^^^^^^^^^^^^^^^^^^
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/pluggy/_result.py", line 114, in get_result
  |     raise exc.with_traceback(exc.__traceback__)
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/pluggy/_callers.py", line 77, in _multicall
  |     res = hook_impl.function(*args)
  |           ^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/_pytest/runner.py", line 169, in pytest_runtest_call
  |     item.runtest()
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/_pytest/python.py", line 1792, in runtest
  |     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/pluggy/_hooks.py", line 493, in __call__
  |     return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/pluggy/_manager.py", line 115, in _hookexec
  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/pluggy/_callers.py", line 113, in _multicall
  |     raise exception.with_traceback(exception.__traceback__)
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/pluggy/_callers.py", line 77, in _multicall
  |     res = hook_impl.function(*args)
  |           ^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/anyio/pytest_plugin.py", line 124, in pytest_pyfunc_call
  |     runner.run_test(pyfuncitem.obj, testargs)
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 1928, in run_test
  |     self.get_loop().run_until_complete(
  |   File "/usr/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
  |     return future.result()
  |            ^^^^^^^^^^^^^^^
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 1888, in _call_in_runner_task
  |     return await future
  |            ^^^^^^^^^^^^
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 1866, in _run_tests_and_fixtures
  |     retval = await coro
  |              ^^^^^^^^^^
  |   File "/tmp/watchfiles/tests/test_watch.py", line 224, in test_awatch_interrupt_raise
  |     async for _ in awatch('.', stop_event=stop_event):
  |   File "/tmp/watchfiles/watchfiles/main.py", line 252, in awatch
  |     async with anyio.create_task_group() as tg:
  |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 658, in __aexit__
  |     raise BaseExceptionGroup(
  | BaseExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "/tmp/watchfiles/watchfiles/main.py", line 254, in awatch
    |     raw_changes = await anyio.to_thread.run_sync(watcher.watch, debounce, step, timeout, stop_event_)
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/anyio/to_thread.py", line 49, in run_sync
    |     return await get_async_backend().run_sync_in_worker_thread(
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 2103, in run_sync_in_worker_thread
    |     return await future
    |            ^^^^^^^^^^^^
    |   File "/tmp/watchfiles/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 823, in run
    |     result = context.run(func, *args)
    |              ^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/tmp/watchfiles/tests/test_watch.py", line 204, in watch
    |     raise KeyboardInterrupt('test error')
    | KeyboardInterrupt: test error
    +------------------------------------
---------------------------------------------------------- Captured log call ----------------------------------------------------------
watchfiles.main INFO: 1 change detected
======================================================= short test summary info =======================================================
FAILED tests/test_watch.py::test_awatch_interrupt_raise - BaseExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
============================================== 1 failed, 157 passed, 3 skipped in 4.00s ===============================================

The relevant test passes with anyio-3.7.1.
Example Code
No response
Watchfiles Output
No response
Operating System & Architecture
Linux-6.6.3-gentoo-dist-x86_64-AMD_Ryzen_5_3600_6-Core_Processor-with-glibc2.38
#1 SMP PREEMPT_DYNAMIC Fri Dec  1 18:17:34 -00 2023
Environment
No response
Python & Watchfiles Version
python: 3.11.6 (main, Oct 26 2023, 14:30:39) [GCC 13.2.1 20231014], watchfiles: 0.0.0 (git 9f19a18da5323d0e63a2ee16c47ed6c819f89be5)
Rust & Cargo Version
cargo 1.73.0 rustc 1.73.0 (cc66ad468 2023-10-03) (gentoo)

I am seeing this while attempting to upgrade anyio to 4.2.0 in Fedora Linux (Rawhide). The packaged watchfiles version is currently 0.20.0.

I understand that this library still pins anyio to <4:
https://github.com/samuelcolvin/watchfiles/blob/9f19a18da5323d0e63a2ee16c47ed6c819f89be5/setup.py#L24
Is there a plan for supporting anyio 4.x?

I understand that this library still pins anyio to <4:
https://github.com/samuelcolvin/watchfiles/blob/9f19a18da5323d0e63a2ee16c47ed6c819f89be5/setup.py#L24
Is there a plan for supporting anyio 4.x?

Oops, no, it doesn’t—not in pyproject.toml, at least!
https://github.com/samuelcolvin/watchfiles/blob/9f19a18da5323d0e63a2ee16c47ed6c819f89be5/pyproject.toml#L13

I've created a pr to delete setup.py to avoid confusion.

Please also pin anyio in pyproject.toml or even better make it compatible with the anyio 4 changes:
https://anyio.readthedocs.io/en/stable/versionhistory.html

BACKWARDS INCOMPATIBLE Changes to cancellation semantics:
Any exceptions raising out of a task groups are now nested inside an ExceptionGroup (or BaseExceptionGroup if one or more BaseException were included)

Same problem to update opensuse tumbleweed:
Problem: the to be installed python311-watchfiles-0.21.0-2.1.x86_64 requires '(python311-anyio >= 3.0.0 with python311-anyio < 4)', but this requirement cannot be provided

Same problem to update opensuse tumbleweed: Problem: the to be installed python311-watchfiles-0.21.0-2.1.x86_64 requires '(python311-anyio >= 3.0.0 with python311-anyio < 4)', but this requirement cannot be provided

That's why I createed python-anyio3: https://build.opensuse.org/request/show/1145404
Wait for the next snapshot.

This is one of the last incompatibilities giving us trouble while trying to upgrade the python-anyio and python-trio packages to recent versions in Fedora Rawhide, and (via python-uvicorn and python-sphinx-autobuild) the most serious in terms of the number of impacted packages.
Is there any prospect of a patch to support anyio 4 in the relatively near future?


Bug report

What happened?
While trying to table by YAML "status" only some of my files' statuses game through. I've attached a video below to explain.
https://user-images.githubusercontent.com/43699496/149225514-fc0fb1c1-050b-448e-8a3b-d2a754bd5238.mov
DQL
TABLE

	status

FROM "Projects"

SORT status

JS
No response
Dataview Version
0.4.21
Obsidian Version
0.13.19
OS
MacOS

Hello,
the video quality is sadly quite low for me, so I cannot see the issue. Also, this bug report is very old and there were several new versions released since it. I'll close the ticket for not. If you still face problems, please comment again and attach some example data, if possible. Thanks!


Adopt CKEditor 4.17.0 to mitigate XSS vulnerabilty

On Nov. 17, CKEditor released a security update to mitigate several xss vulnerabilities.
This only came to my attention because Drupal was affected, too:

An attacker that can create or edit content (even without access to CKEditor themselves) may be able to exploit one or more Cross-Site Scripting (XSS) vulnerabilities to target users with access to the WYSIWYG CKEditor, including site admins with privileged access.

The vulnerabilities are rooted in these issues:

https://github.com/ckeditor/ckeditor4/security/advisories/GHSA-7h26-63m7-qhf2
https://github.com/ckeditor/ckeditor4/security/advisories/GHSA-pvmx-g8h5-cprj

Thanks! I just released 6.2.0 containing CKEditor 4.17.1
(One should use server-side sanitation of HTML anyway (for example using bleach or https://github.com/matthiask/html-sanitizer))

@matthiask Thank you for your quick response (I totally overlooked this issue)! I second your suggestion of using bleach for serverside sanitation.