cmd/compile: wasm code causes out of memory error on Chrome and Firefox for Android

I am very excited that Go ships now with Webassembly support. I ran wasm code generated by Go 1.11 on Chrome and Firefox on desktops (MacOS and Linux) and on Chrome, Firefox and Safari on iOS devices. Running Go generated wasm code on Android devices failed though.
Minimal example

Go code

GOOS=js GOARCH=wasm go build -o test.wasm wasm.go

package main

import (
    "fmt"
)

func main() {
    fmt.Println("hello")
}

index.html

wasm_exec.js from go/misc/wasm

<!DOCTYPE html>

        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1.0">

files are served via Nginx using adjusted mime.types

Expected behavior

page displays "ready" after the wasm file has been loaded and the console shows "hello"

this works on Desktops and iOS devices

Actual behavior

on Android devices the above code fails with "RangeError: WebAssembly Instantiation: Out of memory: wasm memory" (Chrome) and "out of memory" (Firefox)

tested on Chrome for Android (68.0.3440.91) and Firefox for Android (61.0.2). Several devices from different manufacturers were tested

Since the code is same for all desktop, iOS and Android devices, I doubt there is much we can do here.
@neelance has some optimizations in mind for 1.12. But unless you have some specific suggestions, this just falls in the category of general optimizations which will happen anyways.

Given the market share of Android devices, this would be a major drawback ...

can you try this?

wasm-opt wasmFile -O  -o wasmFileO

btw @termonio - You should also build with -ldflags=-s -w for slightly smaller binaries. It most probably will not help with overall memory instantiation, but can help with payload size.

@thesyncim: wasm-opt test.wasm -O -o testO.wasm reduces the file size from 2.4MB to 2.3MB. The optimized file works on Desktops and iOS but still not on Android.
@agnivade: Your hint has a similar effect. The payload is reduced to 2.3MB, but can't be run on Android.
For someone who wants to reproduce this issue: iOS devices need a polyfill (omitted in my minimal code example above).
if (!WebAssembly.instantiateStreaming) {
    WebAssembly.instantiateStreaming = async (resp, importObject) => {
        const source = await (await resp).arrayBuffer()
        return await WebAssembly.instantiate(source, importObject)
    }
}

you can try other optimization levels like -O2 or -O4 for size consider using -Os or -Oz

I did try other optimization levels but got core dumps (not further investigated yet).

try to run with -d (debug option)

@thesyncim: running with -d yields an output and further optimization makes the file sizes shrink down to 1.9MB. Won't run on Android though (tried -O2, -O4, -Os, and -Oz).

@termonio sorry to hear that, just one last thought, did you try to run the optimization on top of @agnivade sugestion -ldflags='-s -w'?

@thesyncim : Yes indeed. I tried all 12 combinations (with and without -ldflags='-s -w' and for each in addition wasm-opt for optimization levels -O, -O2, -O4, -Os, and -Oz). I don't think this issue can be resolved with general optimization. (I guess it is how much memory can be allocated on Android device for Webassembly. This seems to be limited. new WebAssembly.Memory({initial: x}) fails on my Android device when x is around 9000 64kB pages.)

I looked into the instance that is returned from WebAssembly.instantiateStreaming(fetch(wasmFile), go.importObject) when running on a desktop browser. instance.exports.mem hold a WebAssembly.Memory object. The allocated ArrayBuffer holds<PHONE_NUMBER> Bytes = 1GB after instantiation! I am wondering whether that much memory is really needed.

The solution most likely depends on https://github.com/WebAssembly/design/blob/master/FutureFeatures.md#finer-grained-control-over-memory. However, even currently it is not necessary for the WebAssembly host and operating system to physically allocate the full amount of memory, since most of it is not used. For example on Chrome on OS X, the operating system reports a much lower memory usage than the 1GB that WebAssembly requests.

Why does WebAssembly allocate this 1GB of (mostly unused) memory in the first place? Is there a way to limit the amount of memory it can request? (WebAssembly.Memory({initial: x, maximum: y}) comes to mind but my attempts to populate the importObject with preallocated memory did not succeed.)

The initial 1 GB memory is control by this line:
https://go.googlesource.com/go/+/go1.11/src/cmd/link/internal/wasm/asm.go#310
I don't think we will change this setting in Go 1.11. But you can modify the source and rebuild the toolchain.

@neelance - I see a TODO there to use lower initial memory size. I believe the challenge to set the correct initial memory size is to somehow analyze the code being compiled and come up with the base minimum memory the code would need ?
Is it possible to hoist this from being hardcoded in the binary to being set from the importObject ? So that the user has control over the value. Or do we not want to expose more knobs ?

I wrote a small tool that can patch the memory section of a .wasm binary. This allows for easy experimenting with smaller initial page sizes without building a modified tool chain. It seems as if during instantiation quite a bit of memory is allocated by the WebAssembly runtime. When starting with 4096 pages (256MB) the runtime grows the memory on my desktop machine to 745865216 bytes (about 710MB, more than 11000 pages). I As I have trouble allocating more than 7500 pages on my Android devices, this approach alone won't help to make Go generated .wasm binaries run on Android. I am surprised that the instantiation is that expensive but I can understand now why the initial memory was set to 1GB ...

Hi all! I looked into the bug @twifkak had encountered, and it looked like a race condition between calls to sysReserve and sysFree (this occurs when gc and malloc race, I believe). I implemented mutexes (similar to mem_plan9.go) to prevent this race condition, and it seems to work correctly. I'd love for other folks to give this branch a try, though, and let @twifkak or me know if they've run into problems: https://github.com/golang/go/compare/master...gabbifish:gabbi-small?expand=1#diff-7e39049a2de75c1412aac58accc6a92f

The branch code of @twifkak works well. It's just that the value of "writeUleb128'(ctxt. Out, 1024*1)" to initialization memory is still higher on my phone, which leads to slow loading. But this Page setting is too low and can easily overflow when running on my browser (Firefox on HTC 10, Safari on iPhone 6 plus). This needs to be set according to the actual needs of the project memory to achieve better results.
I actually used @termonio's wams tool to set up wasm's runtime memory. The combination of the two works very well. Here's the shell of my building project.
#!/bin/sh

GOROOT=/usr/local/go-wasm # modify on go1.12rc1

PATH=$GOROOT/bin:/usr/local/bin:/sbin:/bin

GO111MODULE=on GODEBUG=gcstoptheworld=1 GOARCH=wasm GOOS=js go build -ldflags "-s -w" -o ../../../disc/yujian/main.wasm || exit 0
wams -pages 64 -write ../../../disc/yujian/main.wasm || exit 0

And with @twifkak modifications, go-wasm really works well on my Andoird and iPhone. Now I have other problem is whether the binary compiled by go-wasm is somewhat large. I can only use syscall/js to call the api of js, instead of using the standard library of go to keep the binary size of 4M. When I imported go's standard libraries (strings, json, base64, http), the binary package was almost 7~8M. This size reloaded twice on the web on my iPhone 6 plus it reported wasm compiler error of memory overflow. Maybe the wasm implemented by mobile browser is too weak.

I'm seeing OOM on win7 latest firefox, and also android7 latest firefox, so actually it only works on my macos 10.12.4 firefox63 currently :(
Has anyone tried the binaryen wasm-opt tool?  I also saw mention of a snip tool used for shrinking Rust generated wasm.  I cannot build either here, but I am interested if anyone has had success?

Using some of the optimization flags mentioned here, I got my .wasm file down to ~2.6MB but still seeing OOM errors on everything but my mac :(  I haven't tried the fork mentioned above (I'm very new to Go) but I did try using 'bytecoder' with some Java for comparison...
That generates a 15KB file (also interacting with Javascript / canvas 2D) and runs great on Android g-tab2, and even an old Nexus 5 Android 6 device!  and obviously the load times are vastly improved.  Although still no success on my iOS devices, but that might be because I keep them on older iOS versions for development testing.
I know that wasm support is still experimental, but could this issue possibly be upgraded from 'Performance' ?  Since currently this makes Go WASM unusable in many situations, and this probably needs fixing before WASI hits mainstream.  Thanks.

Seems like the situation is better at first loading but out of memory still occurs when reloading a page that uses go wasm on mobile.
Using safari on iPhone.

Seems like the situation is better at first loading but out of memory still occurs when reloading a page that uses go wasm on mobile.
Using safari on iPhone.

Yes, it hangs up with a few more refreshes on the safari of the iphone, and you need to reopen the page at this time. I debugged on PC, and other browsers did not release memory in time after refreshing, so did WASM compiled by rust and C. I think this has nothing to do with the compiler language, but with the WASM performance of the browser implementation.


NIFI-1788 Fixed listed allowable values

fixed list of allowable values
replaced related deprecated method when writing

@olegz You are absolutely right! Thanks for the lines of code, added the test in an existing test class for this.


Schema name configuration

According to the docs, there is no way to use a different from the struct name in the openaapi doc, like:
#[derive(ToSchema)]
#[schema(name = "Dog")]
pub struct DogSchema;

Which should generate schema Dog instead of DogSchema.

According to the docs, there is no way to use a different from the struct name in the openaapi doc, like:
#[derive(ToSchema)]
#[schema(name = "Dog")]
pub struct DogSchema;

Which should generate schema Dog instead of DogSchema.

True, there is no separate attribute for that but as = Dog should be possible. E.g.
#[derive(ToSchema)]
#[schema(as = Dog)]
pub struct DogSchema;

Closing due inactivity. Can be reopened if deemed necessary.


Cleanup stale projectId vars

Removes unused FIREBASE_PROJECT_ID variable
Changes "shopping cart creation" tests to use the same TEST_FIREBASE_PROJECT_ID that the other tests use

@googlebot I signed it!

@gavingolden thanks for this!


Response validation

