empty filename in ALTO xml file

Environment

Tesseract Version: tesseract 5.0.0-alpha-469-g6b35
Commit Number:
Platform: Linux 4.15.0-65-generic #74-Ubuntu x86_64 x86_64 x86_64 GNU/Linux

Current Behavior:
Running tesseract <tif file> <basename> -l nld --dpi 300 --oem 2 --psm 1 alto gives an xml output file.
In the xml output file the filename is empty:
                <sourceImageInformation>
                        <fileName>                      </fileName>
                </sourceImageInformation>

Expected Behavior:
            <sourceImageInformation>
                    <fileName><tif file></fileName>
            </sourceImageInformation>

Suggested Fix:
insert filename

Thank you for reporting this.

Pull request #2705 implements a workaround to set the missing filename.
The final fix needs more efforts because the image filename is currently not available
from function TessAltoRenderer::BeginDocumentHandler which writes the filename.

I just had a look on our ALTO files (created by ABBYY FineReader). None of them contains <sourceImageInformation>.

@renarios, is the XML element sourceImageInformation needed or can we simply remove it? I don't see it in ALTO files made by other OCR software.

@stweil, I found the ALTO standard in this website  and it says that the element is not required, but it is preferable to add it.

Alto-files are often (or at least sometimes) stored alongside the images used for OCR. There is definitely a point in referencing the image in the Alto as that relationship would otherwise have to be described or deduced some other way.
Example: https://data.kb.se/datasets/2014/10/aftonbladet/1862/01/urn%253Anbn%253Ase%253Akb%253Adark-29967/

I don't think we should be satisfied with the workaround in #2705 yet. For the user this means calling something like tesseract -c document_title=myimg.tif myimg.tif myimg alto (and similar contortions via API). And this does not even work at all for multi-input (see below).
We know the input image file name, so that's exactly what we should be referencing in /alto/description/sourceImageInformation/fileName. It's just a matter of proper refactoring. This would be trivial if we did not have the two multi-input options:

text file with path names
multi-page TIFF image

Those two make the existing structure of setting up the output file from the output basename and renderer  extension in the constructor of the renderers already, and then for each page's results merely appending text to that file inadequate: For ALTO, we actually have to use different output files for different pages!
And each output file must refer to:

for 1: the respective line in the input text file,
for 2: the same (multi-page) TIFF, perhaps with the page number in /alto/Layout/Page/@PHYSICAL_IMG_NR to differentiate them.

It's probably not just ALTO – there might be other (current or future) single-page renderers, too. But we definitely also have renderers that need multi-page rendering behaviour, e.g. PDF.
So, it's not enough to just call BeginDocument(filename) and EndDocument() (on the chain of renderers) around each individual ProcessPage(...filename...) instead of around the whole sequence: That would instead break multi-page renderers!
A solution might be to allow renderers to switch their underlying title_ and fout_ during AddImage() – by adding filename to the arguments of that method. Then a single-page renderer like ALTO could overload ...
bool TessResultRenderer::AddImage(TessBaseAPI* api) {
  if (!happy_) return false;
  ++imagenum_;
  bool ok = AddImageHandler(api);
  if (next_) {
    ok = next_->AddImage(api) && ok;
  }
  return ok;
}

... with something like ...
bool TessAltoRenderer::AddImage(TessBaseAPI* api, const char* filename) {
  if (!happy_) return false;
  if (imagenum_ >= 0)
    happy_ = EndDocumentHandler(); // append postamble
  ++imagenum_;
  if (strcmp(outputbase, "-") && strcmp(outputbase, "stdout")) {
    if (imagenum_ > 0)
      fclose(fout_);
    STRING outfile = STRING(outputbase_);
    outfile.add_str_int("_", imagenum_);
    outfile += STRING(".") + STRING(file_extension_);
    fout_ = fopen(outfile.c_str(), "wb");
    if (fout_ == nullptr) {
      happy_ = false;
    }
  }
  title_ = filename;
  happy_ = BeginDocumentHandler() && happy_; // append preamble
  if (!happy_) return false;
  bool ok = AddImageHandler(api); // append results
  if (next_) {
    ok = next_->AddImage(api, filename) && ok;
  }
  return ok;
}

Of course, one might even sub-class TessSinglePageResultRenderer and TessMultiPageResultRenderer (both still with abstract constructors) and make this behaviour systematic.
An alternative, much simpler solution could be to just return with an error when ALTO output is requested in the multi-input case. (But some structural changes required even in the single-input case, because the input filename still needs to enter the preamble.)
@stweil what do you think?

Is there actually any regarding this issue?
Please, keep in mind that this issue is about unexpected behavior that should be turned off: Tessract Version 4.1.1 writes three tabs as text where a filename should appear. I'd prefer a pragmatic solution.

Hi,
I am using Tesseract version 4.1.0,
I got confidence score for each character by using HOCR
but it's accuracy is low, so I want know

How the HOCR algorithm works and how it will calculate the confidence scores for each character
Can I changing any thing to improve the HOCR performance

@bertsky wrote a summary of the problem which avoids an easy fix. Basically the current API needs changes to provide the filename at the right place.
Changing the API would be possible as we talk about Tesseract 5 which may be API incompatible to Tesseract 4. But we also have to consider third party software like tesserocr which must work with Tesseract 4 and 5. That possibly makes it difficult.
Writing no sourceImageInformation tag if there is no filename available would be a pragmatic solution (and compatible with ABBYY Finereader). Should that be implemented as an intermediate solution?

If these are the options, it's preferable to skip the output of data lacking any value.

Tessract Version 4.1.1 writes three tabs as text where a filename should appear.

@M3ssman I don't understand where these three tabs come from in the current implementation. In my understanding, sourceImageInformation/fileName should already be empty if not explicitly calling with -c document_title=somefile.tif etc. (Whatever is in there gets passed to title via BeginDocument() in all renderers.)

Writing no sourceImageInformation tag if there is no filename available would be a pragmatic solution

@stweil did you mean we have to omit the element sourceImageInformation altogether when fileName would be empty? (This would be a simple change I can make as part of #2815.)

Changing the API would be possible as we talk about Tesseract 5 which may be API incompatible to Tesseract 4. But we also have to consider third party software like tesserocr which must work with Tesseract 4 and 5. That possibly makes it difficult.

Difficult yes, but worthwhile: We have a structural problem (multi-input with single- vs multi-output renderers) related to API and CLI which will not go away. To avoid breaking the API because there are already early adopters effectively means locking down the API forever. Instead we should active support the transition in modules like tesserocr. (It also still contains many workarounds from the 3-4 transition.)

@bertsky Sorry, I messed up. Tesseract 4.1.1 produces empty Elements like
<sourceImageInformation>
	<fileName></fileName>
</sourceImageInformation>

Tesseract 4.1.0 produced the tab output
<sourceImageInformation>
	<fileName>			</fileName>
</sourceImageInformation>

Pull request #3517 is merged now in Git master, so this issue can be closed.
Fixing the issue requires API changes, so there won't be a solution for the 4.1 branch.

Pull request #3517 is merged now in Git master, so this issue can be closed.
Fixing the issue requires API changes, so there won't be a solution for the 4.1 branch.

@stweil, okay so in #3517 you went for the "simpler solution" sketched above, which does not generalize to the multi-input case:

An alternative, much simpler solution could be to just return with an error when ALTO output is requested in the multi-input case. (But some structural changes are required even in the single-input case, because the input filename still needs to enter the preamble.)

Thus, IMO you still need to abort with an error if the ALTO renderer is requested for multi-input (multi-page TIFF or multi-line text file). In the current implementation, only the first page will have the correct sourceImageInformation, the others will silently get the wrong reference.

If these are the options, it's preferable to skip the output of data lacking any value.

This is now implemented for 4.1.

Thus, IMO you still need to abort with an error if the ALTO renderer is requested for multi-input (multi-page TIFF or multi-line text file). In the current implementation, only the first page will have the correct sourceImageInformation, the others will silently get the wrong reference.

For multi-page TIFF the current solution works perfectly: there is only a single image file, and it is correctly named in sourceImageInformation.
If Tesseract processes a list of image files, sourceImageInformation gets the name of the first image file. The ALTO standard does not support a better solution as far as I see. As the rest of the ALTO output is fine, I don't think that we should abort for this use case.

For multi-page TIFF the current solution works perfectly: there is only a single image file, and it is correctly named in sourceImageInformation.

Good point!

If Tesseract processes a list of image files, sourceImageInformation gets the name of the first image file. The ALTO standard does not support a better solution as far as I see. As the rest of the ALTO output is fine, I don't think that we should abort for this use case.

Sorry, I thought I had seen a multi-output case before (using outputbase with different suffixes), which would have warranted an expectation on the user's side that the ALTO renderer works. But since that is not the case – CLI output is always single-file – I fully agree aborting would be wrong.
A warning for each single-page renderer (ALTO, hOCR, ...) active in a multi-input run would still be nice, though.


storage_controller: nicer split-brain handling, and reduce 503 period during restarts

Goal
Reduce or eliminate the period during controller restarts (typically a few seconds) where requests from the control plane may receive 503 responses.
Background
Here's how restarts work today:

We run in a k8s Deployment with strategy set to Recreate, which means it kills old pods before starting new ones.
Safety: The controller is safe against split-brain situations because when we update generations we're always doing it in isolated database transactions, but if we did have two nodes running at the same time things could get kind of weird (controllers disagreeing about where to attach a tenant), and at worst this could cause availability issues for tenants that underwent changes while two controllers were alive.
At startup: we read from all pageservers' APIs to learn latest tenant locations.  This usually takes ~1s but if pageservers are slow or unavailable it can take tens of seconds
Once we've talked to all the pageservers, the controller becomes available.

Ideas

Let's assume that we will run the k8s deployment with rolling restarts (i.e. start replacement before killing existing pod), and figure out how to make that work smoothly.
Figuring out which instancce is leader:

We may be able to improve split-brain behavior at the same time as making restarts smoother, by putting some state in the database that lets the running controller publish its own address and either some lease-like timestamp, or some actual long running database transaction that blocks other controllers from starting up.
When a controller is running but is not the leader, it may use k8s readiness probe to avoid receiving requests.  Once it has successfully claimed leadership in the database (e.g. by writing itself as the leader, perhaps after making an API call to its peer to ask it to step down), it may consider itself ready.

Hiding the delay of scanning pageservers:

If we are doing a restart of a healthy system, we could avoid the pageserver scan on startup by transferring all the in-memory state from one node to another.  However, that's kind of involved: it means defining a cross-version serialization format for all the in-memory stuff.

Another way to achieve this would be to ask the current leader to transfer only its Observed state for shards when it steps down: that way we limit the scope of what in-memory state needs transferring, and the new node can start up deterministically quickly because it doesn't have to call out to pageservers.

An example of a flow that might work:

new pod starts
new pod learns about existing leader from the database
new pod calls into existing leader to request step down.  Previous leader goes into mode where it returns 503 to all other APIs, stops any communication with pageservers/database, and in its response sends all Observed state.
On 200 from step down request, new pod writes its own details into the database, builds its in-memory state in a few milliseconds based on the contents of the database and the Observed state it receives, and sets its readiness probe state to ready.

When a controller is running but is not the leader, it may use k8s readiness probe to avoid receiving requests. Once it has successfully claimed leadership in the database (e.g. by writing itself as the leader, perhaps after making an API call to its peer to ask it to step down), it may consider itself ready.
(For my own understanding) There's the lease API in k8s for leader election, is there any reason to not use that?

find out who the leader currently is

That might be an artifact of that particular library, as the API does define that:
holderIdentity (string)

holderIdentity contains the identity of the holder of a current lease.

The pattern I've seen used around leaders stepping down is to basically let the lease expire, and trigger a new leader election, which may not be suitable in this case (you could set the lease expiration to a very short time as a way to "fix" that though?).
Regardless, I just thought I'd mention it, happy to chat about leases some more if that's something you'd want to consider  (if not, I promise I won't be offended on behalf of that API 😛 )