Is there an ability to validate a response schema?
@Post()
@ApiOperation({ description: 'Create something })
@ApiResponse({ status: HttpStatus.OK, description: 'Success response', type: CreateSomethingResponseDto })
async create(
  @Body() body: CreateSomethingDto,
): Promise<Something> {
  return this.somethingService.create(body)
}

And CreateSomethingResponseDto:
  import { JoiSchema, JoiSchemaOptions } from 'nestjs-joi'

  @JoiSchemaOptions({stripUnknown: true})
export class CreateSomethingResponseDto {
  @JoiSchema(integerRequired)
  @ApiProperty({ example: 1, description: 'Tenant id', nullable: true })
  id: number | null
}

Not at the moment, but it's an interesting idea. @ApiResponse() is part of the Swagger package - meaning it would only work with that package - and does not offer any hooks that could be used for this, as far as I know. Simply put, the concept of Pipes in NestJS is made specifically for input data, so it's easy to do something like this for input data, as opposed to output data.
As for response validation, probably the most straightforward way to implement it would be to use interceptors (https://docs.nestjs.com/interceptors), but we have no way of knowing the type class of the response, so it would have to be specified manually, perhaps with a decorator. Also, this would not work if a route uses the @Res() decorator.
I'll keep this in mind and think about it a bit. If you know of a way to get the response type for the route from the ExecutionContext or similar, let me know, though I think this will be difficults, since a lot of the time the actual type will have to be unpacked from a Promise<> or similar, so the decorator would probably be the easiest way...

After some investigation, I found how to get type passed to ApiResponse.
It is just a quick test, so it is not ideal. Here is a short example of how to get it:
test.dto.ts
export class TestDto{
  superString: string
}

response.interceptor.ts
import { tap } from 'rxjs/operators';
import {Reflector} from "@nestjs/core";
import {DECORATORS} from "@nestjs/swagger/dist/constants";

@Injectable()
export class ResponseInterceptor implements NestInterceptor {
  constructor(private reflector: Reflector) {}

  intercept(context: ExecutionContext, next: CallHandler): Observable<any> {
    return next
      .handle()
      .pipe(
        tap(() => {
          const swaggerData = this.reflector.get<string[]>(DECORATORS.API_RESPONSE, context.getHandler());
          console.log(swaggerData['200'].type)
        }),
      );
  }
}

in main.ts
app.useGlobalInterceptors(new ResponseInterceptor(new Reflector()));

in some.controller.ts
@Get()
  @ApiResponse({status: 200, type: TestDto})
  getHello(): string {
    return 'Hello world';
  }

and console output:
[class TestDto]

I didn't investigate the next steps for applying validation.
Is it helpful information?

Thanks for investigating!
Your example relies on an internal constant of the @nestjs/swagger module (the @nestjs/swagger/dist/constants import), which could technically change at any time, so I don't think it's safe to use.
Like I said above, this would also introduce a hard dependency on the @nestjs/swagger module, which otherwise has no connection to the purpose of this module.
Should this be implemented, I believe the best route would be a custom decorator on the route to explicitly specify the return type, and then only routes with that decorator would have their response validated.
I'm not sure this has broad use, though. Unlike the input, the output has fairly strong validation already given that we're using TypeScript, provided you are using types consistently.
Can you give an example of your use case that would benefit from such strong response validation when compared to stringent use of TypeScript types?

Closing as stale. @redwert feel free to reopen if you have any additions.


QML over HTTP server

When QML resources are served via HTTP paths (and possibly any non-file:// path), a special qmldir file is expected to exist for relative-path file resolution.
One potential option for Docker would be to bind the served resource directory to the host where the GUI client runs and translate paths to the host path (similar logic to how we currently translate paths to served URLs).
Alternatively, we just need to ensure that qmldir exists and is defined or else log some warning.
There may be other limitations to non-local resources for Qt and other GUI infrastructures to consider.

Worth calling out - if you aren't directly rendering JSX (which you shouldn't), the files need to be accessible to the web server. That probably means a lightweight Flask or FastAPI service from which the files can be retrieved.


[fix] remove unwanted whitespace from end of code snippets in docs

Closes #7330
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

thank you! ended up merging #7356, which fixes the formatting before it gets to this point


featurecheck and log holding lock time when it exceeds threshold

Sometimes the competition of lock is fierce in DatabaseTransactionMgr, which may lead to publish time out, i think we should have a log to hint these lock competition.
Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.89 seconds
stream load tsv:          467 seconds loaded<PHONE_NUMBER>9 Bytes, about 152 MB/s
stream load json:         24 seconds loaded<PHONE_NUMBER> Bytes, about 93 MB/s
stream load orc:          76 seconds loaded<PHONE_NUMBER> Bytes, about 13 MB/s
stream load parquet:          33 seconds loaded 861443392 Bytes, about 24 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230323011234_clickbench_pr_119032.html

run buildall


Inventory Panel Deletes Inventory Items When Clicking On Item Already Selected

Issue Description:
When right clicking on an inventory item in in the Inventory Panel 32  of the items ( if there is a stack or greater of that item) are selected. If that item is clicked again - 32 of that item are deleted. If the inventory item is less than a stack 1/2 the count of that item are selected. Clicking on that item again delete 1/2 the items "in hand" and 1/2 the items in inventory.
Items are also deleted in the similar manner when Left Clicking.
What happens:
Description above
What you expected to happen:
I would think nothing should happen. Noting is deleted and items selected are kept "in hand"
Steps to reproduce:

Create 100 Stone Slabs in inventory
Right click on Stone Slabs in inventory - 32 slabs are selected and 68 remain in inventory
Right click again on slabs - 32 slabs remain selected but only 36 slabs remain in inventory
Right click again - Now only 18 slabs are selected and only 18 slabs remain in inventory
...

EnderIO: 1.12.2-5.66
EnderCore: 1.12.2-0.5.76
Minecraft: 1.12.2
Forge: <IP_ADDRESS>54
SpongeForge? no
Optifine? yes
Single Player

This issue has been fixed already, but hasn't been released yet. If you're on our discord, you can grab the latest dev build to solve this problem.
The fix will be part of our next release

Thumbs Up - Thanks


AB#4946

Proposed changes

Related issues

Checklist

[x] I consider the submitted work as finished
[x] I tested the code for its functionality
[ ] I wrote test cases for the relevant uses case
[ ] I added/update the relevant documentation (either on github or on notion)
[ ] Where necessary I refactored code to improve the overall quality

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

Bug is fixed on local build, @r-joyce please merge.


Warning: Possible EventEmitter memory leak detected. 11 enqueue listeners added. Use emitter.setMaxListeners() to increase limit

Warning: Possible EventEmitter memory leak detected. 11 enqueue listeners added. Use emitter.setMaxListeners() to increase limit

create process more than 11 times,  get this error
for now, queue.setMaxListeners(1000);

If it helps someone, it only happens for me when using processing concurrency greater 10:
queue.process('someid', 11, (job, done) => {
  // ...
});

does anyone have any issue with setting concurrency greater than 10?
my app has a queue processing for sending emails with 100 concurrency.
is it OK?

Got the similar error for the number of processes 20.
Is there any update?

This could be an error from node module.
Please refer the following link.
https://nodejs.org/docs/latest/api/events.html#events_emitter_setmaxlisteners_n
Hope this will be helpful.

guys its related with concurrent task count


Develop ReportStream System Architecture

High-level system block diagram
Components diagram (include Docker containers)
Sequence diagram
UML diagram

@oslynn Still needed? Does this meet your needs? https://lucid.app/lucidchart/16f174e9-0f04-4c48-8738-23000588b98f/edit?viewport_loc=-2105%2C-2539%2C3237%2C1680%2CSV4g-lPnP.PU&invitationId=inv_2451a1af-1096-4119-a964-baad0f91a74f

@brandonnava , no I don't need it anymore.


[HOLD for payment 2024-08-07][$250] [Search v1] Implement action buttons

Implement this section of the design doc - https://docs.google.com/document/d/1ldZ85fyQO4662hLZRNFfm0_IxaP7-PWvaqc8Z33jsLQ/edit#bookmark=id.kt71e0n7yfsm
Issue OwnerCurrent Issue Owner: @
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01f3a821ed6381f7c6
Upwork Job ID:<PHONE_NUMBER>009483173
Last Price Increase: 2024-08-07

Issue OwnerCurrent Issue Owner: @greg-schroeder

On hold

hey, I would like to work on this task today

@luacmartins some questions regarding design doc:
1.
Which set of actions should we support? according to the list in design doc: https://docs.google.com/document/d/1ldZ85fyQO4662hLZRNFfm0_IxaP7-PWvaqc8Z33jsLQ/edit#bookmark=id.kt71e0n7yfsm
we have: done | paid | review | pay | approve | hold | submit
but in the pseudocode below there is also delete should I include it?
2.
Is the action type and translation view or review because right now api returns view?
3.
I can see that we already have API commands for some of these functions, example: https://github.com/Expensify/App/blob/bb8ad521b43495c3b6db42ef788ecefe64c80f7f/src/libs/API/types.ts#L384 and they have their payloads defined. So I'm assuming that I should be using those existing commands.
If yes - then where should I take the required params from? For example Pay (https://github.com/Expensify/App/blob/a86501a237cdecd54356cb47b64c629086e6a30f/src/libs/API/parameters/PayMoneyRequestParams.ts) we need: iouReportID, chatReportID, reportActionID, paymentMethodType Should I assume they will be available inside the TransactionItem data?

Which set of actions should we support?

I added the missing ones to the doc, but the full list is: done | paid | review | pay | approve | hold | submit | delete | view

Is the action type and translation view or review because right now api returns view?

We have both, view just navigates the user to the transaction thread reportID in the RHP. Review will do the same, but will be shown when hasErrors is true, indicating that the admin should review the request (and potentially make edits)  instead of just view it.

I can see that we already have API commands for some of these functions, example:

No, we'll need to create new commands since the existing ones update "live" Onyx data and work offline. The API requests from Search will not work like that because the users might not have "live" data for those transactions, reports, policies, etc. So those commands need to rely only on the Search data in snapshot.data. These commands will only work online with the limited information available in the snapshot key.

@Kicu also noting that this issue will be put on hold until we migrate some existing code in the backend. So I'd recommend picking another one for now.

Alright I'm stopping work on this one for now 👍 thanks for the answers they will be useful when I return to this.
I created a draft just so that I won't loose my work, its unfinished so don't review

Held

Thanks @luacmartins - good looking out

@Kicu I think we can get started on the Delete bulk action. We already return canDelete field for transactions, so the only thing missing from the backend would be the new API command DeleteMoneyRequestOnSearch. I'll get that started on my end as well.

I put up PRs to introduce the Done and Paid badges. We might be able to work on Hold and Unhold actions since that doesn't depend on the migration we're doing. @Kicu wanna get started on that one? I'd need to work on the API still, but we could get started on the App changes.

Yeah sure.
To be honest the easiest for me would be to simply start to handle all the types of actions in one PR so I will start with that. We can comment out/filter some code in case API is not ready.
Can you give the me the details of api actions and endpoint names and payloads?

@luacmartins
If you want you can take a quick look at this unfinished draft: https://github.com/Expensify/App/pull/41725/files
I need 2 main things from you to continue:

the list of all actions that this PR should support, and their names/payloads. Is this still correct: https://github.com/Expensify/App/issues/39890#issuecomment-2096516066?
what should we display for Report item and its transactions. Specfically what does the button on ReportItem do and where do I get the action for it?

@Kicu I think that for now we'd implement the Hold and Unhold methods. We have this section in the design doc, that mentions the behavior on press and the API method it should call and payload. Let me know if you have any questions. FYI these commands don't exist yet

AFAIK you can't hold/unhold reports, only transactions. The report item should have its own action, so we should use that.

Implement this section of the design doc - https://docs.google.com/document/d/1ldZ85fyQO4662hLZRNFfm0_IxaP7-PWvaqc8Z33jsLQ/edit#bookmark=id.kt71e0n7yfsm

@luacmartins Can I have access to this design doc as I was assigned to review the PR, thank you!

Shared the doc with you

Looks like no payments (via upwork or ND) or regression test will be necessary here (as its a new feature), so I'm going to close this now. Please reopen if you disagree.

This PR is still active for this task: https://github.com/Expensify/App/pull/41725
There were 2 PRs - one for actions on a single item and one for bulk actions. The one for single is still being developed.
I think we might want to reopen @greg-schroeder

Okay thanks! got it

https://github.com/Expensify/App/pull/41725 now on staging

yeah now we can continue with normal flow for this issue. There should be no more PRs for it at this point

We'll still need to implement the buttons for Pay, Approve and Submit. I think we could do those now too and once the API is implemented we'd already support it in NewDot

So that would mean to write the necessary actions for pay, approve and submit and assume they would work basically?
because the ActionCell component is almost ready to display different actions. I think only translations are missing right now.
So:

add new actions that call api
add them to the if here: https://github.com/Expensify/App/blob/main/src/components/SelectionList/Search/ActionCell.tsx#L53
update translations

Do you see any bigger changes required @luacmartins ? Would we need any confirmation modals or similar redirects? because that is usually the biggest amount of work and code changes.
If its not too much work then I would happily do a PR tomorrow, inbetween doing the tasks for Search v2

I don't think there would be any redirect, no. @JmillsExpensify can you confirm if submitting, approving and paying transactions from the Search page should display any modals or ask for more information? Maybe the Pay button if the user doesn't have a default payment set?

bump @JmillsExpensify on the above, can you help confirm Carlos' expectation?

Here's the case:

Employee submits a report
First manager puts a couple of reports on hold
First manager gets distracted doesn't approve the report
First manager comes back to the report on the search page, clicks Approve
We need to ask the manager whether we approve the entire report, or just part of the report.

Does that make sense?

So it sounds like we do need to show modals for other cases too. Do we have these flows that require modals mapped out somewhere?

The only case I can think of is the Hold case. @trjExpensify do any others come to mind?

I'm not 100% following the question. Is it asking about when a centered modal might appear when taking an action on a report/expense row in the Search results?

Correct. Which actions taken from the Search page, i.e. Hold, Unhold, Delete, Submit, Approve, Pay require us to show a centered confirmation modal?

Okay, got it.

Approve and Pay - both conceivably have a centered alert modal to choose what to approve or pay when the report contains held expenses. That's because when the approver===reimburser, we show them the Pay button to avoid the double click of Approve then Pay.

Delete - this does show a "danger" centered confirmation modal to confirm the irreversible action.

Hold - putting something on hold doesn't have a centered confirmation modal, entering the reason for the hold is in a rightDockedSideModal ("RHP"). So yes, this one results in a modal after the action is taken, but not a centered confirmation modal.

Submit Unhold - no modals at all.

Cool, thanks for confirming!

both conceivably have a centered alert modal to choose what to approve or pay when the report contains held expenses.

do you know if this exists in App already?

Yeah, that's been in place since the collect-approvers wave. Marco implemented it. 👍

Nice, thanks for confirming.

Ah yea, gonna assign you too since you reviewed the PR https://github.com/Expensify/App/pull/41725

Also, I think this issue is done. We're missing the bulk actions, but we have separate issues for those, e.g. https://github.com/Expensify/App/issues/46072, https://github.com/Expensify/App/issues/46074

Processing

Okay, got it, thank you

My case is similar - I helped to review this PR https://github.com/Expensify/App/pull/41725 and there's no automation to track the payment.

Processing - are there other payments I need to make here? This issue is a bit difficult to follow 😅

I think only the payments to @ishpaul777 and @eh2077 as mentioned in the summary here

Okay got it, processing, sorry for delay

Offers sent to @eh2077 and @ishpaul777

I'll pay these ASAP as soon as you accept 👍

@greg-schroeder Offer accepted, thank you!

? That's... weird. I definitely didn't withdraw it, lol

Upwork is a very good program. I will try again

Re-sent


Wallchart etc. should use latest entry for "Introduction to Scouting", "Introduction to Section", "Milestone" etc.

It is possible for many "Introduction to Scouting", "Introduction to Section", "Milestone" etc. to exists.

Can reports be updated to use the latest entry added? Currently it seems to use the one with most recent date

Hi @svermaak
Can you send me the full json that has the duplicated  "Introduction to Scouting", "Introduction to Section", "Milestone".
Which one of the duplicates do you think is the correct one? Status_updated is when the entry was made, imported:date_awarded is the date entered when doing the import.
I use the imported:date_awarded if present then the status_updated.


Push Replication Fails With createTarget Set

Client – Couchbase Lite 1.3.1
Remote – CouchDB 2.0
When doing a push replication with no target database present on the remote CouchDB instance, and after having set the createTarget property in the Replication object to true (via calling setCreateTarget(true)), Couchbase Lite fails to create the target database and the replication stops. If I look at the network traffic between the mobile and my remote database, Couchbase Lite actually does a GET instead of a PUT to create the remote database. The GET returns a 404, stopping replication.
It appears that this issue is due to code in PusherInternal.java and RemoteRequest.java. PusherInternal's maybeCreateRemoteDB() gets called after the GET from _local checkpoint fails, and this initiates a PUT request to create the remote DB as follows (from PusherInternal.java):
	protected void maybeCreateRemoteDB() {
		if (!createTarget) {
			return;
		}
		creatingTarget = true;
		Log.v(TAG, "Remote db might not exist; creating it...");

		Future future = sendAsyncRequest("PUT", "", null, new RemoteRequestCompletion() {
              ...

It looks like the above sendAsyncRequest() call ends up creating a RemoteRequest object to fulfill the request. The call to set the request to a PUT looks like the following (from RemoteRequest.java):
	protected Request.Builder setBody(Request.Builder builder) {
		if (body != null) {
			byte[] bodyBytes = null;
			try {
				bodyBytes = Manager.getObjectMapper().writeValueAsBytes(body);
                      ...

			if ("PUT".equalsIgnoreCase(method))
				builder.put(requestBody);
			else if ("POST".equalsIgnoreCase(method))
				builder.post(requestBody);
		}
		return builder;
	}

The code that should turn the request object into a PUT request is contained in a block of code that only gets called if the body object is not null, but the body is set to null in the sendAsyncRequest() call, so the request goes out as a GET. To test this, I modified Couchbase Lite to insert a dummy body in the maybeCreateRemoteDB() code, and that got it working, but it was a gross hack.
It appears that the okhttp3 library that is being used may not allow creation of PUT requests without a body, so simply adding a builder.put(requestBody) call outside of the if statement might not work.

@philmay Thank you very much for reporting the issue and your analysis.


Exception when using converters with non-json types

Hi there, don't know if you noticed but the issue with Vert.x JsonObject where non-json types cannot be placed into a JsonObject using the put method causes errors when using converters whose from method does not return json types.
Fix
Maybe an interface could be included in the in the vertx-jooq-shared-async project and the convertFromSql method should check if the converter's from method return and object which implements that interface.
Simply give the interface a toJson method. If the object implements the interface store the result of toJson instead of the object

Not sure if I understand correctly. Can you post an example when the error is thrown?


Added dilation and erosion

Uses a square kernel.
Also modified README.md to include function descriptions

If someone could write test-cases for this, that would be helpful, since I am running windows.
Input:
00000
0▴▴▴0
0▴▴▴0
0▴▴▴0
00000

Output:
00000
0▴▴▴▴
0▴▴▴▴
0▴▴▴▴
0▴▴▴▴

note to self:

fix by storing eroded data in array
make test cases

Since this hasn't been worked on in a year I'm going to close this PR. Feel free to open another if you figure it out!

Hello is there a plugin for erode / dilatation ?


Add --no-exsync flag

Exsync is a great option for fast iteration and beginners, but it's not without faults and can lead to some weird problems during development of non-trivial apps.
The aim of this issue would be to have a flag for opting out of exsync when generating the project.
An alternative would be to only reload modules in the project that are safe to reload (router, controllers), but that might be harder to implement and come with assumptions of its own.

Will be part of https://github.com/CrowdHailer/raxx_kit/pull/71

released https://hex.pm/packages/raxx_kit/0.8.0


FileNotFoundError ignored when working directory is missing

When multiple jobs are submitted to the local queue and then deleted, a missing working directory causes FileNotFound exception when the process is spawned.
The exception is silently ignored and the worker handling this job is stopped without warning.

Use
loop.run_until_complete(asyncio.gather(*self.workers, self.server))

instead of
loop.run_forever()

to propagate all exceptions and cause the explicit error in the main thread

Surround asyncio.create_subprocess_shell with try ... except block, create master thread which manages and restarts interrupted workers or use semaphores and spawn a new worker for each job instead of having worker pool

Using the pool you don't use the main feature as asyncio where is shines -- little to no overhead when creating new threads. With asyncio you should spawn short-lived gthreads instead of reusing them.
Additionally, having one worker per job makes cancelling/stopping easier.


This fix the issues #3900 and #5051 to make No-ip round robin DNS works.

The paramater "&hostname" should be changed to "&h[]"
I think this affect only NO-IP DNS that uses round robin. Anyway the no-ip official client uses the "&h[]" parameter.
There's also a change to Dynamic DNS hostname allow '@' character (bug #3900).

PR #1914 has a generic fix for<EMAIL_ADDRESS>and '*.' in hostnames... As noted there, these overly restrictive input checks cause just periodic breakage, maintainance burder and are no good with this perpetually changing stuff. E.g., the NameCheap thing is yet again broken with wildcards, see https://redmine.pfsense.org/issues/3568#note-6

@tiagobar Since my resubmit was not acceptable due to authorship, you can either take that code from my PR referenced above and resubmit this yourself (it will probably only keep working for a couple of days at best before there's another bunch of conflicts), or live with the bug in pfSense code.
There is also a forwardport of the code to master in PR #1914, feel free to resubmit that as well.
Nothing more I could do here, sorry for the waste of your time.
Have a nice day.

@tiagobar in order to have patches accepted, you must sign a CLA as described at https://www.pfsense.org/about-pfsense/#legal

@tiagobar could you please update for master for 2.3 and re-submit? Then I'll make sure this gets included for 2.3.


nativerdf: id must be larger than 0, is: 0 (again)

(Migrated from https://openrdf.atlassian.net/browse/SES-701)
This issue sounds similar to http://www.openrdf.org/issues/browse/SES-631 and to http://www.openrdf.org/issues/browse/SES-550 we are not able to reproduce it, it happens in the wild. We did not have the issue for the last two years of using previous sesame versions, our software didn't change too much. It may be related to changes done in sesame 2.3.0. here is the stacktrace: SCHWERWIEGEND: Encountered an unexpected problem while trying to add a statement java.lang.IllegalArgumentException: id must be larger than 0, is: 0 at org.openrdf.sail.nativerdf.btree.BTree.readNode(BTree.java:1210) at org.openrdf.sail.nativerdf.btree.BTree.access$700(BTree.java:45) at org.openrdf.sail.nativerdf.btree.BTree$Node.getChildNode(BTree.java:1543) at org.openrdf.sail.nativerdf.btree.AllocatedNodesList.crawlAllocatedNodes(AllocatedNodesList.java:279) at org.openrdf.sail.nativerdf.btree.AllocatedNodesList.crawlAllocatedNodes(AllocatedNodesList.java:279) at org.openrdf.sail.nativerdf.btree.AllocatedNodesList.crawlAllocatedNodes(AllocatedNodesList.java:279) at org.openrdf.sail.nativerdf.btree.AllocatedNodesList.crawlAllocatedNodes(AllocatedNodesList.java:265) at org.openrdf.sail.nativerdf.btree.AllocatedNodesList.initAllocatedNodes(AllocatedNodesList.java:227) at org.openrdf.sail.nativerdf.btree.AllocatedNodesList.allocateNode(AllocatedNodesList.java:181) at org.openrdf.sail.nativerdf.btree.BTree.createNewNode(BTree.java:1179) at org.openrdf.sail.nativerdf.btree.BTree.insertInNode(BTree.java:925) at org.openrdf.sail.nativerdf.btree.BTree.insertInTree(BTree.java:896) at org.openrdf.sail.nativerdf.btree.BTree.insertInTree(BTree.java:902) at org.openrdf.sail.nativerdf.btree.BTree.insertInTree(BTree.java:902) at org.openrdf.sail.nativerdf.btree.BTree.insertInTree(BTree.java:902) at org.openrdf.sail.nativerdf.btree.BTree.insert(BTree.java:843) at org.openrdf.sail.nativerdf.TripleStore.storeTriple(TripleStore.java:720) at org.openrdf.sail.nativerdf.NativeStoreConnection.addStatement(NativeStoreConnection.java:393) at org.openrdf.sail.nativerdf.NativeStoreConnection.addStatementInternal(NativeStoreConnection.java:346) at org.openrdf.sail.helpers.SailConnectionBase.addStatement(SailConnectionBase.java:331) at org.openrdf.sail.helpers.SailConnectionWrapper.addStatement(SailConnectionWrapper.java:124) at org.semanticdesktop.nepomuk.comp.rdfrepository.crappyinferencer.CrappyInferencingConnection.addStatement CrappyInferencingConnection.java:286) at org.openrdf.sail.helpers.SailConnectionWrapper.addStatement(SailConnectionWrapper.java:124) at org.openrdf.sail.lucene.LuceneSailConnection.addStatement(LuceneSailConnection.java:136) at org.openrdf.sail.helpers.SailConnectionWrapper.addStatement(SailConnectionWrapper.java:124) at org.semanticdesktop.nepomuk.comp.rdfrepository.synchronizedsail.SynchonizedSailConnection.addStatement(SynchonizedSailConnection.java:57) at org.openrdf.repository.sail.SailRepositoryConnection.addWithoutCommit(SailRepositoryConnection.java:228) at org.openrdf.repository.base.RepositoryConnectionBase.addWithoutCommit(RepositoryConnectionBase.java:547) at org.openrdf.repository.base.RepositoryConnectionBase.add(RepositoryConnectionBase.java:447) at org.openrdf.rdf2go.RepositoryModelSet.update(RepositoryModelSet.java:1097) at org.semanticdesktop.nepomuk.comp.pimoservice.client.DiffModelSet.commit(DiffModelSet.java:740) at org.semanticdesktop.nepomuk.comp.pimoservice.client.ClientSession.commit(ClientSession.java:1026) at org.semanticdesktop.nepomuk.psew.pimo.editors.PimoEditorSWT$PimoEditorSavingJob.run(PimoEditorSWT.java:165) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Very old, have not seen this since in the wild, assuming fixed subsequently by other improvements to native store.


"searchUserByPhoneNumber" Method Returns 404 on Production Server

I'm using TDLib in a .NET application. On my local machine, the searchUserByPhoneNumber method works as expected and successfully finds the user. However, when deployed to the production server, the same method returns a 404 error.
Has anyone encountered this issue? Does the Telegram API have any rate limits or restrictions that might cause this behavior?

This is intended behavior. Server may not return the user if it isn't in your contact list.

@levlam Thanks. you mean it may vary from devices or phone numbers? because as I said it works and returns data on my local machine..

It definitely can.


Multiple Transaction_pool.apply calls may race, losing transactions

Transaction_pool.apply may yield to the async scheduler before or between applying transactions. In particular, this means that 2 or more calls may race such that the last to finish is the only one whose transactions are stored in the final pool.
Sample run:

thread 1 captures the current contents of the pool (P)
thread 1 applies a transaction its copy of the pool (P+txn1)
thread 1 yields to the async scheduler
thread 2 is scheduled and also captures the current contents of the pool (P)
thread 2 applies a transaction to its copy of the pool (P+txn2)
thread 2 yields to the scheduler (or not, we have a race either way)
thread 1 writes its updated pool to the shared reference (P+txn1)
thread 1 finishes or yields to the scheduler
thread 2 also writes its updated pool to the shared reference (P+txn2)

The final pool is P+txn2; the transaction(s) from thread 1 are lost due to the race. We should use some kind of locking to avoid races in writes to the pool.

Proposed fix: write to the pool before every async yield, read the pool back after.

!approved-for-mainnet


Media Lesson: Multiple Choice Question with no correct answers

If you add a multiple choice and don't indicate a correct answer then you get no feedback and if controls are disabled then they never come back.

I haven't changed the feedback side of this (not sure what we would want it to say if no feedback was added by author) but the controls will now be enabled if there's no answer that can be given that would enable them automatically.

That should be fine Fay... People should test their own LOs before deployment anyway but we have had an issue here with students sitting online tests that haven't even been tested by academics and that can't actually be completed... d'oh


Bug fix: Add support for torch ops on TensorColumn

This PR adds support for torch.XX ops:

[x] Support standard prototypical tensor ops (sum, cat, stack, etc.)
[x] Support arguments where tensors are wrapped in container structures (lists, tuples, dicts)
[x] Support outputs where tensors are wrapped in container structures (lists, tuples, dicts)

Resolves #47

Codecov Report

Merging #49 (20f3a70) into dev (b4103a6) will decrease coverage by 0.51%.
The diff coverage is 76.00%.

@@            Coverage Diff             @@
##              dev      #49      +/-   ##
==========================================
- Coverage   63.27%   62.76%   -0.52%
==========================================
  Files          46       46
  Lines        2437     2390      -47
  Branches      433      443      +10
==========================================
- Hits         1542     1500      -42
+ Misses        784      777       -7
- Partials      111      113       +2

Flag
Coverage Δ

unittests
62.76% <76.00%> (-0.52%)
:arrow_down:

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

Impacted Files
Coverage Δ

mosaic/columns/tensor_column.py
83.63% <71.42%> (+3.42%)
:arrow_up:

mosaic/columns/prediction_column.py
76.69% <100.00%> (+0.46%)
:arrow_up:

mosaic/tools/identifier.py
42.30% <0.00%> (-4.76%)
:arrow_down:

mosaic/mixins/identifier.py
77.77% <0.00%> (-4.05%)
:arrow_down:

mosaic/cells/abstract.py
64.28% <0.00%> (-3.46%)
:arrow_down:

mosaic/columns/spacy_column.py
48.07% <0.00%> (-2.84%)
:arrow_down:

mosaic/mixins/collate.py
75.00% <0.00%> (-2.78%)
:arrow_down:

mosaic/cells/spacy.py
44.44% <0.00%> (-1.99%)
:arrow_down:

mosaic/columns/list_column.py
81.25% <0.00%> (-1.61%)
:arrow_down:

mosaic/cells/imagepath.py
79.16% <0.00%> (-1.61%)
:arrow_down:

... and 15 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 b4103a6...20f3a70. Read the comment docs.


Add a Running section to the readme that provides info about multi-gpu setups

It wasn't clear to me that there were command line options in the examples, or that the gpu that is used could be selected. I have an integrated internal gpu and a discrete external gpu, but for all the examples (most irritatingly the ray tracing ones) the internal gpu is selected by default.
I'm happy to change these changes in any way you see fit.

That looks great. Thank you very much for your PR.


Fixing issue #2

Changes made

Changes asked in #2
Switched to TabBarView rather than the makeshift BottomNavigationBar solution in the HomePage widget
Added versions to the pubspec.yaml wherever they were missing

How does the solution address the problem
HTTP requests to the github.com API.
Linked issues
Resolves #2

Great Job @meta-boy.


@2.4.0 -<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>1:
0.0%

Covered Lines:
48

Relevant Lines:
48

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>1:
0.0%

Covered Lines:
48

Relevant Lines:
48

💛  - Coveralls


Expose WriteOptions

Hi.
I needed the option for synchronous writes on a recent project, so I've exposed a WriteOptions type, along with variants of DB#put, etc that accept that type.
I'm not quite sure what you're after in terms of testing, so if you could clarify that, that'd be great.
Thanks,

@cstorey thank you for adding this! I just merged an earlier PR that reformatted some things that are causing conflict, and I will merge this PR as soon as they are resolved.

Thanks; I've applied the same formatting to my branch.

LGTM, thank you for this contribution!

Thanks.


Feature Request: A dashboard component

Lots of applications need a dashboard as a container for multiple widgets. There are some open source implementation for react, like: dazzle, etc. IBM IoT Maximo group developed a UI library called lightning, which has a dashboard container. But that library does not support react.

Hi @guoweihua! 👋 Since this is a feature request, could you fill out the feature request issue template please? You should have seen it when making a new issue here: https://github.com/IBM/carbon-components-react/issues/new?template=feature-request.md Thanks!


Range Facet supporting Multiple Ranges per Facet

e.g. select young and old ranges for age.
┆Issue Number: HCAB-62

Superseded by #310.


enhance change report

change presentation of differences (green for added, red for deleted objects/rules)
enable export (without catching further data, also for statistics report)
remove global search field

may fix second topic of #886. Maybe a more general solution for Datetime parameter can be found in a following step


Typescript -- spread operator doesn't work

I regularly bootstrap my project by doing the following:
bootstrap(MyAppComponent, [
   ...ROUTER_PROVIDERS
]);

Which gives the following on the meteor repl:

client/app.ts (45, 6): Type '{}' is not an array type.

But everything *seems* to be working fine.  Do you know what the source of these warnings/errors are and how to make them go away?

My problem is with a non-trivial project that I've tried to port over to Angular2 + Meteor 1.3, I get *tons* and *tons* of errors.  So I picked everything apart and started building the app from the ground up, so I can take care of warnings/errors one at a time.

Thanks.

Marking this one as closed, I got around it by removing the spread operator for now (this is more of a typescript/typescript config problem, and less of a you problem).
Thanks,


[BUG] Remote Connection Fails to Reconnect When Remote Cluster is Restarted.

Describe the bug

Creating remote cluster connection

PUT _cluster/settings
{
  "persistent": {
    "cluster": {
      "remote": {
        "my-connection-alias": {
          "seeds": ["my-opensearch-domain/service:port"]
        }
      }
    }
  }
}

After creation, remote status shows its connected,
Restart remote cluster (prod) and check the remote connection status, you will see that its not connected.

Kindly advise if I am missing something here for such configuration, because in case of a cluster restart, the cross cluster replication stops, and in such case we need to recreate the remote connection since the previous one does not try to reconnect again, and re-initiate the cross-cluster replication (whether it was single index or with autofollow)
Thank you.
Related component
Indexing:Replication
To Reproduce
1- create prod and dr opensearch clusters
2- create remote cluster connection from dr site .
PUT _cluster/settings
{
  "persistent": {
    "cluster": {
      "remote": {
        "my-connection-alias": {
          "seeds": ["my-opensearch-domain/service:port"]
        }
      }
    }
  }
}

3- restart prod site and check the status of the remote connection from the dr site.
GET _remote/info

Expected behavior

Expected behavior that remote connection from DR to PROD site should try to reconnect every specific time.

I am not sure if this is configurable currently , as I checked the documentation settings for remote connection or cross-site replication and did not find configuration related to this case.

Replication settings

Additional Details

opensearch deployed in kubernetes.
both prod and dr opensearch clusters version is 2.11.1

@opensearch-project/engineering-effectiveness Can you help move this issue to github.com/opensearch-project/cross-cluster-replication?

@ankitkala Do you mind taking a look at this?

@ankitkala
when you say address, do you mean pods IP addresses ?

@ankitkala
when you say address, do you mean pods IP addresses ?

I'm talking about the address you've used as seed nodes. In this case, yes, I think it's pod's address.

@ankitkala
The address (domain) is the same and not changed, at least it should recheck again using the same kubernetes service name.
Am I correct ?

@ankitkala
Yes, I have already tried to use it, but my issue is that when restarting the cluster, the replication is paused, and I have to re-creat a new remote connection in order to trigger/resume the replication again.
I know that I can create another remote connection and trigger it again, but the case is that the engine should retry to connect to the production cluster without the need of creating another remote connection and trigger/resume the replication again
Thank you.

I will reproduce the scenario with the requested stack trace and status you required as soon as possible.

Thank you.


Metamask's gas estimates/defaults are sometimes too low.

Metamask and web3's default gas sent values change from release to release. What worked before can be too low later.
We'll set a default gas amount of 50,000 for origin.js transactions. (This is about 10 cents USD at current gas prices.)
As before, and individual origin.js API contract transactions can set their own gas amounts to be sent.
First pull request? Read our guide to contributing
Checklist:

[x] Code contains relevant tests for the problem you are solving
[x] Ensure all new and existing tests pass
[x] Update any relevant READMEs and docs
[x] Submit to the develop branch instead of master

Tests failed on code formatting. Looks good other than that.

The test issues were already in the develop branch - I opened a PR to fix them: https://github.com/OriginProtocol/origin-js/pull/120


Storage management design

Signed-off-by: Shlomit Koyfman<EMAIL_ADDRESS>HLD of storage management in Fybrik

Today datashim is not installed as part of the fybrik installation.  Shouldn't any dependencies of the storage manager should be installed together with the control plane?


Added VSCode 2 Slack.

Name of an extension you are adding
VSCode 2 Slack
...
Why do you think this extension is awesome?
Sends messages and files, as yourself including your username and avatar, to users, channels, and groups with full editing capabilities in Slack. Supports multiple Slack workspaces.
...
Make sure that:

[x] Screenshot/GIF included (to demonstrate the plugin functionality)
[x] ToC updated

I'm going to close this given we already have a Slack extension in the list that has similar functionality to this.


Update tax functional forms to Cobb-Douglas

This PR updates the functional forms for the effective tax rates (ETR), marginal tax rates on labor income (MTRx), and marginal tax rates on capital income (MTRy). The development of this PR is documented in issue #234.
The Cobb-Douglas functional form that we use for estimating ETR, MTRx, and MTRy for each age and year is the following:

This PR also corrects a small error that was causing big problems. The wage (w) and savings (b) arguments were transposed in the tax.MTR_labor() function call in line 392 of household.py.

This is a big improvement - allowing the use of flexible tax functions.  I say we merge this PR now, but note that we are not ready to deploy a new OG-USA on Tax Brain until we've done some more testing.  In particular, we need to do some distributional analysis to see that our model represents filers in each bracket.  Fixing any issues there will be a calibration exercise and should be addressed in a separate PR.

@rickecon @jdebacker the solution here is that this file:
Python/test_data/puf91taxdata.csv.gz

must be updated to what is in Tax-Calculator master.

the idea is that we want to use the latest Tax-Calculator and see if there are problems. The downside is that we have to periodically update this file to keep in sync with what's happening in Tax-Calculator. somewhat burdensome but I think worth it so we know of problems ahead of time.

I cannot find an updated
Python/test_data/puf91taxdata.csv.gz
in the Tax-Calculator master. I just fetched and merged it to my fork a half hour ago.

OK. I think I found it in the <Tax-Calculator/taxcalc/altdata> folder


Release of ghc-9.6 ready version on hackage?

Just asking because we still have the package disabled on stackage nightly build.
"Yorick Laupa<EMAIL_ADDRESS>@YoEight":
- eventstore < 0 # 1.4.3 https://github.com/commercialhaskell/stackage/issues/7075
So I guess a new release should be made to be able to re-enable the package - or we could remove the package entirely from the build-constraints file.

Hey @alaendle, thanks for reaching out. I think it's safe for you to remove the package entirely. I wasn't able to keep up with all the changes that stackage asked a couple of year ago. Mostly likely, I'm going to build with Nix.


[Bug] Typescript suggestion on VSCode

Current Behavior
Suggestions on props space are not all corrects.
I have got : "$-number" instead of only "$number"

Expected Behavior
Get only the right values for the concerned props
Tamagui Version
1.16.4

Reproduction
const config = createTamagui({
  tokens,
  shorthands,
  themes
});

export type AppConfig = typeof config;

declare module 'tamagui' {
  // overrides TamaguiCustomConfig so your custom types
  // work everywhere you import `tamagui`
  interface TamaguiCustomConfig extends AppConfig {}
}

export default config;

<YStack space='$-12'>

System Info
No response

they are correct I believe: https://tamagui.dev/docs/intro/tokens
also, there is gap now built in to RN that can be used instead of space

Oh, my bad... i didn't notice that it was a negative value... Thanks for your answer 👍


Remove Guava and use JUnit assert

As described in issue #168, I removed the dependency from Guava library in order to use Collections.unmodifiableMap from the standard library. The last test case is longer than before, but at least now all the test cases are written coherently and so they are easier to understand.
Also, I noticed that this exercise was using the Guava assertions assertJ. So I removed it and used the standard assertEquals from JUnit (though, I could have used the Hamcrest library for the assertThat, or the assertThat from JUnit + a matcher from Hamcrest. Let me know if you prefer that way for the assertion instead of the standard assertEqual).

Done.

Done. Sorry!

awesome! Thanks @jtigger


TDLib as Dependency for Java

Hi,
I am not a very experienced Programmer and as a result I am having a hard time using the Telegram API. Isn't it possible to just import TDLib as a dependency for example for Java through Maven or some other dependency manager?
If not then how can I use the built API for my Custom Application?
I have successfully managed to build/create a Java Project by following the steps from the instructions generator. But I do not know how to move on from here. Thanks in advance

TDLib is a native library and hence it can be used from Java through JNI. TDLib provides the JNI wrapper, so you just need to add TdApi.java and Client.java in the appropriate package to source code of your project, and place tdjni shared object in the place from which it can be loaded by System.loadLibrary("tdjni").

Is it possible to give a step by step process using maybe bullet points? or something similar that is easy for inexperienced programmers such as myself?
And how would the steps look like if I modified the telegram class? I read somewhere that I would need to recompile or something...
Basically my goal is to scrape telegram messages from a public group. i am sure I can figure that out by myself though, if I manage to make the library work in the first place. Thanks

Step-by-step instruction is available at https://github.com/tdlib/td/blob/master/example/java/README.md.


Renders A6000 unusable

Hi!
I installed and started your app and experience a severe issue now!
After starting the app and trying to change some settings, the camera started just showing the preview. No buttons react anymore, not even the on/off switch. I had to remove the battery. When I reinsert the battery again, nothing changed/still the same issue.
I right now have an unusable camera, and I hope that after some time(this night) without battery it will hopefully start working again!
Would be nice if you could have a look at this issue + some tips.
BMANUAL.TXT

Ok. A LONG press on trash got me free again. But that was scary :/

@obsidium:
I can confirm the same behavior on nex6 since v1.1.. version 1.2 also hás this issue.
The 1.0 version worked fine and an adapted by me version of yours 1.1 works too, but yet did not figure what is the issue.
Tomorrow will compare the versions to figure out.

Apps can lock up the camera, but I don't think they can cause actual, lasting damage.
Weird that your A6000 doesn't support the auto power off function. Which firmware version are you using?

Please give version 1.3 a try.


Setup failed for htd_mc: Unable to import component: cannot import name 'Dict' from 'homeassistant.helpers.typing' (/usr/src/homeassistant/homeassistant/helpers/typing.py)

With Home Assistant 2022.2.2, the integration is breaking with an error on reboot/restart:
Setup failed for htd_mc: Unable to import component: cannot import name 'Dict' from 'homeassistant.helpers.typing' (/usr/src/homeassistant/homeassistant/helpers/typing.py)
Based on the commits, it appears this has been removed from the typing module: https://github.com/home-assistant/core/commit/d3b7bd25ef21e006e4f848f807a79f1573caace6#diff-04ffa15896003585ef538fdf75493426e3ca86537e60e24669c3b472efc3cfd0.
Simply removing the Dict import will correct the issue:
__init__.py
"""Support for Home Theatre Direct's MC series"""
import voluptuous as vol

from homeassistant.core import HomeAssistant
from homeassistant.helpers import config_validation as cv, discovery
from homeassistant.const import CONF_HOST, CONF_PORT, CONF_PASSWORD, CONF_USERNAME
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.typing import ConfigType #, Dict

@BrentIO I see you posted this 17 minutes ago....literally just ran into this myself at exactly the same time after an HA upgrade and came here for help. Thank you!

Seeing the same.
    - Component error: htd_mc - cannot import name 'Dict' from 'homeassistant.helpers.typing' (/usr/local/lib/python3.9/site-packages/homeassistant/helpers/typing.py)

I just updated my HomeAssistant OS and Core. I am seeing the error above. I commented out that line importing the Dict.
But now I am getting this error

Any ideas how to resolve this?

@roechas I don’t think you commented out the correct thing, or you also have a configuration issue in addition to this problem. I just upgraded to 2022.3.6 and it continues to work for me using this commented out change. I don’t see anything in my logs and my configuration is still valid.
Please paste the first 10 lines of your init.py file from the mtc folder.

[image: image.png]
I appreciate your response. I am really not sure what's going on. It was
working fine before I updated the OS.
On Wed, Mar 23, 2022 at 3:54 AM BrentIO @.***> wrote:

@roechas https://github.com/roechas I don’t think you commented out the
correct thing, or you also have a configuration issue in addition to this
problem. I just upgraded to 2022.3.6 and it continues to work for me using
this commented out change. I don’t see anything in my logs and my
configuration is still valid.
Please paste the first 10 lines of your init.py file from the mtc
folder.
—
Reply to this email directly, view it on GitHub
https://github.com/hikirsch/htd_mc-home-assistant/issues/4#issuecomment-1076107299,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEK2FUO2E3E4L3KF2DFEV3TVBLL2ZANCNFSM5NVPFWTQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

[image: image.png] I appreciate your response. I am really not sure what's going on. It was working fine before I updated the OS.
…

I don’t see an image attached.

Yep — you commented out the entire line, which is the problem. Uncomment the last like and comment out just the , dict at the end.  See my example at the top. They should remove your errors and fix the problem as well.

Awesome! That did fix it. Its working now.
THANK YOU!

i'm really sorry guys this took me forever to remove officially that it really should, PR has been merged thanks for letting me know!


Fill out support for calls to non-decl values

The existing compiler logic has a few places (semantic checking plus AST-to-IR lowering) where it assumes that function calls (InvokeExpr) are only ever made to expressions that resolve to a specific Decl (DeclRefExpr). This assumption allows semantic checking and lowering code to inspect things like the parameter list of an actual declaration, rather than just the type signature of the callee, and that infrastructure is used to support various features (e.g., default argument values on parameters).
The AST and IR representations themselves have no matching requirement, and the places where the more general case of call expressions would need to be supported were relatively clear in the code. This change attempts to add suitable logic into each of those places.
Note that this change does not surface any valid way to form input code that would cause these new code paths to be executed, so it is entirely possible that there are bugs in the logic as written here. The primary goal of this change is simply to get a sketch of the correct code checked in so that we have something to build on once we have language features that will require this support.

Closing as this is subsumed by #2292


Internet search network errors

After encountering any errors (I personally saw 404 and 403) while connecting to hosts from search results page-assist stops and does not perform embeddings even for successful connections. Three suggestions for you:

Complain about an error in UI
skip failed sites
connect to sites in parallel

Hey, thanks for the suggestions! I'll add them. Also, which search engine did you try?

Every available. (Some of them download unnecessary css files)

You’re not using 'Perform Simple Internet Search,' right?

Yep.

Also I cannot understand how embeddings are used. And there is no documentation in ollama sources.
Is it just a call to /embeddings endpoint and then /chat which implicitly has the embeddings now?


Band-pass frequencies

Reduce high frequencies to reduce noise, and low frequencies to reduce influence of uneven illumination. Do it in Fourier space. Possibly ignore the highest frequencies entirely by cropping.

Related:
https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Filtering/ImageFrequency/include/itkFrequencyBandImageFilter.h
https://github.com/KitwareMedical/ITKUltrasound/blob/master/include/itkButterworthBandpass1DFilterFunction.h

A fancier band-pass filtering (e.g. Butterworth) should be enabled when this is merged: https://github.com/InsightSoftwareConsortium/ITK/pull/149


New feature: IceConnectionStateChangeListener

It is sometimes useful to listen to "oniceconnectionstatechange" events from the application layer, for instance to highlight firewall issues to the user.
We have added some code to easyrtc that allows us to listen to those events, patch against 1.0.13-beta below. May be this is useful to others too.
227a228
>     var iceConnectionStateChangeListener = null;
262a264,275
>
>    /**
> 	 * Sets a function that listens on IceConnectionStateChange events.
> 	 *
> 	 * During ICE negotiation the peer connection fires the iceconnectionstatechange event.
> 	 * It is sometimes useful for the application to learn about these changes, especially if the ICE connection fails.
> 	 * The function should accept two parameters: the easyrtc id of the peer and the iceconnectionstatechange event target.
> 	 * @param {Function} listener
> 	 */
> 	this.setIceConnectionStateChangeListener = function(listener) {
> 		iceConnectionStateChangeListener = listener;
> 	}
3612a3626,3630
>             pc.oniceconnectionstatechange = function(ev) {
> 				if (iceConnectionStateChangeListener) {
> 					iceConnectionStateChangeListener(otherUser, ev.target);
> 				}
> 			};

More information about the event:
https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/oniceconnectionstatechange

@fbeauchamp Will consider merging for 1.0.16.


Compiler (v20180402) produces invalid JS.

When compiling the following code:
const funcGetter = a => {
  const funcs = {
    'a': () => true,
    'b': () => false
  };
  return funcs[a] || undefined;
};
funcGetter('a');

with this compiler options:
java -jar node_modules/google-closure-compiler/compiler.jar --language_in=ES6_Strict --language_out=ES6_Strict --compilation_level=SIMPLE err.js
it produces this output:
'use strict';const funcGetter=(a)=>{a:()=>!0,b:()=>!1}[a]||void 0;funcGetter("a");
which is in fact not valid.
In my view, the valid version of this output should be:
'use strict';const funcGetter=(a)=>({a:()=>!0,b:()=>!1}[a]||void 0);funcGetter("a");
Is this a bug, or am I doing something wrong?
I am using compiler v20180402

Working on a fix in the code printer.
Object pattern assignments in an arrow function body also lack parentheses, e.g.
var fn = () => ({a} = obj);

becomes
var fn = () => {a} = {}; // syntax error

https://closure-compiler-debugger.appspot.com/#input0%3Dvar%2520a%253B%250Avar%2520fn%2520%253D%2520()%2520%253D%253E%2520(%257Ba%257D%2520%253D%2520%257B%257D)%253B%26input1%26conformanceConfig%26externs%26refasterjs-template%26CHECK_SYMBOLS%3Dtrue%26MISSING_PROPERTIES%3Dtrue%26CHECK_TYPES%3Dtrue%26CLOSURE_PASS%3Dtrue%26PRESERVE_TYPE_ANNOTATIONS%3Dtrue%26PRETTY_PRINT%3Dtrue

Submitted a fix internally.


[staticcheck] filter go-zero  custom tag

PR using test : https://github.com/qbox/jarvis/pull/7154/files
test logs:

see another fix #112


Screenshots

Alexander has taken some cool screenshots! Time to update the 'Screenshots' page.

Done.


Persistent Touch ID Keychain and Passcode on Uninstall

Hi,
When i setup the Passcode/Touch ID successfully and then uninstall the app, when i do install it again the Passcode/Touch ID is already set up !
How can i remove the keychain before uninstalling the app ?
Or any other solution for this behavior.....

Thanks @dpopov.
Indeed the Keychain stays around and if desired has to be removed manually. The user defaults on the other hand will be removed (sometimes on the Simulator I've experienced them staying around though). So by having a flag inside the user defaults you can detect if it's a fresh install.


Docker compose start with selected service

Hello there, I wonder if we could run the docker container based on a docker compose file, but only run the selected service inside it? like doing this command docker-compose up [service_name], is there any method can support that?
Currently we're using:
import testcontainers.compose
compose = testcontainers.compose.DockerCompose(COMPOSE_PATH)
compose.start()

But it will start all the services, but we just want to start selected services.
Thanks!!

Yes, that should be possible in principle by modifying the start function. Contributions welcome!
https://github.com/testcontainers/testcontainers-python/blob/6371c83fb1d390070132e50271830b31db6ea14e/compose/testcontainers/compose/__init__.py#L101-L113.

@tillahoffmann I'd be interested in picking this up, just the matter of fitting it into my usual duties at the company I work for.
Having said that, a simple "services" component should be a no-brainer! Expect a PR soon! :)


Wont compile on windows (x64)

Tried compiling the source on windows and it fails on a crate, I’ll leave the error logs here below
What rustup toolkit / gcc target architecture should I use to build this? Thanks
==== error below =====
The following warnings were emitted during compilation:
warning<EMAIL_ADDRESS>crypto/curve25519/curve25519.c:1:0: sorry, unimplemented: 64-bit mode not compiled in
warning<EMAIL_ADDRESS> /* Copyright (c) 2020, Google Inc.

I don't have a Windows to test this but our CI compiles on x86_64-pc-windows-msvc. Which exact command did you run to compile?

@encloinc I just built on windows from commit abd7f6cc00ada499fc3b7ee2e80423bfafea5c3e
I just installed rust from here and it worked fine.
https://www.rust-lang.org/tools/install


Syntax highlighting is incorrect on Groovy slash delimited strings (regex strings) that end with a *

Does this issue occur when all extensions are disabled?: Yes/No
Yes

VS Code Version: 1.80.1
OS Version: Windows_NT x64 10.0.22621

Steps to Reproduce:

Create a new text file and select Groovy as the language
Enter the following line of code String test = /.*/
Note the * appears in a different highlight colour than the .

See the following screenshots for the incorrect and expected highlighting
VSCode (incorrect):

Sublime (correct):

Sublime correctly colours a trailing * as part of the string while VS code colours a trailing * as part of the enclosing / / delimiter.
The above example is minimal, but it is much more obvious with more complex regex strings
e.g.

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.80.2. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

I know this isn't the same issue as described in https://github.com/microsoft/vscode/issues/145097, but that's the issue we're using for considering a new Groovy grammar. Duping to that issue so that we don't lose track of Groovy grammar issues.


key word 'new' in template will cause a format bug

Was just about to say you are using vue wrong...Seems you found it out yourself :-)

Sorry, my fault.


Unable to use ref_model=None with DPOTrainer

Hi,
While trying to run DPO with ref_model=None (PR #640), I ran into a couple of issues.
Following the Stack-Llama-2 example, dpo_llama2.py runs ok with all the default settings. However, this example loads the active and ref model separately and passes both to the DPOTrainer.
If I understand correctly, setting ref_model=None, should avoid copying the model and instead disable the adapters to compute the reference model score. But it seems like this check consistently fails and the model gets copied in any case. This also produces the following warning with no updates to the loss:
 UserWarning: None of the inputs have requires_grad=True. Gradients will be None
  warnings.warn("None of the inputs have requires_grad=True. Gradients will be None")

To reproduce, replace https://github.com/huggingface/trl/blob/d3bbee3ab84d4d5dcb413003bf93541df5b4e54c/examples/research_projects/stack_llama_2/scripts/dpo_llama2.py#L141C5-L146C6 with model_ref=None.

Libraries:
accelerate               0.21.0
bitsandbytes             0.41.1
peft                     0.5.0
torch                    2.0.1
torchvision              0.15.2
transformers             4.33.0.dev0
trl                      0.6.1.dev0

Any insights on this would be greatly appreciated!

Hi @tannonk
Thanks for the issue,
I am suspecting the model does not set the input to requires_grad=True as expected, can you try to call:

@tannonk so i can do the PR now if that is ok?

Hi @tannonk , now the fix is on main, can you try to re-install TRL from source? 🙏


Branch protection not enabled if you open a subfolder of git repo

Type: Bug

For a repo with a branch protection (such as the vscode repo)
Open a subfolder of the repo as your workspace

Bug
Branch protection doesn't apply
I understand this happens because the git.branchProtection workspace settings are not picked up from the parent folder, but it still feels unexpected
VS Code version: Code - Insiders 1.70.0-insider (Universal) (62469028a6dce9db5b7c4639be7f447f4ab0e35c, 2022-07-21T05:17:20.056Z)
OS version: Darwin x64 21.5.0
Modes:

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (16 x 2400)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
5, 4, 3

Memory (System)
32.00GB (0.03GB free)

Process Argv
--crash-reporter-id 48781ca2-1705-4f64-9bab-325055aab55d

Screen Reader
no

VM
0%

While this is indeed annoying, my understanding is that VS Code core does not have the possibility to expose the workspace setting when a subfolder of the workspace is being opened. I will close this issue for now, but I will continue to explore options to see if this is something that we can improve upon.


Update _index.md

Change - to _ in kubeconfig export command
Silly simple change but might save someone frustration! :)

Created this PR to clarify the filename.
https://github.com/rancher/docs/pull/821


If dragging nerd tree width, new width not remembered in new tab.

If you resize the nerd side bar by dragging it, then when you open a new tab, its width is not remembered.

You didn't actually close this. ;)


What about auto adding file header?

It is common to add header like :
file header by ext
#!/usr/bin/env python
# -*- coding: utf-8 -*-

auther info
# @Author: mithril
# @Date:   2015-12-08 13:17:04
# @Last Modified by:   mithril
# @Last Modified time: 2015-12-08 13:17:04

It would be much more convenient if you provide such function.
Accutally I rarely use command line and mainlly use a ide, I just try to learn how to use vim and try to find a substitude of sublime in command mode.

@eromoe you could probably setup vim-snippets to do this trick, ref:
https://github.com/honza/vim-snippets


Namespace offloading initialisation window

What happened:
The creation of a liqo/enabled labeled namespace and a rapid creation of a pod in it with a node selector to match remote node only, will give us a forever pending pod. The pod cannot be scheduled on local nodes for the label selector and it cannot tolerate the virtual node taint.
What you expected to happen:
The pod creation is refused until the namespace configuration is completed. If a namespace has the liqo/enabled label, but there is still no NamespaceOffloading resource, it would not be possible to create pods.
How to reproduce it (as minimally and precisely as possible):
Apply a file containing both the labeled namespace and the pod, observe that the pod will keep in pending state.
Environment:

Liqo version: v0.3.0
Cloud provider or hardware configuration: kind
Install tools: liqoctl

Closing, as this limitation is intrinsic in the adopted approach, and a solution to address the problem (i.e., the addition of an appropriate label to the namespace at creation time) has been described in the documentation: https://docs.liqo.io/en/v0.5.2/usage/namespace-offloading.html#offloading-a-namespace


GetActions: Proxy Transport request to an extension

Transport request landing up on ExtensionsOrchestrator will proxy the request to SDK
SDK to understand the transport action request and respond.

Hey @saratvemulapalli! Thanks for the PR for this issue. Should we add more details in this issue to address the work? This will help to review the PR?

@saratvemulapalli does my issue #152 duplicate this functionality?

#152
@dbwiddis looks like we need the same framework which we've built for transport actions.
Probably we'd want to make it generic. I can take this up after the priority issues are taken care of.


Evaluation scripts that calculate accuracy of performance on ChartQA

Hello team, I want to know did you open source the scripts that calculate model accuracy / score on ChartQA, as you mentioned in the paper, i.e. relaxed accuracy.
In other words, I want to know exactly how to calculate the scores in Tab. 2:

Looking forward to your response, thanks!

This should work.
import os
import json
import argparse

parser = argparse.ArgumentParser()
parser.add_argument("--prediction", type=str, required=True)
parser.add_argument("--groundtruth", type=str, required=True)
args = parser.parse_args()

pred = [json.loads(line) for line in open(args.prediction, 'r')]
# pred = json.load(open(args.prediction, 'r'))
gt = json.load(open(args.groundtruth, 'r'))

name = args.prediction.split('/')[-1].split('.')[0]

assert len(pred) == len(gt)

def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        return False

total_length = len(pred)
res_flag = []
res_pair = []
wrong_ = []
for i in range(total_length):
    if 'text' in pred[i]:
        each_pred = pred[i]['text'].strip().strip("</s>").lower()
    elif 'answer' in pred[i]:
        each_pred = pred[i]['answer'].strip().strip("</s>").lower()
    else:
        each_pred = pred[i]['output'].strip().strip("</s>").lower()
    each_gt = gt[i]['conversations'][1]['value'].strip().lower()
    if is_number(each_gt) and is_number(each_pred):
        num_gt = float(each_gt)
        num_pred = float(each_pred)
        if (num_pred < num_gt * 1.05) and (num_pred > num_gt*0.95):
            res_flag.append(True)
        # if num_pred == num_gt:
            # res_flag.append(True)
        else:
            res_flag.append(False)
    else:
        if each_pred == each_gt:
            res_flag.append(True)
        else:
            res_flag.append(False)
    res_pair.append({'flag':res_flag[i], 'pred':each_pred, 'ans':each_gt})
    if not res_flag[-1]:
        wrong_.append(gt[i]['id'])

print(sum(res_flag) / len(res_flag))
with open('res_flag.json', 'w') as f:
    json.dump(res_flag, f)

with open('answer.json', 'w') as f:
    json.dump(res_pair, f, indent=4)
with open('wrong_.json', 'w') as f:
    json.dump(wrong_, f, indent=4)

Thanks for your kind reply, but I still have questions. In the code, the only operation of extracting predictions is each_pred = pred[i]['output'].strip().strip("</s>").lower(). I wonder when inferencing, did you use any prompts to make sure the model response only contains the expected answers?

Thanks for your kind reply, but I still have questions. In the code, the only operation of extracting predictions is each_pred = pred[i]['output'].strip().strip("</s>").lower(). I wonder when inferencing, did you use any prompts to make sure the model response only contains the expected answers?

No. After SFT, the answer should follow your designed format.

Thanks for your kind reply, but I still have questions. In the code, the only operation of extracting predictions is each_pred = pred[i]['output'].strip().strip("</s>").lower(). I wonder when inferencing, did you use any prompts to make sure the model response only contains the expected answers?

You can add "Answer the question using a single word or phrase." at the end of the question to further improve the results.

Thanks for your kind reply, but I still have questions. In the code, the only operation of extracting predictions is each_pred = pred[i]['output'].strip().strip("</s>").lower(). I wonder when inferencing, did you use any prompts to make sure the model response only contains the expected answers?

You can add "Answer the question using a single word or phrase." at the end of the question to further improve the results.

Yes, I tried this type of prompt earlier, but the model does not follow my instructions. So I reach out for your kind help.

Thanks for your kind reply, but I still have questions. In the code, the only operation of extracting predictions is each_pred = pred[i]['output'].strip().strip("</s>").lower(). I wonder when inferencing, did you use any prompts to make sure the model response only contains the expected answers?

You can add "Answer the question using a single word or phrase." at the end of the question to further improve the results.

Yes, I tried this type of prompt earlier, but the model does not follow my instructions. So I reach out for your kind help.

I guess you need to check whether the Lora modules are successfully loaded. To my own experience, similar problems only occur when using models like the original LLaVA-1.5, which are not SFTed.


In themes it does not detect partials, templates or pages that are in subfolders

Thank you very much for your excellent work, I loved it.
I have a problem with theme development. Apparently it doesn't detect layouts, partials or pages when they are in subfolders:

Detects them fine if they are not in subfolders
If you apply the suggested fix, it overwrites the original file and detects it fine, but when you restart Visual Studio the problem reoccurs.
If you enter each file that it is not detecting and save it even if it has no changes, it detects them well but when you restart the program this error occurs again.
I tried on a clean install of VS Code but got the same error.

Do I have to install any extra extensions or fix something in my configuration?

Hello. Can you check the new version (0.9.0) and see if problem still exists?

Thanks! This issue is fixed. I'm using the v0.10.0
I noticed that the theme development function: Completions of theme file names: layouts, pages, partials, content files is disabled.
Is this a bug or is there something I need to do to enable this feature?

Hello. No, completions is not disabled


Cannot localize to zh_CN

import dash_chart_editor as dce
from dash import Dash, html
import pandas as pd

df = pd.read_csv('datasets/solar.csv')

#- config (dict; default {editable: True}):
#    Plotly config options, listed here:
#    https://github.com/plotly/plotly.js/blob/master/src/plot_api/plot_config.js.
# Define the config with the locale set to Chinese--没有解决--2024-8-8
#https://github.com/plotly/react-chart-editor/issues/1182

config = {
    'locales': {
        'zh_CN': {
            'dictionary': {
                'Traces': '⇚轨迹⇚',
            },
            'format': {
                "days": ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
                "shortDays": ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
                "months": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
                "shortMonths": ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二"],
                "date": "%Y-%m-%d",
            },
        },
    },
    'locale':'zh_CN',
}

#app = Dash(__name__, external_scripts=["https://cdn.plot.ly/plotly-2.18.2.min.js"])
# 以将js放置到assets/js目录，系统会自动寻找并加载
#app = Dash(__name__, external_scripts=["/assets/js/plotly-2.34.0.min.js"])
app = Dash(__name__)

app.layout = html.Div([
    html.H4("Dash Chart Editor Demo with the Plotly Solar dataset"),
    dce.DashChartEditor(dataSources=df.to_dict("list"), config=config),
])

if __name__ == "__main__":
    app.run_server(debug=True)

Hello @bloomv,
Thank you for bringing this up, I can take a look at it, but if the underlying component cannot handle it, I may not be able to fix it.

Hello@BSd3v,
For u ref: Incomplete translation
https://github.com/plotly/react-chart-editor/issues/1182

Follow this development


Finalizer vs ObjectCleaner vs ReferenceCounted

We should investigate all usages of Finalizer and transition them to ObjectCleaner or ReferenceCounted.

This somewhat depends on #8540


Hue in Wall Switch - RDM001

Add Support for Hue In Wall Switch. has been working for me. might need some clean up of the device automations?

Codecov Report

Merging #1434 (9fd5902) into dev (d60fa3d) will decrease coverage by 0.03%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##              dev    #1434      +/-   ##
==========================================
- Coverage   80.47%   80.44%   -0.04%
==========================================
  Files         225      226       +1
  Lines        6505     6541      +36
==========================================
+ Hits         5235     5262      +27
- Misses       1270     1279       +9

Impacted Files
Coverage Δ

zhaquirks/philips/rdm001.py
75.00% <75.00%> (ø)

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 d60fa3d...9fd5902. Read the comment docs.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

27 of 36 (75.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 80.446%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

zhaquirks/philips/rdm001.py
27
36
75.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
5262

Relevant Lines:
6541

💛  - Coveralls

I'd love to test this as well, but can't seem to find any way how. Can you point me into the right direction? :P

check here:
https://github.com/zigpy/zha-device-handlers/issues/858#issuecomment-988490028

Everything seems to be working fine!
Added the custom quirk and an automation for it.

Hi Everyone. Mine works but only one port (LEFT). Is there a way to configure/enable support of the 2nd toggle? I’ve tried an old one i removed from the Hue hub and a net-new one from the sealed box.

Hi Everyone. Mine works but only one port (LEFT). Is there a way to configure/enable support of the 2nd toggle? I’ve tried an old one i removed from the Hue hub and a net-new one from the sealed box.

You might find some useful information here: https://github.com/zigpy/zha-device-handlers/issues/858#issuecomment-1077615576 (and reply https://github.com/zigpy/zha-device-handlers/issues/858#issuecomment-1077624165). I'm not sure the second toggle is supported in the UI already, but you should be able to get it working by adding a trigger on a custom ZHA event.


Label breakpoint output

I've been playing breakpoints for a while. And one thing that bothers me is that it's not always easy to find the breakpoint messages. Because they are usually surrounded by debugger's prompts or other output:
Current BP messages

But colorizing them like backtrace or frame info may just cause more confusion.
So instead, I want to use reverse coloring effect to add something called "breakpoint label", which looks like this:
Proposed messages

It also looks great with a bright background.

Notes

This will be applied to the content of Breakpoint#to_s.
I also plan to colorize some breakpoint (like watch breakpoint)'s value. The color scheme will be the same as backtrace.

It's also possible to use colored inspect on changed values, but I'm not sure if that'd be an overkill or be too noisy? @ko1 wdyt?

Let's try!
BTW BP is of course "Break Point". Is it readable?

I use BP because the current output uses bp, but I don't think that's clear to users.
To me, BP implies there are 2 words "Break Point", which is not how we usually spell breakpoint. However just calling it B is more confusing.
So if it's ok to you, I prefer using Breakpoint. The lines aren't long in general, so I don't think the extra characters would could issues.

I think I'm wrong here. Breakpoint doesn't make the line too long but is verbose.

I'll use BP for now and change it later if others have different opinions.

How about #0 Breakpoint: <color>Watch</color> ?

How about #0 Breakpoint: <color>Watch</color> ?

Result:

I feel like the breakpoint indication should also be included in the label. Otherwise I still need to read the white characters to see what the message is for.
I still prefer the originally proposed style 🤔

Ok, let's use original one.


Array with no items key casues error (OpenAPI 3.1)

What are the steps to reproduce this issue?

Using the following minimal OpenAPI 3.1 spec, API generation fails

{
    "info": {
        "title": "app",
        "version": "0.3.1"
    },
    "openapi": "3.1.0",
    "servers": [
        {
            "url": "/"
        }
    ],
    "paths": {
        "/api/auth/login": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Login with Firebase",
                "operationId": "FBLogin",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UserFBAuthSchema"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Request fulfilled, nothing follows",
                        "headers": {}
                    },
                    "400": {
                        "description": "Bad request syntax or unsupported method",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status_code": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        },
                                        "extra": {
                                            "additionalProperties": {},
                                            "type": [
                                                "null",
                                                "object",
                                                "array"
                                            ]
                                        }
                                    },
                                    "type": "object",
                                    "required": [
                                        "detail",
                                        "status_code"
                                    ],
                                    "description": "Validation Exception",
                                    "examples": [
                                        {
                                            "status_code": 400,
                                            "detail": "Bad Request",
                                            "extra": {}
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "deprecated": false,
                "security": [
                    {}
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "UserFBAuthSchema": {
                "properties": {
                    "id_token": {
                        "type": "string"
                    }
                },
                "type": "object",
                "required": [
                    "id_token"
                ],
                "title": "UserFBAuthSchema"
            }
        },
        "securitySchemes": {
            "sessionCookie": {
                "type": "apiKey",
                "description": "Session cookie authentication.",
                "name": "__session",
                "in": "cookie"
            }
        }
    },
    "security": [
        {
            "sessionCookie": []
        }
    ]
}

What happens?
API generation fails with a stacktrace, as per below
What were you expecting to happen?
The API is generated
Any logs, error output, etc?
$ npx orval --config ./orval.config.ts
🍻 Start orval v6.29.1 - A swagger client generator for typescript
🛑 test - Error: All arrays must have an `items` key defined (name=FBLogin400ExtraAnyOfTwo, schema={"additionalProperties":{},"type":"array"})
    at getArray (/Users/m/dev/test/spa/node_modules/@orval/core/dist/index.js:41395:11)
    at getScalar (/Users/m/dev/test/spa/node_modules/@orval/core/dist/index.js:41950:34)
    at resolveValue (/Users/m/dev/test/spa/node_modules/@orval/core/dist/index.js:41245:18)
    at resolveObjectOriginal (/Users/m/dev/test/spa/node_modules/@orval/core/dist/index.js:41260:25)
    at resolveObject (/Users/m/dev/test/spa/node_modules/@orval/core/dist/index.js:41329:18)
    at items.reduce.values (/Users/m/dev/test/spa/node_modules/@orval/core/dist/index.js:42082:30)
    at Array.reduce (<anonymous>)
    at combineSchemas (/Users/m/dev/test/spa/node_modules/@orval/core/dist/index.js:42076:30)
    at getObject (/Users/m/dev/test/spa/node_modules/@orval/core/dist/index.js:41769:12)
    at getScalar (/Users/m/dev/test/spa/node_modules/@orval/core/dist/index.js:42017:34)

Any other comments?
I understand this may have been an issue with OpenAPI 3.0, as the items field was required for an array, but is no longer the case for 3.1, where the items field is not longer required.
What versions are you using?

orval/6.29.1 darwin-arm64 node-v20.14.0

up


Feature request: option for specifying tabindex

It would be useful if you could support a tabindex: option, that lets you specify a tabindex for the element, so when it's appearing in a form you can tab through the elements, including a select2.

Select2 now inherits the tabindex from the original element, and it had done that for quite some time.