2024-09-30:

plan is to roll out everywhere this week: https://github.com/neondatabase/infra/pull/1962

Rolled out in all regions and monitored for a week.


Delete action

closes #443
It still fails randomly asserting that deleted action is found in DOM, even though it is clearly deleted. Cypress waits for state to change, so reason for the failure is unclear.
Might be that it will behave more stable on CI, then locally, but shall see.
Upd: regarding Codacy.
Looks like .eslintrc.json is not picked up by codacy at all while it works locally with eslint.
It might be that Codacy just doesn't pick the files up. We might have to explicitly define instead all the rules we need (and Codacy lacks export rules feature, so it might be painful as we don't exactly know what settings were used), put them into eslint file in root directory, merge, and then request Codacy to take rules from config file itself. In that case they will have to be common for all the directories.
If that's so, Codacy settings will be taken as a separate PR.
Our other options are:

explicit comments (it works, by would be tiring)
disable the no-undef check completely in UI (which should be fast and easy). After all, we do typescript which should pick up undeclared variables on its own

Regarding .eslintrc.json, we have to manually enable it in Codacy settings to read that file, but then it will only follow the rules from the config file, and it looks like the file need to be in repository root as well. I suggest that we disable no undef check for frontend, because like you said Typescript will inform about that anyways.


No combining accents with Core Text

This might be related to https://github.com/macvim-dev/macvim/issues/400
With Core Text on, combining diacritic characters like U+0300 are not displayed at all. Terminal Vim with same Font is fine.
MacVim Version: 8.0.1272 (142)
Mac OS: 10.13.1 (17B48)

@georgd  Does it still an issue? #400 is closed and patch was merged.
@ychin I can't reproduce it

I can't reproduce it any longer either. I close this now.


Gaps in output timing

This comes in two flavors, one is severe delay, suepr noticable -- this seems to be triggered by unknown things right now.  The second is a sort of slow performance when you have multiple utterances for a single line, using the build in utterance sort of queueing

@parhamdoustdar can you check if this still happens with the built depending on 5.9 of swift?  I hope we killed this one by accident.

Can't reproduce this any more, seems to be fixed. Thanks!Sent from my iPhoneOn 17 Jun 2024, at 19:25, Robert Melton @.***> wrote:
@parhamdoustdar can you check if this still happens with the built depending on 5.9 of swift?  I hope we killed this one by accident.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

sweet, closing this.  Gotta start prep-work for swift 6!


404 at: /engine/reference/builder/

URL: /engine/reference/builder/
The dockerfile reference is missing!

Fixed in #1286


encode empty objects as MAP instead of BMAP

Ha, seems reasonable, though it was technically already spec-compliant - should we update the spec to recommend or require that empty maps not use BMAP?
Is there any story behind how you noticed this and decided to change it?

@LewisJEllis Yeah either way is fine, and the spec only currently requires encoders to use the most efficient representation. These are equally efficient, and I don't see a reason to enforce further.
The story behind me noticing this was that I had to do a manual decoding to debug an in-house SuperPack implementation, and I was initially surprised that empty records were BMAPs.


Remove group from device when removed from the group view

This won't be added since #42 will be addressing this.


Error message shown while generating document for a child project

vinods8foundation (Incorporated Entity): no Parent Project, no Legal Parent
vinods8foundation_child1 (Subproject): Legal Parent = TLF
I created CLA group for vinods8foundation_child1 by name vinods8foundation_clagrp1.
I raised a PR, was gated; went to Contributor Console, created a new company by name "Vinod IT Solutions" and designated<EMAIL_ADDRESS>(who doesn't have LFID) as designated CLA manager.
<EMAIL_ADDRESS>received email - clicked on "Accept Invite" link, created LFID & was able to login to Corporate Console & able to see the company created.
Went to project page of   vinods8foundation_child1 & proceeded with CCLA signing.
Got following error while CCLA document was being generated:

GrpahQL API with following request payload
{
"operationName": "requestCorporateSignature",
"variables": {
"input": {
"projectSfid": "a097c000007oZZhAAM",
"companySfid": "0017c00000lgmqRAAQ",
"authorityName": "Vinod Kadam",
"authorityEmail"<EMAIL_ADDRESS>"sendAsEmail": false,
"returnUrl": "https://lfx.staging.platform.linuxfoundation.org/foundation/a097c000007oZZcAAM/project/a097c000007oZZhAAM/cla?cclaSigned=true"
}
},
"query": "mutation requestCorporateSignature($input: RequestClaSignatureInput!) {\n  requestCorporateSignature(input: $input) {\n    code\n    message\n    success\n    data {\n      signatureId\n      signUrl\n      __typename\n    }\n    __typename\n  }\n}\n"
}
returned following response:
{
"data": {
"requestCorporateSignature": {
"code": 400,
"message": "provided project is not associated with cla_group",
"success": false,
"data": null,
"__typename": "RequestCorporateSignatureResult"
}
}
}
I called following CLA API from Postman
https://api-gw.staging.platform.linuxfoundation.org/cla-service/v4/request-corporate-signature
with payload
{
"authority_email"<EMAIL_ADDRESS>"authority_name": "Vinod Kadam",
"company_sfid": "0017c00000lgmqRAAQ",
"project_sfid": "a097c000007oZZhAAM",
"return_url": "https://corporate.dev.lfcla.com/#/company/eb4d7d71-693f-4047-bf8d-10d0e7764969",
"send_as_email": false,
"signing_entity_name": "Vinod IT Solutions"
}
and I got following response:
{
"Message": "provided project is not associated with cla_group",
"x-request-id": "a8001400-6fa0-11eb-a587-9d3f3a63a2ec"
}
Getting same error even in the case of vinods8foundation_child3 whose entity type is Subproject & Legal Parent is vinods8foundation.
CLA group name is  vinods8foundation_clagrp3. Company selected was "Vinod IT Solutions".  Also used a previously created company "Proxima" - even there faced the same issue.
Getting same error even in the case of vinods8foundation_child3 whose entity type is "Series LLC" & Legal Parent is "LF Projects, LLC". CLA group name is  vinods8foundation_clagrp2. Company selected was "Proxima".

Facing this issue now even for a valid business case
TLF
vinods9foundation: Legal Parent = TLF
vinods9foundation_child1: Legal Parent = vinods9foundation
vinods9foundation_child2: Legal Parent = vinods9foundation
vinods9foundation_child3: Legal Parent = LF Projects, LLC
vinods9foundation_child4: Legal Parent = LF Projects, LLC
Created a cla group "vinods9foundation_clagrp1" mapped to vinods9foundation_child1 & vinods9foundation_child2.
Created a new company "Vinod Nutrition Ltd" and new user vinodkps15<EMAIL_ADDRESS>and tried to sign CCLA.
I am not able to sign CCLA for this.
Facing the  same error:

GraphQL header was as follows:
{
"operationName": "requestCorporateSignature",
"variables": {
"input": {
"projectSfid": "a097c000007ocENAAY",
"companySfid": "0017c00000lgraOAAQ",
"authorityName": "Vinod Kadam",
"authorityEmail"<EMAIL_ADDRESS>"sendAsEmail": false,
"returnUrl": "https://lfx.staging.platform.linuxfoundation.org/foundation/a097c000007ocE3AAI/project/a097c000007ocENAAY/cla?cclaSigned=true"
}
},
"query": "mutation requestCorporateSignature($input: RequestClaSignatureInput!) {\n  requestCorporateSignature(input: $input) {\n    code\n    message\n    success\n    data {\n      signatureId\n      signUrl\n      __typename\n    }\n    __typename\n  }\n}\n"
}
the response is as follows:
{
"data": {
"requestCorporateSignature": {
"code": 400,
"message": "provided project is not associated with cla_group",
"success": false,
"data": null,
"__typename": "RequestCorporateSignatureResult"
}
}
}
Called following CLA API from postman:
https://api-gw.staging.platform.linuxfoundation.org/cla-service/v4/request-corporate-signature
with following body:
{
"authority_email"<EMAIL_ADDRESS>"authority_name": "Vinod Kadam",
"company_sfid": "0017c00000lgraOAAQ",
"project_sfid": "a097c000007ocENAAY",
"return_url": "https://corporate.dev.lfcla.com/#/company/eb4d7d71-693f-4047-bf8d-10d0e7764969",
"send_as_email": false,
"signing_entity_name": "Vinod Nutrition Ltd"
}
the response received is as follows:
{
"Message": "provided project is not associated with cla_group",
"x-request-id": "39309840-7051-11eb-9bf4-9d0fe35c4cdd"
}

I verified all the above cases and they are working fine now on Staging.


[CI] Add tools/testing/e2e to search dirs

Not sure what influences this, but locally the iree-e2e-matmul-test executable is found under "${IREE_INSTALL_DIR}/tools/testing/e2e.

Not sure what influences this

IREE CMake shenanigans re build vs install; you can force it using something like
set_target_properties(iree-e2e-matmul-test
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")

but not worth it :shrug:


Adding EKS add-on details

This is in line with the AWS announcement of EKS add-on. The announcement is next week.
More details here - https://docs.google.com/document/d/1j5ZgbCRvFi_PZz9aVkraAEVbKIIby-J8TtkP8Ox3MCY/edit?usp=sharing

will open a separate issue on updating netfly as it's on outdated version of Ubuntu


[jest-circus] missing fail() method

This might be a known issue, but I could not find an existing issue so creating one here 😊  Also, I guess fail() was a bit of an undocumented feature, but we rely on it in our app for some nice developer experience improvements.
💥 Regression Report
After upgrading to Jest v27 (with jest-circus as default) the fail() method is no longer defined.
ReferenceError: fail is not defined

Last working version
Worked up to version: 26.6.3
Stopped working in version: 27.0.0
Can circumvent in 27.x with testRunner: "jest-jasmine2" in jest.config.js
To Reproduce
Steps to reproduce the behavior:

Open a JS project with jest >= 27.0.0
Write a test that includes a fail() method call
Notice that any tests with a call to fail() might pass (depending on the structure), and you will see a "fail is not defined" error message in Jest v27 with jest-circus (works correctly with jest-jasmine2)

Expected behavior
Expected fail() to work by default, as before, without any changes to jest.config.js.
Link to repl or repo (highly encouraged)
See this repo for example of the regression: https://github.com/Darep/jest-circus-fail-method
Check the branch jasmine where the testRunner is changed and the tests run correctly 🙂
The repo also hilights the way we use fail(), just to give some background info & motivation from our use-case 😄
Run npx envinfo --preset jest
Paste the results here:
$ npx envinfo --preset jest
npx: installed 1 in 0.976s

  System:
    OS: macOS 11.4
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
  Binaries:
    Node: 14.16.1 - ~/n/bin/node
    Yarn: 1.21.1 - ~/n/bin/yarn
    npm: 6.14.12 - ~/n/bin/npm
  npmPackages:
    jest: ^27.0.6 => 27.0.6

Any update on this? Many of my integration tests are missing the correct messaging now that this is undefined, and its causing a lot of confusion.

Same here! Would love to have this issue alleviated sooner than later :)

As a result of this issue, there is currently a discrepancy between @types/jest, which does define fail, and jest-circus, which does not define fail. Discussion in DefinitelyTyped
As a temporary workaround, you can define your own fail function:
function fail(reason = "fail was called in a test.") {
  throw new Error(reason);
}

global.fail = fail;

Same here

Same here, too. No change after fix

I just ran into a test where I was getting "fail() is undefined" and had assumed all this time that fail worked like it used to since it exists in @types/jest.
Just to clarify why this functionality is important:
it('should fail if the document does not exist.', async () => {
      await c.accessor.delete();

      const exists = await c.accessor.exists();
      expect(exists).toBe(false);

      try {
        await c.accessor.update(c.dataForUpdate());  // should not succeed
        fail();   // previously this would signal to Jest to properly end the test as a failure, but not get caught in the below.
      } catch (e) {
        expect(e).toBeDefined(); // expect an error occured
      }
});

The above code with Jest 28 will now incorrectly always succeed, as fail() throw an exception that gets caught by the catch.
We don't want to catch any error either though, as unexpected errors should result in a test failure rather than success. We just want the tests to succeed when failures are expect.
I went ahead and created some test utility functions so I can continue using this pattern. I did end up finding and resolving a few more bugs too. Now the example test looks like:
    import { itShouldFail, expectFail } from '@dereekb/util/test';

    ...

    itShouldFail('if the document does not exist.', async () => {
      await c.accessor.delete();

      const exists = await c.accessor.exists();
      expect(exists).toBe(false);

      await expectFail(() => c.accessor.update(c.dataForUpdate()));
    });

It will be published on npm with<EMAIL_ADDRESS>I'm not too familiar with the inner workings of Jest or why it dropped the previous functionality of fail(), but I imagine it could be brought back for the cases where we are looking for a specific error. Jest's it functionality could be extended with a function that looks for failures, (I.E. it.fail, or something) and then watch for a specific exception to be thrown that is thrown by failSuccessfully() or something to that manner. Someone more familiar with building Jest extensions may see a better way to implement it as an extension as well.

also running into this while trying to upgrade from jest 26 to jest 27..
ReferenceError: fail is not defined

Any update on this?

Any update on this?
Or at least some information as to:

Why this feature has been removed
How can we achieve what we used to achieve with fail

Same here, still getting the fail is not defined error, any update or insight would be great

Seeing as this thread isn't moving towards an upcoming resolution in the jest-circus runner, I figured out how to restore the missing fail() functionality without re-implementing it. Essentially, if you install jest-jasmine2 and modify your Jest config to set "test-runner": "jest-jasmine2", you can now use fail() in your tests.
See https://stackoverflow.com/a/73922010/1396477

Hi, just wanted to share the workaround I'm using.
I have created a fail function using expect and a failing comparison. It also displays messages in an okayish way. It's not the cleanest solution, but it solves the problem mentioned here.
Maybe it is helpful for someone.
function fail(message = "") {
    let failMessage = "";
    failMessage += "\n";
    failMessage += "FAIL FUNCTION TRIGGERED\n";
    failMessage += "The fail function has been triggered";
    failMessage += message ? " with message:" : "";

    expect(message).toEqual(failMessage);
}

Using the answer proposed here I tested if the same behavior could be applied to Jest. My theory was correct. It is possible to fail a Jest test if you call the done callback function with some param. Here an example:
    test('this test must fail', (done) => {
        done('hey Rainyel this is a failed test')
    });

Output:
● this test must fail
Failed: "hey Rainyel this is a failed test"

   6 |
   7 | test('this test must fail', (done) => {
>  8 |   done('hey Rainyel this is a failed test')
     |   ^
   9 |
  10 | });
  11 |

  at Object.<anonymous> (src/__tests__/test.super.ts:8:3)

This is still happening in 29.5.0

Hi!  I've never seen a test framework without a fail() method in my whole life. This is a huge embarrassment for jest and a huge lack of serious.

@vtgn: maybe because there are bigger and older issues with Jest, like #6695.

Building off @rayniel95's answer...
Tests will fail with a timeout if done is never called.
test('passing done fails after timeout if unused', (done) => {
  // This test will fail after a few seconds
  // because `done` is never invoked.
})

Here's how to use done as a stand-in for fail:
// FUNCTION TO TEST
function invokeCallbackIf(condition: boolean, callback: () => void) {
  if (condition) callback();
}

// TESTS
test('callback invoked when true', () => {
  invokeCallbackIf(true, () => expect("test passes").toBeTruthy());
})

test('callback NOT invoked when false', (done) => {
  invokeCallbackIf(false, () => done("should not have been called"));
  done(); // <-- REQUIRED or the test will fail with a timeout
})

Note
A properly functioning fail is still preferred over any done workaround:

fail(reason) has clearer semantics than done(reason)
fail avoids the "boilerplate" of passing it as a param and calling it without arguments.

I just saw @atz3n's workaround and decided to simplify it...
Write a custom fail function
function fail(message: string = '') {
  expect(`[FAIL] ${message}`.trim()).toBeFalsy();
}

Note
This workaround is still inferior to the original fail

The original fail was automatically globally available.
In failure messages, code snippets showed the invocation of the original fail. This workaround shows the expect call in its implementation.

I just saw @atz3n's workaround and decided to simplify it...
Write a custom fail function
function fail(message: string = '') {
  expect(`[FAIL] ${message}`.trim()).toBeFalsy();
}

Full example
Note This workaround is still inferior to the original fail

The original fail was automatically globally available.
In failure messages, code snippets showed the invocation of the original fail. This workaround shows the expect call in its implementation.

There are already simple work-arounds like this in the thread above. There's also another way you've missed that it's inferior to the original fail: it simply doesn't work if it's executed within a callback where a parent performs a catch. E.g.:
function underTest(callback) {
  try {
    return callback();
  } catch (error) {
    return false;
  }
}

In cases like this any fail() call in callback will be silently ignored and the test still passes because all it does it throw an exception anyone can catch rather than actually mark the test as failed. That's a pretty big drawback.

There are already simple work-arounds like this in the thread above. There's also another way you've missed that it's inferior to the original fail: it simply doesn't work if it's executed within a callback where a parent performs a catch.

I saw the "workaround" that simply raises an error. Since, like you, I consider "errors" in a test a completely separate result from "failures" in a test, such a workaround is unsatisfactory for me, even if it weren't further plagued by incompatibility with try/catch blocks. Thus, my deliberate omission of any work to offer improvements on those suggestions.
I had thought my one-line function which you quoted does work in try/catch blocks, but upon further testing I'm realizing that jest's expect clauses simply raise a JestAssertionError, so it does suffer from the same problem :/
function invokeWithTry(callback) {
  try {
    return callback();
  } catch (err) {
    return err;
  }
}

function fail(message = "") {
  expect(`[FAIL] ${message}`.trim()).toBeFalsy();
}

test("fail works in a try/catch", () => {
  const result = invokeWithTry(() => fail("expected failure")); // Erroneously passes
  expect(result).toBeUndefined(); // Actually fails here b/c `result` is a `JestAssertionError`
});

This limitation also applies to expect().fail(message) from jest-extended since that matcher also raises an error instead of quietly recording a test failure.

After spending a few more hours on the problem this morning, I found a satisfactory solution using a custom matcher which builds off of the fail() matcher from jest-extended.
Use a Custom Matcher (works in try/catch blocks)
function toFail(_, message) {
  this.dontThrow();  // <-- Enables recording failures in try/catch blocks
  return {
    pass: false,
    message: () => (message ? message : 'fails by .toFail() assertion'),
  };
}

expect.extend({ toFail });

Example
// FUNCTION UNDER TEST
function invokeWithTry(callback) {
  try {
    return callback();
  } catch (err) {
    return err;
  }
}

// SETUP THE CUSTOM MATCHER
function toFail(_, message) {
  this.dontThrow();  // Just record the error when a test fails, no error throwing
  return {
    pass: false,
    message: () => (message ? message : 'fails by .toFail() assertion'),
  };
}

expect.extend({ toFail });

// TESTS
test("fail works in a try/catch", () => {
  expect().not.toFail("unexpected failure"); // Correctly Passes
  const result = invokeWithTry(() => expect().toFail("expected failure")); // Correctly fails
  expect(result).toBeUndefined(); // Correctly Passes
});

Hell... I've just arrived here to find a regression from >2.5 years ago and it's full of workarounds.
Will someone either close this as won't fix or fix it!

Or just move to another testing framework. I moved one project to vitest (Jest api compatible) this week, and noticed there was an expect.fail function.

Hell... I've just arrived here to find a regression from >2.5 years ago and it's full of workarounds.
Will someone either close this as won't fix or fix it!

What a shame! This would be the worst answer to do not fix it!

Or just move to another testing framework. I moved one project to vitest (Jest api compatible) this week, and noticed there was an expect.fail function.

 I will replace jest by another framework for my current and next projects for all the companies, and hardly advise to everybody to never choose that framework for their tests.
I already do the same with TypeOrm which proved its total lack of seriousness too about the regressions and all bugs.

Don't take me wrong, but they don't owe you or us anything. The developers have their own lives, with their own problems and need to pay their bills at the end of the month too. If you really need this, you can use your spare time (like they do when they develop jest) and submit a PR to fix this issue.

Don't take me wrong, but they don't owe you or us anything. The developers have their own lives, with their own problems and need to pay their bills at the end of the month too. If you really need this, you can use your spare time (like they do when they develop jest) and submit a PR to fix this issue.

That's what I do, but not on abandoned framework like here. Have a nice day!

A small trick i'm using to make my test fail, but without any console message.
it('Should alwyas fail', () => {
    expect(true).toBeFalsy();
})

+1
I'm having the same problem!

Still having this issue, too.

Another way is to use the done callback, which fails the test when called with an error message:
  it('should demonstrate how to use the done callback', (done) => {
    if (somethingIsWrong) {
      done("this shouldn't happen");
    }
    done();
  });

The downside is that you'll also need to call done() to make your test succeed. Otherwise, jest assumes that this is an asynchronous test which is still running.


Is Backup storage located in the same place as a VM vhd?

At the top of the article you state "Azure Backup creates recovery points that are stored in geo-redundant recovery vaults." yet in a Storage Account we have the option of LRS or GRS.
Can we use the same storage account for the VM's as the Backup Vault or do we need to select a different storage account or a different location for the backup vault to the VM Storage accounts?

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

ID: 619ea303-7632-eaf6-c106-838ee2efec8e
Version Independent ID: 7b0cdc68-58d4-90f3-11e9-c7bf9afb59a1
Content: Restore a VM disk with Azure Backup
Content Source: articles/backup/tutorial-restore-disk.md
Service: backup
GitHub Login: @markgalioto
Microsoft Alias: markgal

@wobblewobble Azure Backup is a Pay As you Go Service, it's not necessarily involved with your storage account (Think of it as if it is using a storage account but in the background), unfortunately , when creating a service vault, it doesn't prompt you to select a storage account, the only option that you are prompted for are the redundancy and the region. Does this answer your question ?

@Adam-Smith-MSFT Kinda answers the question but brings in a lot more questions and not sure here is the best place for them.
Biggest question that comes to mind is as follows. If a catastrophic event were to occur and MS lost say Northern Europe, and we had not chosen geo storage for the backups, does that mean that both our VM's and backups are lost?
We have customers that we have built using GRS for VM Storage, but the backup that we added (over 2.5 years ago) only had an option of backups or not. So do we have redundancy on the backups?

@wobblewobble , You are correct about the first point(You will lose data in the scenario you've described), so LRS is locally redundant, meaning, three copies of your data/vms are kept on the same data center, but on different clusters, GRS , is redundancy made on a paired region located hundreds of miles away, This page  has a table indicating the scenarios.
The default redundancy for backup (REcovery services) is Geo-redundant, but you can double check via portal and change it if it's set to LRS, this link has screenshots on how to make the change. Let me know if you need any further help.

@Adam-Smith-MSFT
Thanks for taking the time to answer the questions and for the info.

@Adam-Smith-MSFT i am not clear about how does the restoration works for the VM disk,
if i have backed up my VM with geo-redundant recovery service vault, if my current region (E.g. West US is down), would i still be able to restore my disk with the following command ?
az backup restore restore-disks
--resource-group myResourceGroup
--vault-name myRecoveryServicesVault
--container-name myVM
--item-name myVM
--storage-account mystorageaccount
--rp-name myRecoveryPointName
--target-resource-group targetRG
Meaning i would only suffer data loss. But i will still be able to restore my VM. Another question will then be, where does the function "cross-region-restore" come to play?
Ref: https://docs.microsoft.com/en-us/azure/backup/backup-create-rs-vault#configure-cross-region-restore
If i can restore my VM as long as i have cross-region-restore, why would i still need to have cross-region-restore? For disaster recovery drill purposes ?


Players cannot move when using some GeoJSON points

Hi,
I've encountered a rather rare but a bit game-breaking issue. When I played using GeoJSON with my friends and family, sometimes it happened so that the person who set up the room could play normally but all the other players were locked in place, unable to move. For some reason, different street view spots were chosen for room owner and other players (and the other players were placed into static panorama view without the possibility to move). Luckily, I recall one such spot that reliably has this issue every time, so that can be used to debug the issue.
How to replicate:

Use following GeoJSON:

{"type":"FeatureCollection","crs":{"type":"name","properties":{"name":"EPSG:4326"}},"features":[{"type":"Feature","id":15,"geometry":{"type":"Point","coordinates":[12.754708932182819,50.187283464784805]},"properties":{"OBJECTID":15,"JMENO":"Loket","NATOCENI":0,"DATA50_K":"1450000","DATA50_P":"hrad"}}]}

Start a multiplayer game (starting the second instance in anonymous browser mode is sufficient).
First player (room owner) can move. Second player (and 3rd, 4th, ...) cannot move.

If you could take a look at this that would be great!

Hi, sorry for the delay.
The position is close to street view street and photosphere. The problem comes from this. I will fix that soon.

@tululum Bug fix and deploy on https://geoguess2.netlify.app/
Thanks for your feedback


field type None when advertising shape_msgs/Mesh message

[x] I am at the right place and my issue is directly related to ROS#. General technical questions I would post e.g. at ROS Answers or Stack Overflow. For library-specific questions I would look for help in the corresponding library forums.
[x] I have thoroughly read the Contributing Guideline and writing this issue is the right thing to do in my case.

I have a question!

[x] I searched the Wiki, open and closed issues for an answer. I tried my best to find the answer by myself without success. I believe that the discussion we will have in this issue, and the solutions we might find, will help me, and likely other community members who have a similar problem.

Here is my question:
I am creating a publisher within Unity using message type shape_msgs/Mesh as part of a larger project that uses other messages defined in ROS# as well as some custom messages. At the moment I am doing a simple test to ensure messages will publish correctly, using hard coded values for RosSharp.RosBridgeClient.MessageTypes.Shape.MeshTriangle[] triangles and RosSharp.RosBridgeClient.MessageTypes.Geometry.Point[] vertices and otherwise following patterns of working messages in the project.
My messages publish, but the rosbridge server returns this error:
[id: <my_message_id>] advertise: Expected field type to be one of (<type 'str'>, <type 'unicode'>). Invalid value: None
Other messages based on ROS# classes successfully advertise and publish, so I am trying to debug why my message is not getting the type correctly assigned. I have not been able to find any working examples of shape_msgs/Mesh for comparison and am new to ROS#, so not sure how to trace the source of this problem. Any assistance on tracking down the error would be welcome--thanks!

It looks like this is actually an issue with using ROS# for UWP, so i'm closing out the issue.

It looks like this is actually an issue with using ROS# for UWP, so i'm closing out the issue.


Autocomplete fuzzy matches prioritised over substring matches

Currently autocomplete appears to prioritise fuzzy matches over substring matches, which seems to be prioritising less likely over more likely.
(I'm assuming currently there isn't anything that stores recent accepted matches prioritising based on that, etc...)
onivim:

vscode comparison:

I also had the same problem inside a project, which initially wasn’t using git. After I created a git repository, the substring matches were prioritized higher, than the fuzzy matches, as one might expect.
That’s of course not a solution, but just some observation.

The screenshots are from a project with a git repo

Thanks for logging the issue!
I wonder if @CrossR 's improvements to fuzzy-filtering (which both the quick-open and completion use) will help this scenario: https://github.com/onivim/oni2/pull/1566

Tested again with the updated completion sorting.  This helps for certain completions:

but no change for the original test, so will need fzf as mentioned in the pr.


Feature #154: Fiat Balances

Related to #154
Description

Adds a dropdown to let the user choose the currency in which he wants to see the value of his tokens.
Updates the balances table to display the converted value

Looks like this now
No values returned from endpoint:

If the endpoint return the values (data mocked):

Note:
Now the endpoint returns the data like this:
[
 {
  "tokenAddress": null,
  "balance": "970000000000000000"
  },
 {
  "tokenAddress": "0x5592EC0cfb4dbc12D3aB100b257153436a1f0FEa",
  "balance": "20000000000000000000"
 }
]

It should return data like this in order to make it work:
[
  {
    "tokenAddress": null,
    "balance": "9159999696780",
    "balanceUSD": "0.0018",
  }
]

Does not include search on the dropdown

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com
Storybook book automatic deployment:
https://pr290--safereactstorybook.review.gnosisdev.com

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com

Is this still WIP?

Nop, you can review it, I'll fix the conflicts @mikheevm

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com

@Agupane but this doesn't show actual values. From your description as I understand it's missing the actual rate in the endpoint. Are you sure it's not WIP?

Exactly, this pr is not WIP, the endpoint is, what I can do is simply hide the column and the dropdown until we got the endpoint, so we don't have this pr opened for a long time

@Agupane I'd wait until it's fully done

The endopoint will only return USD values, so to show other currencies we would have use an API such as this one: https://exchangeratesapi.io

Hi @lukasschor , which currencies should this PR support?

If it is straight-forward to integrate the API above I would just include all currencies provided by the ECB reference rate.
Maybe this is not that trivial because they use EUR as the base currency so it would require two conversions for each non-EUR currency. If that's the case, maybe just having USD/EUR would make it a lot simpler to implement. And if even that shows to be too much work to meet the deadline on Friday it's fine if we just fall back to only USD.
Does that make sense?

Yes it does, I'll check it and let you know what suits better in order to meet the deadline

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com

I added support for those other currencies, can't be tested until we got the values from the relayer, but should be now integrated

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com

@lukasschor I have a question, how make decimals are expected to be displayed?, now it looks like this:

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com

Yes, please show two decimals. (I would even show $0.00 and not just $0)
That's the most comon for most national currencies, there are only a few that usually show more , various dinar's for example. I think for the currencies that are included in this PR the only exception is the Japanese Yen which doesn't have any decimals technically. But I think it's fine if all just have two decimals. We can deal with the localization-hell at some point in the future. :)

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com

Currently the selected currency resets to USD after every refresh. I think we should safe the prefered currency in localstorage so the user does not have to reset to the prefered currency each session.

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com

@lukasschor now it saves the info in localStorage. @mikheevm this is ready for review :)

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com

In terms of functionality, everything works fine now. But, when refreshing right after switching the currency, I get a blank screen.

Could you provide more steps please? I could not reproduce that error

I was able to reproduce it, seems that the bug was there before, I opened an issue for it: #340

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com

Travis automatic deployment:
https://pr290--safereact.review.gnosisdev.com


Sacasscf state gradient

Gradients and geometry optimizations for specific states in state-average CASSCF calculations. State average mix version not yet available.

Codecov Report

Merging #569 into dev will increase coverage by 0.25%.
The diff coverage is 92.42%.

@@            Coverage Diff             @@
##              dev     #569      +/-   ##
==========================================
+ Coverage   82.29%   82.54%   +0.25%
==========================================
  Files         574      574
  Lines      109938   110179     +241
==========================================
+ Hits        90473    90952     +479
+ Misses      19465    19227     -238

Impacted Files
Coverage Δ

pyscf/mcscf/newton_casscf.py
84.64% <ø> (+4.38%)
:arrow_up:

pyscf/grad/lagrange.py
76.53% <76.53%> (ø)

pyscf/mcscf/addons.py
87.93% <88.88%> (+0.18%)
:arrow_up:

pyscf/grad/sacasscf.py
95.32% <95.32%> (ø)

pyscf/grad/casscf.py
83.43% <100.00%> (+0.54%)
:arrow_up:

pyscf/grad/test/test_casscf.py
98.96% <100.00%> (+0.17%)
:arrow_up:

pyscf/__config__.py
80.00% <0.00%> (-15.00%)
:arrow_down:

pyscf/geomopt/test/test_berny_solver.py
85.18% <0.00%> (-7.41%)
:arrow_down:

pyscf/lib/misc.py
64.77% <0.00%> (-3.85%)
:arrow_down:

pyscf/geomopt/berny_solver.py
72.09% <0.00%> (-1.56%)
:arrow_down:

... and 13 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 3e426b2...a5a766b. Read the comment docs.

This looks good to me.


Is it possible to accelerate the training by using an existing rough mesh?

Say if we have an existing rough mesh from Colmap, can we fit the SDF model first, and then train the whole pipeline? Can we accelerate the training procedure by using prior knowledge like this?

Hi, I think this is definitely possible to speed up the training with colmap reconstruction. but unfortunate our current repo don't support this. Alternatively, you could try to render the depth map from the colmap's mesh and then use the depth map as in the RGBD data example https://github.com/autonomousvision/sdfstudio/blob/master/docs/sdfstudio-examples.md#neus-rgbd-on-the-synthetic-neural-rgbd-dataset


A Shorter Name for the GDMC HTTP Python Client

Feature branch: None
GDMC HTTP Python Client can be a bit of a mouthful, even if it says what it does on the tin.
Agreeing on an abbrevietion, or even a fantasy name, would make it easier to reference the client in chat without creating ambiguity.
Feel free to add your own suggestions below.
Help wanted
Any suggestions or thoughts on names for this project are welcome.
Suggestions

GDPC (Generative Design Python Client)
PyBlock
PumpkinPy
Penderman (Python Enderman [can remove and place blocks] )
Python McInterFace (not really much less of a mouthful)

A survey was done on the GDMC Discord server and these were the results:

GDPC
Penderman
PyBlock
Python McInterface
PumpkinPy

Therefore GDPC has now been determined as the new name for the GDMC HTTP Python Client and will take effect in the next stable release (v5.0)


Error: The mode has failed while tokenizing the input.

The new update is broken. I'm receiving the following error, Error: The mode has failed while tokenizing the input. every time I open a liquid file now and syntax coloring/highlighting are not working. Everytime I use the keyboard that error pops up again. When I uninstall the extension the error goes away. Sadly there is no liquid language support anymore.
I really need this to work today. Any tips on how to roll back the update?
I found this page from here, https://marketplace.visualstudio.com/items?itemName=neilding.language-liquid

@spencerthayer
Last update of the extension is 1 years ago. So it's most likely it's the update in vscode that breaks the extension.
I will try to take a look later today if it can be fixed.

hey @spencerthayer , I just try on latest vscode (1.12.1) on mac, all seems to be fine. Maybe you can re-install vscode to see if it fixes


[QUESTION] why do we need a dpo_train_step?

https://github.com/alibaba/ChatLearn/blob/main/examples/megatron/models/base_trainer.py#L149
The only difference between megatron_train_step and dpo_train_step is:
        if config.pipeline_model_parallel_size > 1:
            micro_batch_size *= 2

So my question is why do we need to do this?

For dpo trainer, each sample contains "chosen_ids" and "rejected_ids", which are learned to rank  "chosen_response" before "rejected_response". We concat chosen_ids and reject_ids first, which doubles micro_batch_size for forwarding.
When applying pipeline parallelism, megatron defines and reuses the  buffer to transfer data among stages. Thus the buffer need to be defined with real micro_batch_size.
https://github.com/alibaba/ChatLearn/blob/main/examples/megatron/models/policy_trainer.py#L554


Allow PARTITION_MAX_SZ to be tunable

We are running into the issue that we have files stored in our PGDATA which
are larger than 1GB.
Previously this issue was reported in https://groups.google.com/forum/#!topic/wal-e/fg94jVdiSOo.
This change makes this value configurable, which would suit our purposes.

Are you also messing with ./configure --segsize? If so, why?

No, we're not messing with segsize, but we had some clusters where there were non-postgres files in $PGDATA.
Having those files there is (to me) not a good thing.
But just to make sure we can ensure the backup will not fail if we come across these situations, we'd like to be able to tune the size using an environment variable, rather than changing the source.

Would those files happen to be in pg_log? I've been thinking of ignoring this directory.

Yes, in this case it was an actual pg_log directory with logfiles.

I think in v1.1 I'll ignore pg_log instead. This is the 80/20 or more, methinks

8362eb815cd427b9b6bb09a2b421e9a276dbdce8


Mutetoxin buff

About the PR

Made Mute toxin still mute you even after its metabolized, similar to glue
Why / Balance

Mute toxin is heavily underpowered for its cost, and its expensive and still worse then glue at muting targets
Technical details

i just added mute time to mute toxin
Media

none needed
Requirements

[x] I have read and am following the Pull Request and Changelog Guidelines.
[x] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

None i hope
Changelog

:cl:

tweak: Mute toxin now mutes even after is metabolized, similar to glue

Looks like you branched off from the wrong branch. Your smile raffle change is in here.

It should add way more than 5s.
Considering glue does the exact same timer, and is used to make mutetoxin.

Or keep both at 5s and make glue not accumulate.

I wanted to avoid nerfing glue so ill just go ahead and buff Mute even more, although it may be a bit unfun to get hit by

alright i buffed it to 10 seconds of mute per tick and....

its a bit busted, but imma be real mute toxin is still too expensive, it may need a new recipe

I guess it has to be pretty powerful to justify its cost, even if it means your target will have to play as a mime for a while 😆

Fixes #32910

change log updated, 2 PRs done in 3 days, im feeling good

Even with this buff, I think it might be justified and could even be made stronger in the future. When things like PDA Messaging becomes a thing, people could just message about what occured using their PDA. I think this being an upgrade for glue seems justified imo.

Let's give it a shot. If it ends up being too oppressive, it's not hard to change/revert


Add Producer Consumer Part

There are three parts changed:

Add producer_consumer.md and update the README.md in root dir.

Add producer_consumer package:

We can use assign tasks to producer after producer starts.
Producer has limit buffer for task. If the buffer is full and no
consumer to take, the producer will ignore the task.
Consumer needs to regiester if it wants to do task for producer.

All the communication is based on RPC.

Add example for producer_consumer package.

The example will show the case that the buffer of producer is full.

Hi @tmrts
This is awesome project. It is helpful for gopher. But I found that some parts are still under unavailable status. For the producer-consumer part, I would like share my implementation. It is not simple but easy to understand.
I don't know how often you review the PR. So I ping here. I just want to know it is acceptable for the project. Apology if I bother you.
wfu

Hi @fhfuwei, thanks for the well-written PR!
You didn't bother me at all and the PR is certainly acceptable and desired.
I've had a quick look at it and its clean, but I didn't have a chance to properly review it.
I was planning of having a look at it on Sunday.
Feel free to ping me or open more issues its not a bother at all! Thanks :smile:

@tmrts  Cool Cool Cool! Thanks 👍

Hi @tmrts , is there any update?


Remove T: ToPyObject requirement for the IntoPyObject impl of Vec #398

it… just wasn't used

Thanks :+1:

Thanks :+1:


Show latest posts on a static homepage.

I have written up some code that will show the latest posts on a static homepage.
So far I have managed to get it to work to show the latest posts, however, I am still working on getting the pagination to work, if some other people have some ideas then please feel free to let me know.

This code is no longer needed after the 0.8 update.


Minimal implementation of more like this to review the idea.

There are still quite a few details not implemented and there are some parts that I quite not like but did not find a simpler approach.
I am not expecting to merge this to master, but if you give me some feedback I might improve it enough so it can be accepted in the future.
If you have other priorities I would totally understand it.

Interesting. To be honest I didn't even know that feature existed.  I like the idea, but I need to find a bit more time to go through it and offer feedback.  I'll get back to you.

Thanks @darkfrog26, it is not a pressing concern to me.
I liked this project and it was a good starting point to test my assumptions and learn how More Like This works.
If you guide me I offer to continue working on it following your direction, but if you have other things to do, that is perfectly OK.
Some references:

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html
https://github.com/apache/lucene-solr/blob/master/lucene/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThis.java
http://cephas.net/blog/2006/11/14/using-lucene-and-morelikethis-to-show-related-content/

Certainly, I had planned to do some updates to lucene4s next week anyway.  I'll try to respond with more feedback either this weekend or next week.


Documentation and provider update

Small update on documentation to use url instead of host (no longer the correct attributes 🤷 )
Small update to the error message to display the url that was passed to the provider

@sachasmart Thanks for the PR! I'll take a look this week when I have a bit of time. In the meantime could you look into regenerating the docs? Thanks again.

@marshallford No problem! Looks like a promising provider to manage pfSense in my homelab.
I believe I made a slightly hasty PR and just updated the index.md on the initial push. With your latest comment, I've updated the examples/provider/provider.tf and generated the docs, which seems now seems to accurately reflect the intentions of the initial PR.


clicking on search icon while viewing another profile should not create another search fragment

To replicate:
click search
search for a user
click on user
click on search in that user profile
new search fragment is created...
Either the menu items should be hidden when viewing other profiles,
or clicking on the search icon should send the user back to the previous search fragment

Fixed as of #125


ab-av1: Add version 0.7.13

Closes #12774

[x] I have read the Contributing Guide.

/verify

Hi, @aliesbelik why was the commit in this PR removed by a force-push and hence not merged into master? Is it rejected?

Hi, @mpe85.
I'm puzzled a bit why this happens.
As a newbie maintainer here I could be not aware of some settings, but looks like both your PRs (#12771 as well) were closed by this bot.
No, it wasn't rejected, by I could not reopen it.
If you will submit for the third time (sorry) try maybe from separate branch, not from the master.
@HUMORCE, @rashil2000, could you possibly comment?

@mpe85 Did you sync your fork of this repo before the pull request was merged? If so, that could have deleted the changes you made.
Recommend to use a unique, separate branch for each pull request you make. That way if you syn the main branch it will not modify your pull request.  The branches can be safely deleted after being merged into Scoop/Extras.

@mpe85 it appears you installed an automatic pull bot to your github account: https://github.com/apps/pull
The bot is what deleted your pull request.
Use a branch to submit your pull request, or disable the bot.

@amreus Thanks for pointing this out. I was not aware that this bot is active on my fork.
I will create another PR with the bot disabled and using a branch other than master.


touch doesn't honor key-specific options

I hoped to leverage CacheFactory's maxAge to expire items at different intervals. (e.g. session data expires at 12h, but an authentication is locally expunged at 5 minutes idle).
      var options = {
        deleteOnExpire: 'aggressive',
        cacheFlushInterval: CACHE_DURATION,
        storageMode: 'localStorage',
        onExpire: function(){$log.warn("local session expiring"); logout();}
      };
      CacheFactory.createCache(SESSION_CACHE, options);

CacheFactory.get(SESSION_CACHE).put(CURRENT_USER_KEY,
              username.toUpperCase(),
              {maxAge: AUTH_DURATION});

I expected that CacheFactory.get(SESSION_CACHE).touch(CURRENT_USER_KEY); options specified on the initial PUT would be preserved.
https://github.com/kwv/CacheFactory/commit/ef280251cea8c5977152d2dd2d237b5edc6c08e8 adds options object to the API, however I wasn't certain of the usecase behind https://github.com/jmdobry/CacheFactory/blob/master/src/index.js#L819

Closed by #11


Zoom in/out on a subject is sensitive

While hovering over a subject, scrolling in and out to zoom is a bit too sensitive.

We have decided to remove this.


Disallow Deepwood Memories set bonus stacking

I have 2 characters with this artifact set on in a team. It says that I would get -60% Dendro Res Shred when in fact you cannot do that in game (at least to my knowledge)

Dupe of #361


WriteLiveTest- Case sensitive match for 'name'

WriteLiveTest passes for all existing providers, but doesn't for a draft implementation of Versign MDNS:
Resource record set comparision is failing for Verisign MDNS due to exact comparision in ResourceRecordSetAssert.hasName().
As per RFC-1035 (http://tools.ietf.org/html/rfc1035) section 2.3.1 page comparison should not be case sensitive.
AAAA record failing due to exact comparison of record data (for Verisign MDNS).
As per RFC for ipv6 textual format http://tools.ietf.org/html/rfc5952#page-6. ipv6 addresses are case insensitive.
exact match of TXT rdata where Verisign MDNS is wrapping TXT rdata in double quotes.
TXT record data comparison is performed as exact match. However some DNS system may wrap TXT data within double quotes.
The TXT record data wrapping by quotes is prescribed in RFC-1035 (http://tools.ietf.org/html/rfc1035) section 3.3.14 and definition of ""
at page #34

thanks for the reports, Sanjay. I've consolidated the issues together
so as to not spam watchers.
The meta-issue here is whether to address the RFC compliance in the
rdata types or in the tests, and what to present to users who may not
care about the "letter of the law".  Changes might surprise users who
are more interested in portability than growing their knowledge of DNS
nuance.
Bear in mind that literally all current DNS providers pass tests as
they exist today. Some of that was addressed by normalizing in the
provider code. For example, we "unquote" txt in route53
https://github.com/Netflix/denominator/blob/master/route53/src/main/java/denominator/route53/ResourceRecordSetHandler.java#L69
I'm open to ideas for change, but I think that since the context is a
draft provider, we should be on the same page with regards to the
experience impact this might have. copying some other folks for
opinion towards that: @jdamick @jbodner @colmmacc @MisterK
@everett-toews @jwbraucher

@sanjaympawar1 I would change your parsers so that they pass the tests. Even if the spec says it is ok to change the case (ex. I write 'ABC', but the api stores 'abc'), it is odd that this happens. When you write your README, follow the example here: https://github.com/Netflix/denominator/blob/master/route53/README.md
This issue will linger until others feel strongly we should change our rdata types to follow RFC when doing equals etc. or a week has passed.


Refactor proposal

Code organization,The code has been restructured for better readability and maintainability. Methods have been broken down into smaller, more focused functions. Improved concurrency,Resource management, Improved performance,Better abstraction , Enhanced error handling , Improved readability.
I was not sure to introduce JDK 21 virtual threads to allow backwards compatibility as much  . The above affect the classes created under the screenrecording module example .

Thank you very much for contributing these improvements!
This is awesome. But it is also a lot of changes. I am going to cherry pick the ones that I agree with. Which are hopefully most of the changes.

I have now cherry picked all changes that I agree with.
(There are merge conflicts because of different code formatting settings.)
I am closing this pull request.


I'd like to ask why you chose to use bindgen but not cxx.

cxx is used for C++, and bindgen is for C. Since sherpa-onnx exposes a C API, we use bindgen. Even if it were C++, I wouldn't choose cxx. I worked with a cxx codebase a while ago, and I find that using bindgen along with custom C++ wrappers makes the code much more readable when writing bindings for a C++ library.

For instance see this cxx crate which in my opinion is not readable at all:
https://github.com/jkawamoto/ctranslate2-rs/tree/main/src/sys
Versus another small wrapper I created to C++ code:
https://github.com/thewh1teagle/knf-rs/tree/main/sys (See knfc folder)

FYI: k2-fsa/sherpa-onnx#1455 provides a C++ wrapper for sherpa-onnx's C API.

What are the languages currently officially supported by the API, can you list them on the reademe?

Please see
https://github.com/k2-fsa/sherpa-onnx?tab=readme-ov-file#supported-programming-languages
12 languages are supported by sherpa-onnx at present.
We may support more if needed.

officially

I mean to distinguish between official support and unofficial support


HTMLElement.rootElement is deprecated.

The contents of atom-text-editor elements are no longer encapsulated
within a shadow DOM boundary. Please, stop using rootElement and access
the editor contents directly instead.
HTMLElement.rootElement (C:\Users\corma\AppData\Local\atom\app-1.19.0\resources\app\src\text-editor-element.js:23:10)
n.Tag (C:\Users\corma\.atom\packages\ionide-fsharp\lib\fsharp.js:9300:16)
Option__Map$Element__HTMLElement_Element__HTMLElement_ (C:\Users\corma\.atom\packages\ionide-fsharp\lib\fsharp.js:7058:37)
ViewsHelpers__getElementsByClass$Element_Element_ (C:\Users\corma\.atom\packages\ionide-fsharp\lib\fsharp.js:9298:9)
TooltipHandler__initialize$ (C:\Users\corma\.atom\packages\ionide-fsharp\lib\fsharp.js:8877:11)
<unknown> (C:\Users\corma\.atom\packages\ionide-fsharp\lib\fsharp.js:8803:14)

For those who don't stand the blue blobs like me, quick fix
Comment out lines 8800 to 8804 on fsharp.js
C:\Users\[USER]\.atom\packages\ionide-fsharp\lib\fsharp.js

I think something has changed, I commented that out, and I still have the blue rectangles

Rather than commenting out the function body as suggested by jmg-duarte, I commented out the invocation of TooltipHandler__activate on line 4001. The blue boxes have disappeared, and in 20 minutes of use I haven't seen any problems.

Did you try to restart Atom? That's usually when it reappears


refactor: move code

#438  👈
main

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

Join @hi-ogawa and the rest of your teammates on  Graphite


Backmerge release 2.20.0

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.886%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
874

Relevant Lines:
875

💛  - Coveralls


fix(tvos): typo

Summary
Fix typo
Motivation
Fix tvOS build
Test plan

run tvOS app

I think it's time to add more platforms to CI build ...


apt-get install loraserver err

Hi,
Who can help me , when i use apt-get install loraserver, prompt E : Unable to locate package loraserver.
How can i do ?
thanks !

Please use the forum for support questions :-) https://forum.loraserver.io/search?q=Unable to locate package


RuntimeError: function signature mismatch

when run web demo triangle
filament.wasm:0x10c6ef Uncaught (in promise) RuntimeError: function signature mismatch
    at http://localhost:8000/filament.wasm:wasm-function[1820]:0x10c6ef
    at http://localhost:8000/filament.wasm:wasm-function[390]:0x1a7d4
    at Function.Engine$_create [as _create] (eval at new_ (http://localhost:8000/filament.js:9:90896), <anonymous>:7:10)
    at Function.Filament.Engine.create (http://localhost:8000/filament.js:222:40)
    at new App (http://localhost:8000/triangle.html:29:54)
    at http://localhost:8000/triangle.html:23:18
    at taskFinished (http://localhost:8000/filament.js:65:13)
    at http://localhost:8000/filament.js:83:9

Hi @prideout
macOS 11.2.3  chrome 90.0.4430.93 (x86_64)
just open this link have same error
https://google.github.io/filament/webgl/demo_triangle.html

I can't reproduce the issue (via the github.io page) on my NVIDIA Windows machine either.  Maybe this is a race condition with the wasm loader.  Does this reproduce for you reliably or intermittently?

Hi
@prideout
https://google.github.io/filament/webgl/
Any webgl demos not work!

In my case, I'm having this issue on a GeForce GTX 660 on Windows 10.
The same issue occurs with Triangle and other demos.
However, the same Chromium version of Edge doesn't seem to cause any problems.
Also, Chrome Canary doesn't seem to have any issues.

OS
GPU
Browser
result

Windows 10
GeForce GTX 660
Chrome 90.0.4430.93
:x:

Windows 10
GeForce GTX 660
Chrome 90.0.4430.212
:x:

Windows 10
GeForce GTX 660
Chrome Canary 92.0.4505.0
:white_check_mark:

Windows 10
GeForce GTX 660
Edge 90.0.818.56(Chrome 90.0.4430.93)
:white_check_mark:

I have confirmed that the event can be reproduced by changing the settings even on Windows 10 + Chrome + GeForce RTX 2060.
This happened when I changed Chrome's ANGLE backend from default to OpenGL.

filament.js:9
in static filament::backend::Driver *filament::OpenGLDriver::create(filament::backend::OpenGLPlatform *const, void *const):92
put_char @ filament.js:9
filament.js:9
reason: Can't get OpenGL version
put_char @ filament.js:9
filament.js:9
put_char @ filament.js:9
demo_triangle.html:1
[.WebGL-000007E8024BBC80] GL_INVALID_OPERATION: Extension is not requestable.

filament.wasm:0x10c97e Uncaught (in promise) RuntimeError: function signature mismatch
    at https://unpkg.com/filament@1.10.0/filament.wasm:wasm-function[1819]:0x10c97e
    at https://unpkg.com/filament@1.10.0/filament.wasm:wasm-function[390]:0x1a995
    at Function.Engine$_create [as _create] (eval at new_ (https://unpkg.com/filament/filament.js:9:90896), <anonymous>:7:10)
    at Function.Filament.Engine.create (https://unpkg.com/filament/filament.js:222:40)
    at new App (https://google.github.io/filament/webgl/tutorial_triangle.js:4:50)
    at https://google.github.io/filament/webgl/tutorial_triangle.js:83:16
    at taskFinished (https://unpkg.com/filament/filament.js:65:13)
    at https://unpkg.com/filament/filament.js:83:9

This is not actionable on our end, seems like an ANGLE bug, especially since the error message seems related to ANGLE_request_extension.


[gardening] Daily gardening: unused variables, header formatting, PEP 8, .rst formatting

What's in this pull request?
Daily cleanup: unused variables, header formatting, PEP 8, .rst formatting.
Resolved bug number: –

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    OS X platform               | @swift-ci Please test OS X platform
    Linux platform              | @swift-ci Please test Linux platform

Note: Only members of the Apple organization can trigger swift-ci.

The changes all LGTM, but I didn't review the python change.


Add android-sig

@alexeagle

This is great, I'm glad to see it "formalized". @twerth could we merge it?

Thanks!


auto run on first schedule creation

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/912
Originally created by @derek-knox on 2019-08-22 21:02:17

[x] autorun ELT on schedule creation

View 3 previous comments from the original issue on GitLab


Removed setting of mtime on copied files.

I am not sure the purpose of setting the setLastModifiedTime to 1 or 0 on copied files but it's causing problems with web servers serving static resources (specifically in spring-boot).

This addresses issue #58 which wasn't fixed for me and a couple of others.

@sjardine The reason setting mtime to 0 (later 1) is here https://github.com/spotify/docker-maven-plugin/pull/49: Set mtime of copied files to 0 to enable Docker cache.


Ability to see errors in console

I have Raven setup buy my biggest issue is when I'm developing locally I still want to see the messages in my console.
Adding:
Raven.on('logged', function(e){
    console.log('Raven Logged:', e)
})

Only shows me the event ID. How can I also console log the error. Maybe like:
Raven.on('logged', function(e, err){
    console.log('Raven Logged:', e, err)
})

Thanks,

There's not a particularly good way to do this right now, but #180 is an older PR for roughly the change you're suggesting. The events emitted by Raven are going to need some tweaking with the changes I'm coming for #257, so I'll make sure to keep this in mind.

@qrpike I'm not sure whether you're referring to uncaughtExceptions but you can use something like:
const ravenEnabled = config.get('sentry.enabled');
const ravenClient = Raven.config(ravenEnabled ? ravenDsn : null).install(function(logged, err) {
  log.error('process is terminating due to uncaught exception', err);
  process.exit(1);
});

However this function only gets called when a ravenDsn is supplied. I have opened https://github.com/getsentry/raven-node/pull/283 to address that particular deficiency with this solution.

My best workaround so far is to monkey patch raven method:

function override(object, methodName, callback) {
  // eslint-disable-next-line no-param-reassign
  object[methodName] = callback(object[methodName])
}

// Monkey patch 🐒
override(raven, 'captureException', original => {
  return (...args) => {
    // Useful for debugging
    if (process.env.NODE_ENV !== 'test') {
      // eslint-disable-next-line no-console
      console.warn('crashReporter().captureException', ...args)
    }

    original.apply(raven, args)
  }
})


(fix)(onboarding): edit query filter to match gene artwork on gene page

The type of this PR is: fix

This PR solves GRO-1163
Description

The goal of this PR is to address the concerns surfaced during Onboarding QA here: https://www.notion.so/artsy/for-curated-collections-the-modal-doesn-t-match-the-collection-632acc9da57f4eb5983dbaa5e4611462
The intention rather than to just pull the first 100 artworks from gene collections for the artwork collection reward screen at the end of the onboarding flow, to instead filter the query to match the artworks presented on the gene's page. This code solves for the trove, artists on the rise and top auction lots gene collections.
An example (artists on the rise):

🚢


Fix identity key issues

Changes

Only store identity key after onSign successfully resolves
Separated out invite key and identity key creation functions
Add unit test for multi account

Catching up on outstanding reviews, could you briefly give context here what issue is being fixed pls? pray

When calling registerIdentity, onSign is called. If the user abandons the thread (eg closes tab), while onSign is in process, or if the user rejects the signature request, the identity key is still saved in chatKeys.
Thus, the next time registerIdentity is called, it just returns the falsly registered key, and the user ends up unable to sign up for the keyserver unless they unregister and re-register, but the SDK's API makes it seem like everything is okay.
This makes it so that the identity key is saved only when onSign successfully resolves, to avoid that problem entirely.
Also, it fixes the issue where the inviteKeyPub is returned when register is called after an existing successful registration, instead of identityKeyPub as the API dictates.


Fix styles in demo application

Have lost the icons in in the drop down and at the bottom of the page, as these are from Font Awesome which has been removed from the addon as a dependency.  If there are comparable Glyph icons can use that is fine, otherwise consider loading Font Awesome from CDN for use in the dummy app, or perhaps make use of https://github.com/martndemus/ember-cli-font-awesome

mine


protocol cannot be set on rich rule

I try to create a rule that has the following form:
<rule family="ipv4">
  <destination address="<IP_ADDRESS>"/>
  <protocol value="ip"/>
  <accept/>
</rule>

However, the protocol parameter is not allowed outside a port hash.

Released in 2.2.0


Implement noex::Table::AsyncReadRow.

Model this as a typical async unary RPC call. It probably should be implemented after AsyncReadRows.
First propose an API for the function, once approved, you must implement both:

[ ] An integration test that uses this function.
[ ] The function itself.

@coryan
I am thinking of implementing AsyncReadRow same as AsyncReadRows with following changes

AsyncReadRow will make use of MakeUnaryStreamRpc just like AsyncReadRows.
row_limit will be hard coded to 1.
unlike ReadRowCallbcak and DoneCallback in AsyncReadRows,  AsyncReadRow will have a single functor and return the response by means of AccumulatedResult. The API will look like

  template <typename Functor,
            typename std::enable_if<
                google::cloud::internal::is_invocable<
                    Functor, CompletionQueue&, std::pair<bool, Row>&,
                    grpc::Status&>::value,
                int>::type valid_callback_type = 0>
  std::shared_ptr<AsyncOperation> AsyncReadRow(RowSet row_set, Filter filter,
                                                 CompletionQueue& cq,
                                                 Functor&& callback, bool raise_on_error = false) {

New classes AsyncReadRowOperation and  AsyncReadRow to process gRPC response, accumulate result and return a single row via callback.

Please suggest.


Angular 17 ivy

Сhange import from 'ng-jhipster' to '@xm-ngx/jhipster'
Сhange import from 'google-places-autocomplete' to '@xm-ngx/google-places-autocomplete'

pls sqush


Put core colours into logical groups

We currently have the following core colour palettes in EDS 2.0 beta design tokens:

Neutrals
Slate Grey
Slate Blue EDS
Blue Grey
Mist Blue Grey
Mist Blue EDS
Mist Blue Brand
Blue Sky
Blue Ocean
Deep Purple
Purple
Fuschia
Old Pink
Magenta Red
Pink X Brand
Red Cold
Red Warmer
Spruce Wood
Orange
Ochre
Yellow
Success Green
Lichen Green
Moss Green 1
Moss Green 2

To make it easier to understand the context in which to use a specific colour, and to reduce scrolling, I propose grouping them. For example:

EDS

Moss Green
Slate Blue
…

Alarms

Orange
Yellow
…

Infographics

Some colour
Other colour

But before we do that, we need to go through the naming of the core colour palette. As I said, it is temporary to easily navigate between existing and new colors while we build it up.

@vnys we need this rows at this stage:

Neutrals

Slate Grey

Slate Blue EDS

Blue Grey

Mist Blue Grey

Mist Blue EDS

Blue Sky

Pink X Brand

Red Cold

Red Warmer

Spruce Wood

Orange

Success Green

Lichen Green

Moss Green 1

Moss Green 2


Error compiling project

error.txt

Hi, thank you for reply. I need your help. Can I share screen with you and you will help me to compile a project? Step by step setup?
22 июля 2018, 05:27:20, от "Ondra Pelech"<EMAIL_ADDRESS>this is a wild guess, but after you backup you work, try git clean -xdf
perhaps it will help you
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
--
Best regards,
Oleksandra Golubitska
Co-CEO
coyoteworks.com
<EMAIL_ADDRESS>+380672242385

@Vilkina I found this.
Can you say what version of Java you are running (java -version)?

java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
mini:~ admin$

Yeah, you need to downgrade to java 8.

@Vilkina According to the ticket, your version of Java may be a problem. 😞
I found these instructions which may help to explain how to change the default version of Java.

Java 8 worked.

Thanks guys! You are amazing. I though it is Scala affecting project. I've installed everything form   from scratch to a different computer and project wasn't compile. This morning I've followed instructions:
https://stackoverflow.com/questions/46513639/how-to-downgrade-java-from-9-to-8-on-a-macos-eclipse-is-not-running-with-java-9
This is how I did it. You don't need to delete Java 9.
Step 1: Install Java 8
You can download Java 8 from here: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Step 2: After installation of Java 8. Confirm installation of all versions.Type the following command in your terminal.
/usr/libexec/java_home -V
Step 3: Edit .bash_profile
sudo nano ~/.bash_profile
Step 4: Add 1.8 as default. (Add below line to bash_profile file).
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
Now Press CTRL+X to exit the bash. Press 'Y' to save changes.
Step 5: Reload bash_profile
source ~/.bash_profile
Step 6: Confirm current version of Java
java -version
And now it is [success].
Thanks for the help. It is really good morning.


app sends notifications even when i told it not to

reported by @webmind:chat.weho.st
https://github.com/matrix-org/riot-android-rageshakes/issues/1324

Started a 1:1 with this user

The user keeps only the 1:1 room notification.
Some notifications are still triggered when his nickname is contained in a message.

10-16 22:54:58.603Z 394 D/EventTimeline: handleLiveEvent : onBingEvent rule id .m.rule.contains_user_name event id $150819448276538UJgVT:irc.hackint.org in !RfccfYSKBKAsHXHduG:irc.hackint.org

only the display name push notification rule was managed.
add the user name one.


Clarify artificial neural network vs deep learning

@natke : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off @Jak-MS
@FrancescaLazzeri - any additional comments?

@j-martens: I'm sorry - only the author of this article, @FrancescaLazzeri, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


.github/workflows/sphinx: Add workaround for url-root

Comments in the source explain how this works
Tested in the enccs/intermediate-mpi repo
Review: minimal

Thanks for the review!


[SMALLFIX] Add an option to check FileSystem and BlockMaster integrity

Need to use whitebox for unit test since this is not expected to happen under normal operation.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/18934/
Test PASSed.

Merged build finished. Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/18936/Build result: ABORTED[...truncated 2413 lines...][ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR] channel stopped[ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException[ERROR] [ERROR] After correcting the problems, you can resume the build with the command[ERROR]   mvn  -rf :alluxio-core-server-master[WARNING] Couldn't clean up oid=3 from nullhudson.remoting.ChannelClosedException: channel is already closed	at hudson.remoting.Channel.send(Channel.java:578)	at hudson.remoting.RemoteInvocationHandler$PhantomReferenceImpl.cleanup(RemoteInvocationHandler.java:360)	at hudson.remoting.RemoteInvocationHandler$PhantomReferenceImpl.access$700(RemoteInvocationHandler.java:319)	at hudson.remoting.RemoteInvocationHandler$Unexporter.run(RemoteInvocationHandler.java:420)	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)	at java.util.concurrent.FutureTask.run(FutureTask.java:266)	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:110)	at java.lang.Thread.run(Thread.java:748)Caused by: java.io.IOException	at hudson.remoting.Channel.close(Channel.java:1163)	at hudson.remoting.Channel.close(Channel.java:1138)	at hudson.remoting.Channel$CloseCommand.execute(Channel.java:1079)	at hudson.remoting.Channel$1.handle(Channel.java:501)	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:60)
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/18937/Build result: ABORTED[...truncated 2414 lines...][ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException[ERROR] [ERROR] After correcting the problems, you can resume the build with the command[ERROR]   mvn  -rf :alluxio-core-server-masterchannel stopped[WARNING] Couldn't clean up oid=3 from nullhudson.remoting.ChannelClosedException: channel is already closed	at hudson.remoting.Channel.send(Channel.java:578)	at hudson.remoting.RemoteInvocationHandler$PhantomReferenceImpl.cleanup(RemoteInvocationHandler.java:360)	at hudson.remoting.RemoteInvocationHandler$PhantomReferenceImpl.access$700(RemoteInvocationHandler.java:319)	at hudson.remoting.RemoteInvocationHandler$Unexporter.run(RemoteInvocationHandler.java:420)	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)	at java.util.concurrent.FutureTask.run(FutureTask.java:266)	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:110)	at java.lang.Thread.run(Thread.java:748)Caused by: java.io.IOException	at hudson.remoting.Channel.close(Channel.java:1163)	at hudson.remoting.Channel.close(Channel.java:1138)	at hudson.remoting.Channel$CloseCommand.execute(Channel.java:1079)	at hudson.remoting.Channel$1.handle(Channel.java:501)	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:60)
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/18938/Build result: ABORTED[...truncated 2398 lines...][INFO] Alluxio Under File System - S3A .................... SKIPPED[INFO] Alluxio Under File System - Swift .................. SKIPPED[INFO] Alluxio Under File System - Microsoft Azure Blob Storage SKIPPED[INFO] Alluxio Integration - YARN ......................... SKIPPED[INFO] ------------------------------------------------------------------------[INFO] BUILD FAILURE[INFO] ------------------------------------------------------------------------[INFO] Total time: 01:59 h[INFO] Finished at: 2018-03-21T20:16:27-07:00Build was abortedArchiving artifacts[INFO] Final Memory: 102M/2997M[INFO] ------------------------------------------------------------------------[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project alluxio-core-server-master: Interrupted: InterruptedException -> [Help 1][ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException[ERROR] [ERROR] After correcting the problems, you can resume the build with the command[ERROR]   mvn  -rf :alluxio-core-server-masterchannel stopped
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/18943/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/18947/Failed Tests: 1org.alluxio:alluxio-core-server-worker: 1alluxio.worker.block.UfsInputStreamManagerTest.testConcurrency
Test FAILed.

Jenkins, test this please.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/18951/
Test PASSed.


Add new MouseDrag plugin

🎉 New feature
Closes #306
Summary

Adds a new MouseDrag plugin, which allows the user to exert forces and torques by dragging objects in the scene with the mouse cursor. It has two modes: translation and rotation.
The translation mode is activated by Ctrl+Right-clicking and holding a link in the scene. Dragging the mouse will then move the link towards the mouse position. There is an option on the interface to select whether the force should be applied to the link's center of mass or to the point where the mouse click occured. If center of mass is selected, only a force is applied, with a magnitude given by a constant stiffness and critical damping, scaled by the mass of the link. The force is always contained in a plane parallel to the camera and passing through the application point. If not, an additional torque is applied to account for the offset in the force application point. In this case, the rotation of the object is also slightly damped. The visualization (shown below) shows an arrow from the application point to the target position under the mouse cursor.

The rotation mode is activated by Ctrl+Left-clicking and holding a link in the scene. Dragging the mouse causes a pure torque to be applied, also with a constant stiffness and critical damping and proportional to the link's inertia. The torque is also contained in a plane parallel to the camera. The visualization displays a transparent red bounding box which corresponds to the target orientation of the link.

This approach is different from TransformControl's translation and rotation tools since it uses wrenches to move the objects, so they still interact with the physics of the simulation while being moved.
This plugin uses the /world/<world_name>/wrench topic provided by the ApplyLinkWrench system for applying wrenches. This system is automatically loaded by MouseDrag.
Test it

Open any test world.
gz sim src/gz-sim/examples/worlds/apply_link_wrench.sdf

Load the MouseDrag plugin from the plugin dropdown.
Drag the objects in the scene as you wish.
https://github.com/gazebosim/gz-sim/assets/49255495/0185a828-22f2-42ed-8664-d84a271ad092
Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

Addressed in 316f054

Works great when the force is applied on the COM. I'm getting weird jitters with the default settings though
MouseDrag.webm
Does the point of application change while dragging? It seemed like it does, but I wasn't sure.

The point of application shouldn't change. On my end, I think the problem was because of calculating angle differences close to $2\pi$. I modified the way wrenches are calculated in 965a9e0 and the motion seems better for me. Could you check if the jitters are still there @azeey? You were definetely getting more of it than I was.

The point of application shouldn't change. On my end, I think the problem was because of calculating angle differences close to 2π. I modified the way wrenches are calculated in 965a9e0 and the motion seems better for me. Could you check if the jitters are still there @azeey? You were definetely getting more of it than I was.

That made a big difference. It works much better now!!

Changes addressed in 78f86a5