Support span functionality in new query engine

Is your feature request related to a problem? Please describe.
The old engine has the date_histogram function, but it is not supported in the new engine yet. This request is proposed by the community (#159), and this feature is also required by the Observability visualization project (#162).
Describe the solution you'd like
Proposal details are noted in the comments of #162 , will start on a more detailed design doc if the current proposal meets the requirements by the frontend.
Describe alternatives you've considered
NA
Additional context
NA

Date_histogram grammar in legacy engine:
date_histogram('field'='field_name', 'interval'='interval_expr', 'alias'='alias_expr')
(valid in group by clause)
For example: date_histogram('field'='timestamp', 'interval'='4h', 'alias'='my_timeseries')
Proposing optional grammar in new engine:

date_histogram('field'='timestamp', 'interval'='4h', 'alias'='my_timeseries') => same with the old grammar for compatibility
date_histogram(field=timestamp, interval='4h', alias=my_timeseries)  => removed the quotes
date_histogram(timestamp, '4h', 'my_timeseries') / date_histogram(timestamp, '4h', my_timeseries)
date_histogram(timestamp, '4h') as my_timeseries


Add in-Livebook VM runtime

This adds a runtime so that it's possible to run code from within the
same VM that runs the Livebook application.
This is useful for Nerves where there's only one Erlang VM running and
it runs the interesting libraries and applications that are useful for
Nerves Livebooks. While it's theoretically possible to run child VMs on
Nerves, it has limitations. First is that most Nerves libraries aren't intended
to be invoked remotely. Another is that there's no C compiler so
downloading and compiling dependences will likely fail since it's so easy
to run into a library with a NIF or port with Nerves.
This commit is a WIP since it's a departure from the much more elegant
handling of Livebook code and I'm looking for feedback especially if
there's a simpler way. In retrospect, the name "local" for this runtime
should probably be changed. There's also a hack to make this method the
default, since it's awkward for it to not be the default on a Nerves
device.

Hi @fhunleth!
A couple notes:

My main concern about this approach is that any module that you define will now be defined forever and code in one notebook can conflict with code from another notebook. So if we support this, we need to have very strong disclaimers

We already have something similar for tests, so we might as well make it official. :)

Curiously, I learned you can actually connect to yourself on the Attached node runtime

Making the runtimes configurable sound good to me. We probably want to make it a list and the first one is the default. Although the mix and attached node ones cannot be default

Thanks for the quick response!

1. My main concern about this approach is that any module that you define will now be defined forever and code in one notebook can conflict with code from another notebook. So if we support this, we need to have very strong disclaimers

Yes, definitely. I had been holding off on this PR in the hopes that I could figure out something nicer. On the plus side, I've been using Livebook with the code in this PR on a Raspberry Pi Zero over the weekend and it has been a lot of fun. Livebook seems to work really well. Nothing felt sluggish even though the Zero is super slow compared to any computer normally used for Livebook.

2. We already have something similar for tests, so we might as well make it official. :)

I totally missed that, but I'm relieved that an in-Livebook VM runtime is something that could be considered.

3. Curiously, I learned you can actually connect to yourself on the Attached node runtime

I tried this. The problem was that if I ever stopped a notebook that I'd have to restart the VM. I believe that the issue was unloading code, but I didn't track it down before I started copy/pasting modules and modifying code.

4. Making the runtimes configurable sound good to me. We probably want to make it a list and the first one is the default. Although the mix and attached node ones cannot be default

Great!

Hi @fhunleth, given this is valuable for Nerves, feel free to open up an issue and we will tackle it :)

Absolutely! I didn't get to it, but I was considering the options regarding local evaluation. So the manager process could run fine in the Livebook node, it just shouldn't unload the code once stopped. The question is how to allow multiple manager processes at once (to support multiple open notebooks). Currently the process stores some initial config like :standard_error and reverts after it terminates, but if we had multiple such processes this approach will no longer work.


Open ID Connect: Cache token

Context
Single Page Applications want to minimize unneeded network traffic.
Issue
The OIDC helper will generate a network request each time it is called.
With a large volume of components on the page this can generate many requests which many not be needed.
Potential Solutions
Caching, keep a copy of the token and reuse the token while valid.
The could be done:

In the Open ID Connect (OIDC) helper library
In a High Order Component (HOC)
Network library plugin (E.G. https://github.com/axios/axios#interceptors)
Other?

and could be managed though
A) Timeout based cache clearing, after some number of seconds clear the cached token, next request will need to make a network call
B) Expiration based clearing, use expiration given by token to clear token at exact time it expires
C) Refresh when not authorized (see 3)
D) Other?
Risks

Adds weight to library
Would need an implementation for each language
Would require implementation for each network library

A) Timeout could happen after token expires, leaving UI unauthorized in the mean time
B) Timezone and Clock Skew would need to be accounted for
C) Could result in a lot of extra traffic if 403 not authorized is used regularly during valid sessions

mhhh have a look on this documentation, this could help too: https://auth0.com/docs/security/store-tokens. tokens could be saved in session/local storage !

Thanks @jgribonvald!
That's a good resource.
A few notes after reading it.
The article states

:warning: You must verify a JWT's signature before storing and using it.

and jwt decode highlights

IMPORTANT: This library doesn't validate the token, any well formed JWT can be decoded.

Which means it would require reverting #21 .
The article also notes

Web Storage is accessible through JavaScript on the same domain so any JavaScript running on your site will have access to web storage, and because of this can be vulnerable to cross-site scripting (XSS) attacks.

@ChristianMurphy : I don't understand why this will revert #21, you should add only a signature verification. This documentation is clear for me : https://jwt.io/introduction/

jsonwebtoken includes token verification, jwt-decode does not.
jsonwebtoken adds enough weight to the page it generates complaints, even after it has been tree shaken.
I'd lean strongly against writing our own custom verifier, writing custom encryption/decryption has a lot of risk of messing up and opening a security vulnerability, and not much reward compared to using an existing well maintained and audited library.
There may be another ligher weight version of jsonwebtoken that is robust and includes token verification, there would need to be some additional research done to track one down.

maybe @prigaux can provide some lights...

Regarding verification of JWT:
I do not see any use of verifying a JWT without checking the signature.
Checking signature in a web browser means the key to check the signature must be public.
This implies having a private/public key pair.
/userinfo has 2 uses:

getting info in browser => only the JWT payload is interesting
getting a JWT to send to another API => it's this API responsability to check the JWT

What I like about mem is that the expiration is calculated using Date() instead of having a timer reference that can potentially leak later because the developer did not clean up. Other caching libraries tend to use setTimeout(...) more liberally. The code is tiny enough that I think minified and g'zipped would make its additional to the build output trivial. There might be one hazard in its use of a JS WeakMap. If this is a blocker, then I think at least the concept could be borrowed and implemented directly in the OIDC handler.

mem moves in the right direction, removing the set timeout issue. :+1:
The question is how would we handle a situation like sessions last for 30m, client-side timeout lasts for 5m?
E.G.
|-------------------------------------- Valid session 30m ------------------------|
|- user visits for 5m -|                     waits 23m                  |- user visits for 5m -|

The the above example the second session would get the same token, but would keep trying to use the token for 3 minutes after the session expired.

From an offline conversation with @drewwills, another approach could be enhancing the user-info REST endpoint to set appropriate HTTP Cache headers.
Using HTTP Cache would allow services outside of this helper to easily take advantage of caching.
It also would allow the server to set an appropriate caching time, instead of the client side guessing an appropriate timeline.

A refresh for this issue as we could have the need in a few due to the growing number of web-components...
I Think we have to reduce the number of request at least on the user-info.


FileRepsonse interface not being generated in Typescript output

Hi, it seems like starting with version 12.2.0 the FileRepsonse interface isn't being generated with the Typescript output. It does have methods with return type Observable but FileResponse isn't defined. This was working in version 12.1.0 and still doesn't work with 12.2.1.
My config has the following:
"swaggerToTypeScriptClient": {
            "className": "{controller}Api",
            "moduleName": "",
            "namespace": "",
            "typeScriptVersion": 2.7,
            "template": "Angular",
            "promiseType": "Promise",
            "httpClass": "HttpClient",
            "useSingletonProvider": false,
            "injectionTokenType": "InjectionToken",
            "rxJsVersion": 6.0,
            "dateTimeType": "String",
            "nullValue": "Undefined",
            "generateClientClasses": true,
            "generateClientInterfaces": true,
            "generateOptionalParameters": false,
            "exportTypes": true,
            "wrapDtoExceptions": true,
            "clientBaseClass": null,
            "wrapResponses": false,
            "wrapResponseMethods": [],
            "generateResponseClasses": true,
            "responseClass": "SwaggerResponse",
            "protectedMethods": [],
            "configurationClass": null,
            "useTransformOptionsMethod": false,
            "useTransformResultMethod": false,
            "generateDtoTypes": true,
            "operationGenerationMode": "MultipleClientsFromOperationId",
            "markOptionalProperties": true,
            "generateCloneMethod": false,
            "typeStyle": "Class",
            "classTypes": [],
            "extendedClasses": [],
            "extensionCode": null,
            "generateDefaultValues": true,
            "excludedTypeNames": [],
            "excludedParameterNames": [],
            "handleReferences": false,
            "generateConstructorInterface": true,
            "convertConstructorInterfaceData": false,
            "importRequiredTypes": true,
            "useGetBaseUrlMethod": false,
            "baseUrlTokenName": "API_BASE_URL",
            "queryNullValue": "",
            "inlineNamedDictionaries": false,
            "templateDirectory": null,
            "typeNameGeneratorType": null,
            "propertyNameGeneratorType": null,
            "enumNameGeneratorType": null,
            "serviceHost": null,
            "serviceSchemes": null,
            "output": "../../ClientApp/app/api-client/api.service.ts"
        }

And the generated swagger file looks something like (whole thing not included as it is propriety):

"/api/Something/Something": {
      "get": {
        "tags": [
          "Something"
        ],
        "operationId": "Something",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },

Let me know if any other info is needed to diagnose

Fixed with https://github.com/RicoSuter/NSwag/commit/c8cdb32d04f564c51e6b3b249fa1058cd7bfa12a
v12.2.2


[Q] Using TSDuck's SRT functionality but output is incorrect.

Hi
I'm using TS Duck on a CentOS9 VM as a caller / receiver for an SRT connection.
The listener / sender is an SRT device that is sending encapsulated multicast data over the internet to TSDuck.

Connectivity is all working, but I am not seeing correct output, where the I am seeing the de-encapsulated raw data at the output instead of the multicast data.
I am not sure if the issue sits with my SRT command - as my understanding is SRT should not natively de-encapsulate data - and the output should just be multicast. We have a similar setup in parallel that is only using 2 SRT devices and the output is multicast data.
Would you be able to have a look at my command below? I have even tried removing the 'fork' plugin that is duplicating the stream - this still has the same issue even with 1 output.
tsp --realtime -I -srt --caller x.x.x.x:y --local-interface <IP_ADDRESS> -O ip <IP_ADDRESS>:1000 --local-address <IP_ADDRESS> -P fork "tsp -O ip <IP_ADDRESS>:1000 --local-interface <IP_ADDRESS>" &
Using either tcpdump orwireshark at the physical outputs (<IP_ADDRESS> and <IP_ADDRESS>) both show the PIDs and raw data instead of the multicast data.
x.x.x.x:y is the IP:port of our listener SRT device
<IP_ADDRESS> is the interface im calling out to my SRT device on
<IP_ADDRESS> is the 1st interface I need to output the multicast data (<IP_ADDRESS>:1000)
<IP_ADDRESS> is the 2nd interface I need to output the multicast data (<IP_ADDRESS>:1000)
Let me know if you can assist.
Thanks
Kind Regards
Jace

Hi @jace-23
What do you mean by "raw data instead of the multicast data" ? How would you define "raw data" and "multicast data"?
TSP manipulates TS packets. These packets are encapsulated in various protocols such as SRT, RIST, RTP or direct multicast. In the latter case, the UDP datagrams only contain up to 7 TS packets in their payload, nothing else. Unless you specify --rtp which adds RTP headers.

Hi @lelegard
My understanding is that the raw data is the data before it is encapsulated into a multicast TS.
I'm trying to send send our Multicast TS over SRT and at the output - instead of just seeing the multicast TS, I am seeing the de-encapsulated data, but we are seeingthe packets de-encapsulated.
Essentially i think my above TSDuck command is de-encapsulating the Multicast TS after it has been sent over SRT.
Where all I am trying to do send a simple multicast TS over SRT.
Let me know your thoughts
Thanks
Kind Regards
Jace

Hi @lelegard
My understanding is the raw data (PIDs) is before encapsulation - and the Encapsulator turns it into a multicast TS over IP.
I think that seemed to work. I added --rtp for the output and that solved my issue - now i am only seeing the multicast IP output after SRT. Thanks
Just to follow up, I am not sure if the 'fork' plugin is working in my command.
I think the fork is supposed to duplicate the TS at the output - but the bit rate of the forked output is not matching - even becoming jittery and unstable.
Is there something i am missing in the fork command to make it exactly match the first output TS?

tsp --realtime -I -srt --caller x.x.x.x:y --local-interface <IP_ADDRESS> -O ip --rtp <IP_ADDRESS>:1000 --local-address <IP_ADDRESS> -P fork "tsp -O ip --rtp <IP_ADDRESS>:1000 --local-interface <IP_ADDRESS>" &
Kind Regards
Jace

There is a lot of confusion here. When you mention "encapsulation", do you mean MPE? There is no such decapsulation in tsp, unless you use the mpe plugin of course. Adding --rtp just adds RTP headers, it does not change the data which remain TS packets.

About the fork plugin, I assume that the jitter is due to the buffering of the pipe. The default buffer maximizes the performance, as the expense of the latency (high throughput and low latency are incompatible, you have to choose). For an IP multicast output, I suggest to use -P fork --buffered-packets 7 to make sure that the equivalent of one UDP datagram is pushed as soon as possible.

Hi @lelegard
Yes correct, I thought that the data looked like it was being decapsulated by tsp, as on a packet capture, the data looked exactly as it did before encapsulation. However - upon adding the RTP headers, as you said, I now only see the IP multicast output address that I defined.
With the fork plugin, that worked, I also added in a bitrate using the 'regulate' plugin at the start of the fork option, which I set to what the actual bit rate of the stream was.
Thanks for your help on this matter.


MATH Observations

Classes...

constructor functions should be minimal, expecting exact arguments and performing no checks
from* functions should exist for anything more, with full checks

Utils...

does iPolygon3.isStrictlyConvexPoint() belong here?
does Polygon3.isConvexPoint() belong here?
does Vector3.randomNonParallelVector() belong here?
does lineUtils belong here?
does Math reTesselateCoplanarPolygons() belong here?

General...

a lot of the math is performed by Vector, even for non-vectored classes. There must be a lot of "new Vector" calls for any math. Horrible for memory and performance

V2 improves the math library, including data storage.
Closing this issue.


Generalise workflow builders.

This commit makes WorkflowManagerBaseBuilder a parent class for WorkflowManagerKafkaBuilder and WorkflowManagerBuilder. While this implementation reduces boilerplate, it also opens up prospects for easy switching of workflow type (from Kafka based to Curator based and vice-versa) as both the variants of the builders inherit from a base class which opens up prospects for chaining the withCurator or withKafka methods, while building the Manager depending upon the type of workflow being used.

Modify code as per this: http://egalluzzo.blogspot.com/2010/06/using-inheritance-with-fluent.html. Will allow flexibility without duplication.

Interesting problem. Did not understand initially. Try to reimplement along lines of: http://egalluzzo.blogspot.com/2010/06/using-inheritance-with-fluent.html

Closing this, will be back with a cleaner one.


cue cmd: improve error message for non-existing commands

What version of CUE are you using (cue version)?

$ cue version
v0.2.2

(also reproduced on latest master version)

Does this issue reproduce with the latest release?
Yes, tested v0.2.2 and v0.3.0-alpha1.0.20200730155834-304b02e40842, different error message though.
What did you do?

cat >prompter_tool.cue <<EOF
package foo

import (
        "tool/cli"
        "tool/exec"
        "tool/file"
)

city: "Amsterdam"

// Say hello!
command: prompter: {
        // save transcript to this file
        var: file: *"out.txt" | string @tag(file)

        ask: cli.Ask & {
                prompt:   "What is your name?"
                response: string
        }

        // starts after ask
        echo: exec.Run & {
                cmd:    ["echo", "Hello", ask.response + "!"]
                stdout: string // capture stdout
        }

        // starts after echo
        file.Append & {
                filename: var.file
                contents: echo.stdout
        }

        // also starts after echo
        print: cli.Print & {
                text: echo.stdout
        }
}
EOF

What did you expect to see?
Example from go help cmd working (1st one does, 2nd one doesn't).
A prompt and then a message on stdout.
What did you see instead?
v0.2.2 no prompt, and:
go/bin/cue cmd -v prompter
command.prompter.contents: invalid bytes argument for field "contents": non-concrete value string:
    ./prompter_tool.cue:12:10

v0.3.0-alpha1.0.20200730155834-304b02e40842 no prompt, and:
go/bin/cue cmd -v prompter
command.prompter.contents: invalid bytes argument for field "contents": incomplete cause disjunction:
    ./prompter_tool.cue:12:10

see https://github.com/cuelang/cue/pull/467 https://github.com/cuelang/cue/pull/468

This should be fixed with Ask now being supported. Obviously, there is another problem here in that it should have reported that as an error, and not the obscure errors it returned instead. So keeping this open for now.

This issue has been migrated to https://github.com/cue-lang/cue/issues/479.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


Add an environment path hint for the SDK

Idea stolen from #9, but a bit more generic

Thank you!


AVX schedule for conv_NCHW[x]c

Add compute and schedule for conv_NCHWc
schedule lookup table for resnet-v1-50,101,152
allow to generate default AVX schedule for other workloads

In my test, it brings around 40% speedup for ResNet. You can try this patch with the latest NNVM. @kevinthesun @yidawang @FrozenGene @masahi
But need to verify something before merge:
looks like the fold_scale_axis optimization conflicts with kernel packing from OIHW to OIHW[x]i[y]o, leads to disagreement with mxnet's output. ResNet & VGG works fine with this PR (coz by alter_conv2d_layout we replace conv2d by conv2d_NCHWc, skipping the optimization in fold_scale_axis), but if we remove the function alter_conv2d_layout and run ResNet50-v2 with opt_level=3, we'll see the problem.
Moreover, squeeze_net's output (https://mxnet.incubator.apache.org/api/python/gluon/model_zoo.html) is not correct, not sure whether it is caused by same problem.

I can confirm the fold_scale_axis thing is expected, and the implement here is correct.
squeeze_net is another story, it is unrelated with the changes here.
Ready to merge.

@ZihengJiang can you do a review?

Can you do a review as well? @kevinthesun @yidawang @Laurawly

please let me know when the changes are approved and we can merge it in

@kevinthesun confirm?

lgtm

@yzhliu Thanks. I will test it further. However, I am busying in implementing NNVM's SAME padding now, which will also affect scheduling (Because I will pass 4 arguments now, not only top / left, but also bottom / right). I will try to the current scheduling work and add it. Then I will test it within your new changes. 👍

Not sure what happens, simply test on vectorizing over axis of size 7 actually produces correct result. I'll check later.

@yzhliu Thanks for replying. From my testing, which is not related scheduling.
Just this function:
def _declaration_conv_NCHWc(wkl, sch, data, kernel):
   #...
    # wkl.out_filter is 143. sch.oc_bn is 7 . 143 x 7 = 1001. Others are 1.
    oshape = (batch_size, wkl.out_filter//sch.oc_bn, out_height, out_width, sch.oc_bn)
    ic = tvm.reduce_axis((0, wkl.in_filter), name='ic')
    conv = tvm.compute(oshape, lambda n, oc_chunk, oh, ow, oc_block:
                       tvm.sum(data_pad[n, ic//sch.ic_bn, oh*HSTR, ow*WSTR, ic%sch.ic_bn]
                               .astype(out_dtype) *
                               kernel[oc_chunk, ic // sch.ic_bn, ic % sch.ic_bn, oc_block, 0, 0],
                               axis=[ic]), name='conv2d_NCHWc', tag='conv2d_NCHWc')

    return conv

The compute result of convolution is not right

@FrozenGene gotcha. thanks, would you mind to shoot a PR to fix?

@yzhliu In fact, we have modified much code on CoreML’s support and also on schedule. This work is done in the company and we have our rule of open source. I think I should ask this question about open source, or just some code (such as this issue we talk). I personally want to pull a request to fix it.
BTW, I find that fold_scale_axis optimization will have problem on shuffleseg model. I investigate it and find that maybe fold_scale_axis optimization doesn’t handle convolution with groups != 1. Do you have any ideas? because I find when groups != 1 we will have problem(check shape error) when we apply this optimization.

No worries, I can make the PR. In my understanding, for now fold_scale_axis is only well defined for NCHW and groups=1 convolution.

@yzhliu Ok. I know. Could you tell me why we don't support groups = 1? If it is very difficult for fixing, I will turn off it currently.


Android: Vertical Flatlist nested in horizontal InfinitePager not scrolling

Hello!
I want to make vertical Flatlist nested in horizontal InfinitePager, something like Google Calendar day view. But Flatlist doesn't scroll. Tried to pass nestedScrollEnabled prop into Flatlist, but it got no effect.
My code looks like this:
 <InfinitePager
       renderPage={(props) => {
         <View style={[scheduleDaysContainerStyles.root]}>
           <FlatList
             data={weekDays}
             keyExtractor={(item) => item.toISOString()}
             showsVerticalScrollIndicator={false}
             renderItem={({ item }) => (
               <View style={[scheduleDayContainerStyles.root]}>
                 <ScheduleDay
                   week={selectedWeek}
                   day={item}
                   scheduledRecipes={
                     recipes?.filter((recipe) =>
                       dayjs(recipe.date).isSame(item, 'day'),
                     ) ?? []
                   }
                   onSchedule={onSchedule}
                 />
               </View>
             )}
             ListFooterComponent={<View style={[listFooterStyles.root]} />}
             nestedScrollEnabled
           />
         </View>;
       }}
       pageBuffer={1}
       onPageChange={(page) =>
         setSelectedWeek(getNextWeek(selectedWeek, page))
       }
       ref={pagerRef}
     />

I tested this on Android Emulator and real device -- both have problem. But, on IOS Emulator this code works fine. I started to explore the source code of the library, because it's the only one bug that I have. If you can help me i'll be very appreciated!

But what If I need to use Animated.FlatList?

can you wrap it in createAnimatedComponent? https://docs.swmansion.com/react-native-reanimated/docs/core/createAnimatedComponent/#:~:text=createAnimatedComponent lets you create an,Animated.


Allow image uploads

Creates a new dialog where you can drag and drop an image and it helps you get started. See screenshot attached for the dialog and an example of what Homer Simpson looks like.

fyi i didn't forget about this - testing it later today!

:smile:

Feel free to make suggestions about the interface, ux, etc.

:(

Hey! I'm sorry I've been busy and traveling!

I need to rework some UI stuff but then will get back to this PR.


[Godot4] Can't set Button's text back

Godot version
v4.0.alpha6.official [e4f0fc50f]
System information
Windows 10
Issue description
Can't set Button's text back, LOOK:

Steps to reproduce
/
Minimal reproduction project
FlashTest.zip

Did this ever work? I strongly suspect you're missing a duplicate() or some such at the point where you're saving raw text, because it's likely just a pointer to some memory, not a copy from C point of view.

@Zireael07 But it work fine in 3.X

In that case likely something to do with GDScript rework in 4.0, paging @vnen  for more details. maybe a String vs StringName thing?

I can reproduce it in commit 12cb05b3040242deebb87262aed8c04218b69044, it seems to be resolved in v4.0.alpha.custom_build [3639c27cf]. The relevant commit seems to be only #60007.

I can reproduce it in commit 12cb05b, it seems to be resolved in v4.0.alpha.custom_build [3639c27]. The relevant commit seems to be only #60007.

That PR is unlikely to be related, the only thing it can affect is bytecode. But this issue was reported against 4.0 alpha 6 which was released a week ago.
Did you use different build options for the two builds you mentioned? It might be a release vs debug issue.

scons -j$(nproc) target=release_debug for the earlier build;
scons -j$(nproc) target=release_debug use_llvm=yes use_lld=yes for  another one.


Create Terra ApplicationLinks Components

Summary
Create application navigational links tied to react-router to be used for top level context navigation.
Deployment Link
https://terra-framework-deployed-pr-56.herokuapp.com/
Closes: #55
Thanks for contributing to Terra.
@cerner/terra

I am still curious, will these link components support sub navigation?

For Tabs keyboard navigation, I can open the more dropdown on enter, tab and select a new tab. This replaced the More title with the selected tab name. Should this More/updated tab regain focus after selection? I was unable to reopen the hidden tab after.

@emilyrohrbough For the focus or morewe may need to set the focus programmatically, since a new component is mounting in it's place, focus would be lost. Thoughts?

Tested: PR #56
Reviewed:

Follows UX’s (universal design definition)[https://zpl.io/2jkd6Zr] implementation with variations noted below.

Approved Variations from universal design definition:

Menu Items have a fixed widths and horizontally centers nav, rather than fluid widths for nav to fill all available space.
A link item that starts in the menu, does not replace the last tab before the “More” dropdown, instead replaces the "More" text and functions like standard select.

Verified by @neilpfeiffer, Ready for Release.

Pass

UX Review

Functional verification completed. The list and tabs application links now display and function correctly.


Develop

Hello folks.
What is the status of this project?
I currently cloned and did a first build.
46 warnings and a fatal after the simulator started.

This project is maintained here  https://github.com/jasonelle/jasonelle-ios :)


BlurHash does not work when privacy.resistFingerprinting is enabled

In Firefox, when the option privacy.resistFingerprinting is enabled, BlutHash stops working.
In the dev console, the following message is printed:
Blocked https://blurha.sh/ from extracting canvas data because no user input was detected

The reason I've enabled privacy.resistFingerprinting in about:config is to make it harder for advertisers to track myself.
To see fingerprinting in action, visit fingerprint.com in normal and privacy mode, and compare the generated visitor id.

Feel free to submit a PR!


Stall reports and EnderIO

I have a very strange issue occuring and I'm not sure how to report this; so I'll start with EnderIO.  My SMP world has been progressing a bit; we have several active players and currently I restart the server twice daily to keep the memory leaks to a minimum.  We have a special case that is just now starting to happen.  If three hours pass from the time the server restarts to the time someone logs in, the server will stall upon the next login to the point where I must Control+C to get any response.
Here are the stall-reports:

http://pastebin.com/1baVur0X
http://pastebin.com/1QcY3Vnt
http://pastebin.com/PFavh9NS
http://pastebin.com/rhieWUpT
http://pastebin.com/t36yc4dH
http://pastebin.com/fVfX4u7M

I spoke with Player about his stall reports and he told me that the mod listed under SERVER THREAD is usually the mod that has gotten hung up.
Part of the issue is covered here: https://github.com/SleepyTrousers/EnderIO/issues/1959 I can confirm with ChinkenChunk's /chunkloaders command that there are a lot of places on the map without chunkloaders that are loaded without tickets.  The one unifying feature of these places are that we all love our EnderIO conduit bundles.  This could be a factor in the stalling.
What is unusual is that at my base, I have completely gotten rid of EIO conduits and yet still, as soon as I connect after the three hour window from a restart, the server will stall.
I am running the follow mods
EnderIO 1.7.10-<IP_ADDRESS>1
FML 1448
I apologize that I don't have more information to give you.. let me know any troubleshooting steps I can take to help you guys in any way.

Could you update to a beta build and see if anything is resolved? It's hard to confirm such a vague issue unless you are on the latest code base.

Sorry it took so long, I was able to test this today using beta build 401 and Endercore build 12 alpha
Here is the stall report for today: http://pastebin.com/5euy0HdN

Do you have large redstone conduit networks? See #1959

We don't have any large redstone conduit networks on the server, most redstone conduit bundles are limited to maybe 25-30 redstone conduits, however, most of the people using those redstone conduits also have 200+ other conduits (power, item, fluid).
#1959 definitely plays a part in this issue, the unique characteristic of my report was that the server is actually going in to a deadlock (or whatever the technical term is) because of this and it only happens if no one logs in for three hours after a restart.  If you like, I can close this issue and add it to #1959.  Let me know, whatever makes your life easy :)


docsum on docker: mega servcie returns weird results

Following docsum readme, the mega service returns weird things for the following command:
curl http://${host_ip}:8888/v1/docsum -H "Content-Type: application/json" -d '{"messages": "Text Embeddings Inference (TEI) is a toolkit for deploying and serving open source text embeddings and sequence classification models.
The meaningful result is in data.ops[0].value, and the frontend of DocSum will display it in the way of data.ops[0].op.

Close as not an issue, feel free to reopen if you still have further questions.


Using MetaphorFix with Special K and Reloaded II will make game not start up

I am currently having issues with using MetaphorFix with both Reloaded II and Special K. I have tried to have the game launch using both the Reloaded method of installing MetaphorFix as well as using the Special K method. Neither seem to be letting the game launch unless I disable MetaphorFix. Is there a way to circumvent this?

Enable both auto injection and the other one (I don't remember the name), they are one over and the other below the "Deploy ASI loader".
Then, click on Deploy ASI Loader.
If you need a screenshot let me know. Not at home rn

You should either use a local injection of SpecialK (as d3d11.dll), and either load MetaphorFix regularly or as a SK plugin,
or keep SK as a global injection, but make reloaded-II a local injection like told above, with "Deploy ASI Loader"
I tried to launch the game through Reloaded in SKIF (global SK inject) by using the path to Reloaded-II exe with the launch parameter ``--launch "C:\path\to\metaphor.exe" but it wouldn't work


[Themes] Theme Dev - Editor Sync - Fix Hanging Theme Reconciliation Progress Bar and User Inputs

WHY are these changes introduced?

https://github.com/Shopify/develop-advanced-edits/issues/300

WHAT is this pull request doing?

Adds the theme reconciliation progress bar back

Fixes an issue where the progress bar would render before the user has a chance to provide input - rendering the CLI in a "stuck" state where input there is no way to provide the input needed to resolve the progress bar

Fixes an async conflict with the store-password input which prevented users from selecting a reconciliation option

How to test your changes?

Checkout the latest version of Dawn
Upload this version of Dawn to your shop using shopify theme push -d.
This will trigger a job on core which adds settings keys in your JSON assets
Run shopify-dev theme dev --dev-preview --theme-editor-sync --store-password=<INCORRECT_PASSWORD>.
You should see a large number of JSON files listed.
Select 'Keep the remote version`.
Verify the following:

you were able to select an option for reconciliation
the progress bar should only render AFTER that
progress bar should terminate once your reconciliation is completed

Measuring impact
How do we know this change was effective? Please choose one:

[ ] n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix
[x] Existing analytics will cater for this addition
[ ] PR includes analytics changes to measure impact

Checklist

[x] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[x] I've considered possible documentation changes

I've raised an issue here that was revealed by this PR but isn't directly related. So, we're proceeding with the merge 🚀


upload

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/119402
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.0 -m "<description of version>" a1be627ee2d0e05880d9f8ee506dacd26019de79
git push origin v0.1.0

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/119407
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.0 -m "<description of version>" f21add2f816a7f7e7995dbdd7c1e65ea7465e0a0
git push origin v0.1.0

@JuliaRegistrator register()

Error while trying to register: Version 0.1.0 already exists

@JuliaRegistrator register()

Error while trying to register: Version 0.1.0 already exists

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/120119
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.1 -m "<description of version>" eb2c9bc918a97c35fbe751d211daa5b369d4d367
git push origin v0.1.1


Insert to mysql, can find data inserted in mysql but the method returns with Err(RecordNotFound("Failed to find inserted item")).

Description
hi, I am developing the backend of an app with axum and sea-orm, so there is a route to register a user, and insert the user to databse, i am using mysql as my database, but any time i call this route, it returns with Err(RecordNotFound("Failed to find inserted item")), however, i can find data in my database.
Steps to Reproduce
the below is the router
pub async fn register(
    State(app_data): State<Arc<AppData>>,
    Json(req): Json<RegisterRequest>,
) -> AppResult<Json<RegisterResponse>> {
    let res = user::insert_user(&app_data.mysql_client, req.username, req.password).await;
    println!("{res:?}");
    // .map_err(|_| AppError::InternalError)?;
    Ok(Json(RegisterResponse { success: true }))
}

the below is the database operator, the res is Err(RecordNotFound("Failed to find inserted item")).
pub async fn insert_user(
    conn: &DatabaseConnection,
    username: String,
    password: String,
) -> AppResult<Model> {
    let existing_user = get_user(conn, &username)
        .await
        .map_err(|_| AppError::InternalError)?;
    match existing_user {
        Some(_) => Err(AppError::ExistingSameUsername),
        None => {
            let user = ActiveModel {
                id: Set("test-id".to_string()),
                username: Set(username),
                password: Set(password),
            };

            let res = user.insert(conn).await;
            println!("{res:?}");
            res.map_err(|_| AppError::InternalError)
        }
    }
}

Expected Behavior
returns the Model.
Actual Behavior
returns err Err(RecordNotFound("Failed to find inserted item"))
Reproduces How Often
every time
Workarounds

Reproducible Example

Versions
sqlx = "0.7"
sea-orm = { version = "0.12", features = [
"sqlx-mysql",
"runtime-tokio-native-tls",
"macros",
"with-chrono",
] }

I encountered this bug yesterday and spent a few hours troubleshooting it
Tl;Dr: Either use Entity::insert(user).exec(conn) or make the table's primary key AUTO_INCREMENT.
The ActiveModel.insert function attempts to return the freshly-inserted row if it was told that the insert was successful. If the database supports returning inserted rows then it will convert the row result to a model and return it. If it doesn't, it uses the "last_insert_id" field of the result to look up the row it just inserted. MySQL doesn't set the last_insert_id on the insert result unless the primary key of the table is auto_increment:
https://dev.mysql.com/doc/refman/8.0/en/information-functions.html#function_last-insert-id
but sea_orm doesn't account for this, assuming that the last_insert_id is valid:
https://github.com/SeaQL/sea-orm/blob/010433bf1633dd387f8493071c0b3838a7fbb575/src/executor/insert.rs#L295
Given that there's separate insert_with_returning and insert_without_returning functions, I have to assume this is expected behavior but I still wish this function could handle this error more gracefully or more obviously, or at least document it somehow/somewhere?
The simple fix is to use Entity::insert(user).exec(conn) which instead returns the insert result, which, if Ok, contains last_insert_id but it's set to 0. Doesn't really matter since you know the insert succeeded and you should already have the ID you set in the active model so you can just follow it up with a Entity::find_by_id(id).one(conn) to get the fresh model.
this is what I'm doing:
  let new_user_id = rand::random::<u64>();

  let user = ActiveModel {
      id: Set(new_user_id),
      email: Set(email.clone()),
      password_hash: Set(password_hash.clone())
  };

  Entity::insert(user).exec(conn).await?;
  let new_user = Entity::find_by_id(new_user_id).one(conn).await?.ok_or(anyhow!("inserted user not found"))?;

  return Ok(new_user);

The more complex fix is to make sure your primary key column is set to auto-increment so mysql will actually return the inserted ID.
or just switch to postgres which doesn't seem to have this issue.


Make HttpApiExceptionHandler extend ServerErrorHandler

HttpApiExceptionHandler is annotated to many HTTP services.
https://github.com/line/centraldogma/blob/f4ddd67f2147457e28291fae03839d73f0e18571/server/src/main/java/com/linecorp/centraldogma/server/internal/admin/service/RepositoryService.java#L71-L72
https://github.com/line/centraldogma/blob/f4ddd67f2147457e28291fae03839d73f0e18571/server/src/main/java/com/linecorp/centraldogma/server/internal/api/MetadataApiService.java#L64-L65
There is no domain-specific logic in HttpApiExceptionHandler. It means we can move HttpApiExceptionHandler to a server-level error handler.
Armeria introduced a brand new ServerErrorHandler in https://github.com/line/armeria/pull/3853

Hello, I would like to contribute but I cannot find the HttpApiExceptionHandler class in the api directory. Where would I be able to find it and how do I make the aforementioned changes? I apologize if the question doesn't make complete sense since I am new to open source contributing.

It's here: https://github.com/line/centraldogma/blob/master/server/src/main/java/com/linecorp/centraldogma/server/internal/api/HttpApiExceptionHandler.java
You might want to take a look at how @ExceptionHanlder works https://armeria.dev/docs/server-annotated-service#handling-exceptions before you get into it. 😄
Please, let us know if you need some help after reading the material. 😄

Hello again, I have read the relevant parts in the link, but I cannot find any information on ServerErrorHandler on the link you provided (I have looked at the line/armeria#3853 commit) Is there anywhere else I could get information on this?

Oops, sorry @barismutan, I missed your comment. 😅
We don't have a document for ServerErrorHandler yet.
You might want to see how it's used here: https://github.com/line/armeria/blob/master/core/src/test/java/com/linecorp/armeria/server/CustomServerErrorHandlerTest.java#L69
before we add a document for that. 😄

So it's basically used to convert an exception that is raised from the service into an HttpResponse.
Previously, we have used HttpApiExceptionHandler which works at an annotated service level.
If we can change to use ServerErrorHandler to convert an error globally. 😉


Salma and Youssef voices

Is there Salma and Youssef Arabic voices on GoAnimate Wrapper?

No, there are not.  If it's on Wrapper Offline, I might add them.

How can this add Salma And Youssef Acapela Arabic voices to GA Wrapper? So this means it speaks in Arabic Language like I did on Xtranormal over the years. Is this gonna come?

Probably.  I have no strict intention to آد ذيز فايساس.


Sabre/Xml/ParseException explanation, troubleshooting or error handling - [question]

I'm stuck trying to figure out what's causing the below error:
Sabre/Xml/ParseException with message 'We hit the end of the document prematurely. This likely means that some parser "eats" too many elements. Do not attempt to continue parsing.'
The error is only ever triggered when I run the parseInnerTree() function on my XML string and seems to always error on a specific element. When I check that element outside of my script, nothing seems out of place and it's valid XML.
From a few searches, it seems like #140 could be similar but I'm not using any type of KeyValue implementation.
I'm sorry for the lack of more specifics, but I don't understand where to start yet. I was first looking to dump additional details like what line of XML the script is at the time the error is thrown or actually showing the full element which caused the error but I couldn't find much.

Hi @danswiser ,
Could you please share a script that reproduces the issue? It would really help with this.

Thanks for the quick response.
Unfortunately the XML contains sensitive company data and I can't share that.
I should be able to privately share the code after I remove some information if that would help?

It's not just me looking at this though. It's definitely more helpful to have it there.
All we need really is a testcase that can trigger the bug, so it doesn't have to be the exact XML you're using. You can modify the source data until the error pops up?

Is there a way to dump the last line which was being processed before or after the error is thrown? If I can at least see "into" the Reader class when it's failing I can keep troubleshooting.
Here's some code and an example of how the XML file is structured: https://gist.github.com/danswiser/fc1d4e85fabd5e4c200ebf885e474226
To describe what's going on, I'm converting an XML file which shows the status of multiple queues in a call center. Many Queue's can have many Groups of Agents and each Agent belongs to one Group.
I have 4-5 XML responses from multiple endpoints which have G Elements for each Group with a list of Queues and Agents they are tied to. Each response is parsed using this package into Agent, Group and Queue classes.

What happens if you remove:     $reader->next(); // Required
Calling ->next is required, but parseInnerTree should already call it.

I removed $reader->next(); after running $reader->parseInnerTree() and it seems to have fixed the original problem.  Now it just seems I'm running out of memory. I'll troubleshoot that separately.
Thank you.

Awesome!


Has anyone tried this with Catalina's new Apple Music app?

Would love to hear from anyone who's tried this with Catalina's new Apple Music app. I'm not upgrading until I hear some experiences as I don't want to lose control of my music library. Hard to tell if it supports the DAAP protocol needed.

Found this thread afterwards which gave me the answers I needed.
https://github.com/maddox/itunes-api/issues/42


Data type qualifiers (eqd Return as fix)

Some data types now have qualifiers e.g. a date has a "Year" part. Data model changes in Import data set effective date and effective time as two seperate fields. im:Date has 6 qualifiers.
See document.
Eqd converter sets Return as in the leaf clause for the properties.

Latest commit supports a specialised tool tip for data model viewer


enh: folders are like projects

Inspired the notion of Projects in Claude and the variation newly available in ChatGPT, let's think through how to give OWUI folders a little bit more expressive power.
Features
Custom instructions
Suppose that instead of just having a Rename options for a folder, we had a richer Edit option. Here are some mock-ups created quickly with the browser's devtools.

Inheritance rules
Should the folder-specific constructions extend or override the user's general custom instructions (system prompt) or the custom instructions from an enclosing folder? I don't know. Maybe the user can decide.
To match the behavior of how the system prompt controls for a specific conversation override the user's general settings, perhaps the default value would be for the inherit attribute would be false. This would also match the behavior of the current ChatGPT interface where the custom instructions for a Project cause the assistant to not be aware of the user's general Custom Instructions.
Start conversation in a folder
In order to get the immediate benefit from folder-specific custom instructions, we'd like to be able to start a new conversation in the context of a specific folder (rather than moving it into that folder after the conversation has already started). The UI for this might be a little + icon that is visible on hover as well as an option in the ... menu so that the feature is available to touchscreen users.
Use cases
I often have a few different genres of conversations on OWUI. Folders help me organize the conversations after they started, but I want tools to help me start them off right. Here are some examples:

Quiet idea development: The assistant almost always replies "..." or "mhmm" to every message unless the user has a specific request. This allows stream-of-thought writing without the assistant yapping verbose replies. It is also good for voice conversations.
Artifact construction: I want to generate in-browser artifacts, but there are bunch of special rules I want it to follow to make sure they work well within the OWUI interface.
Song lyric generation: I want to prime the assistant to use certain formatting conventions when generating lyrics that are intended to be rendered with Suno, and I might want to give it some general background information on a repeatable songwriting process to follow in each conversation.
Research project technical support: I want to provide background information on my current research project (including nested sub-projects) to contextualize quick text conversations that I have during meetings with my human collaborators.

Current workarounds
User-specific mega prompt
With one giant hunk of text in my user-specific custom instructions, I can tell the assistant the rules for each specific genre of conversation I might want. However, this slows down responses and wastes energy on irrelevant input tokens. Further, it still requires me to type out my selection of genre in my opening message rather than select it unambiguously with the mouse/touchpad.
The Prompts feature in Workspace
If I try to put this kind of background information into prompts, it feels like the resulting conversations become cluttered with general background information at the top. Ideally, I'd like to have very short conversations where the pre-shared context information is not reproduced on the screen. Meanwhile, I don't expect to want to share many of my folder-specific instructions with others.

Your proposition are very interesting.
Here some additional suggestions.
From folder to project with team
From my side, folder are very useful to dispatch my work but what will make more operational is to work in group .
My vision is to enable the creation of 'project' where I can add a specific knowledge, my previous threads but also add specific 'prompt' 'model assistants ' and 'human team members' .
By doing so we could be several team members both human and agentic to work in the same direction.
So introducing of projects could be pertinent as state by @rndmcnlly but what makes powerful projects is to be able to work together (humanS and AgentS) on it.


NSE convective and skew-symmetric form of nonlinear term

Hi all,
I was hoping to get some advice on how to implement the convective and skew symmetric form of the advection term of the Navier-Stokes equations in MFEM in a linearized sense.
Just to be clear for a given u_h^n, unknown u_h^{n+1}, and test function v_h I would like to evaluate the forms
(u_h^n \cdot \nabla u_h^{n+1},v_h)
and
(u_h^n \cdot \nabla v_h,u_h^{n+1})
I thought the first of the above forms would just work with ConvectionIntegrator i.e. something like
conv_NSE->AddDomainIntegrator(new ConvectionIntegrator(u0));
but it seems (unless I am misunderstanding something) that this is only implemented for the case where u_h^{n+1} is a scalar quantity. I also took a look at the VectorConvectionNLFIntegrator, which seems like it would be able to give me the Gateaux derivative, but does not seem like it could be used to produce the above forms (unless I'm again not realizing something).
If this isn't already implemented within MFEM is there any reasons I wouldn't be able to just implement these forms myself? It seems to me like it would just be some modifications to what already exists in ConvectionIntegrator.
Thank You

VectorConvectionNLFIntegrator only provides the "action" of what you described to a vector valued quantity when you use what we call Partial Assembly. It does provide the Gateaux derivative in the common case, see https://github.com/mfem/mfem/blob/master/fem/nonlininteg.cpp#L740.

Hi jandrej,
Thank you for the quick response. In that case, I believe I will implement versions of the convective and skew symmetric form  myself in order to have the option of not using partial assembly. Would you recommend further overloading VectorConvectionNLFIntegrator or doing it as separate forms?

I don't see an issue with inheriting from VectorConvectionNLFIntegrator and overloading AssembleElementGrad, based on an option to either do the convective or skew symmetric form.

Hi Jandrej,
I've been working on this a bit, but am having some issues getting this implemented. I know you recommended overloading AssembleElementGrad, but was wondering if there is a reason I would not be able to do it as a bilinear form rather than a nonlinear form? So far I modified ConvectionIntegrator to VectorConvectionIntergator in the code below, which I believe is just the vector implementation of ( Q \grad u, v). Is there any reason I would not be able to add a definition of elfun, remove Q and incorporate elfun in the loop over elmat at the end?
void VectorConvectionIntegrator::AssembleElementMatrix(
   const FiniteElement &el, ElementTransformation &Trans, DenseMatrix &elmat)
{
   int nd = el.GetDof();
   int dim = el.GetDim();
   const int sdim = Trans.GetSpaceDim();

   elmat.SetSize(nd * sdim);
   dshape.SetSize(nd,dim);
   adjJ.SetSize(dim);
   shape.SetSize(nd);
   vec2.SetSize(dim);
   BdFidxT.SetSize(nd);
   pelmat.SetSize(nd);

   Vector vec1;

   const IntegrationRule *ir = IntRule;
   if (ir == NULL)
   {
      int order = Trans.OrderGrad(&el) + Trans.Order() + el.GetOrder();
      ir = &IntRules.Get(el.GetGeomType(), order);
   }

   Q->Eval(Q_ir, Trans, *ir);

   elmat = 0.0;
   pelmat = 0.0;

   for (int i = 0; i < ir->GetNPoints(); i++)
   {
      const IntegrationPoint &ip = ir->IntPoint(i);
      el.CalcDShape(ip, dshape);
      el.CalcShape(ip, shape);

      Trans.SetIntPoint(&ip);
      CalcAdjugate(Trans.Jacobian(), adjJ);
      Q_ir.GetColumnReference(i, vec1);
      vec1 *= alpha * ip.weight;

      adjJ.Mult(vec1, vec2);
      dshape.Mult(vec2, BdFidxT);

      AddMultVWt(shape, BdFidxT, pelmat);
   }

   for (int d = 0; d < sdim; d++)
   {
      for (int k = 0; k < nd; k++)
      {
         for (int l = 0; l < nd; l++)
         {
            elmat(nd*d+k, nd*d+l) = pelmat(k, l);
         }
      }
   }
}

Sorry for the late reply. There is nothing that would prevent that I believe. If I understand correctly this would do the same as implementing the NonlinearForm, or am I missing something?
I could recommend more specific concepts if you can give more information on what you are trying to do in general. E.g. are you trying to setup an implicit solver for the Navier-Stokes equation or just need the assembled form for a Preconditioner.

I'd like to be able to assemble the form to be able to implement my own Picard iteration or semi-implicit timestepping for the NSE. I agree that this would be the same as implementing the NonLinearForm and decided to go back and try that instead. I have the following code based on the existing nonlinear form below with comments on how I think it is working (however it does not appear to be working).
`void ConvectiveVectorConvectionNLFIntegrator::AssembleElementGrad(
const FiniteElement &el,
ElementTransformation &trans,
const Vector &elfun,
DenseMatrix &elmat)
{
int nd = el.GetDof();
int dim = el.GetDim();
shape.SetSize(nd);
dshape.SetSize(nd, dim);
dshapex.SetSize(nd, dim);
elmat.SetSize(nd * dim);
elmat_comp.SetSize(nd);
gradEF.SetSize(dim);
EF.UseExternalData(elfun.GetData(), nd, dim);
elfun.Print();
double w;
Vector vec1(dim), vec2(dim), vec3(nd);
const IntegrationRule *ir = IntRule;
if (ir == nullptr)
{
int order = 2 * el.GetOrder() + trans.OrderGrad(&el);
ir = &IntRules.Get(el.GetGeomType(), order);
}
elmat = 0.0;
for (int i = 0; i < ir->GetNPoints(); i++)
{
const IntegrationPoint &ip = ir->IntPoint(i);
trans.SetIntPoint(&ip);
  el.CalcShape(ip, shape);
  el.CalcDShape(ip, dshape);

  Mult(dshape, trans.InverseJacobian(), dshapex);

  w = ip.weight;

  if (Q)
  {
     w *= Q->Eval(trans, ip);
  }

  //MultAtB(EF, dshapex, gradEF);
  EF.MultTranspose(shape, vec1); // u^n

  trans.AdjugateJacobian().Mult(vec1, vec2);

  vec2 *= w;
  dshape.Mult(vec2, vec3); // (u^n \cdot \ grad u^{n+1})
  MultVWt(shape, vec3, elmat_comp); // (u^n \cdot \ grad u^{n+1},v)

  for (int i = 0; i < dim; i++)
  {
     elmat.AddMatrix(elmat_comp, i * nd, i * nd);
  }

}
}`
My impression on the way this would work is that I could generate the matrix corresponding to the form
(u_h^n \cdot \nabla u_h^{n+1},v_h)
using something like
N_NSE->AddDomainIntegrator(new ConvectiveVectorConvectionNLFIntegrator()); SparseMatrix *Non = dynamic_cast<SparseMatrix*>(&N_NSE->GetGradient(un));

Ok, your approach makes sense in terms of how the mfem interface is setup. GetGradient is also the right method to retrieve the linearized version of your integrator.
Your implementation of the kernel looks reasonable, although I haven't checked it thoroughly.
By "I do not seem to be getting the correct output" you mean that the Jacobian you are expecting is not correct or the solution you are getting is not correct?

Sorry, I meant that the solution to the steady state NSE I'm getting is not correct. I'm unsure if the form being returned by the above code is working properly, but I suspect there is a small bug. The only other problem I can think of is the handling of the boundary conditions for the returned form or the sparse matrix addition (I am just adding it to the velocity block, with the stiffness matrix pre assembled see the code below).
N_NSE->AddDomainIntegrator(new ConvectiveVectorConvectionNLFIntegrator());
SparseMatrix *Non = dynamic_cast<SparseMatrix*>(&N_NSE->GetGradient(un));

for (int i = 0; i < ess_tdof_list.Size(); i++)
            {
               Non->EliminateRowColDiag(ess_tdof_list[i], 0.0); //Set boundary values to 0
            }

A.Add(1.0,*Non); // A is the stifness matrix with boundary conditions applied

This means your sparse matrix contains zeros on the rows columns of ess_tdof_list[i], even on the diagonal. Is that your intention?
You can also call
N_NSE->SetEssentialBCs(ess_tdof_list);
SparseMatrix *Non = dynamic_cast<SparseMatrix*>(&N_NSE->GetGradient(un));
A.Add(1.0,*Non);

Then the dirichlet bc's are handled for you in the nonlinear form and your sparse matrix Non has zeroed out rows and columns but contains a 1 on the diagonal. This also handles the residual coming from N_NSE correctly. E.g. evaluates to R(u_e) = 0 for e in ess_tdof_list.
Hope this helps.

Thank you for the help. Everything appears to be working for me now. I will go ahead and close this issue and submit a PR with the new forms in the near future.


MLRE/Reason-Tools conversion bug

See: example in reason-tools
Source is Ocaml Variants
Link doesn't see to be working so...
So if you paste in List.map ~f:basic_color_to_int [Blue;Red];;
You get List.map(~f=basic_color_to_int, [Blue, Red]);
Working code should be: List.map(basic_color_to_int, [Blue, Red]);

I think this is because RWO expects you to be using Core, and Core shadows the stdlib List.map function with a version that has labelled arguments.
https://ocaml.janestreet.com/ocaml-core/109.22.00/doc/core/List.html
So this is a correct conversion, but just won't run unless you're using Core


Typescript React support

Can you add typescript react support for typescript only. Right now when I am inside .tsx file Intellicode doesn't work. Only in .ts files.

If I'm right the same goes for .jsx too.

yeah

@minestarks Can you take a look a this? I'm able to see IntelliCode suggestions inside of a .jsx file as shown below:

@aexol @svipben  to make sure I understand -- you see suggestions in .js and .ts files, but not in .tsx or .jsx files?

Yes I am able to see suggestions on React, but when I use other libs I cant. I might have overestimated intellicode support. There was a package doing intellisense based on what you've written before. Intellicode is hardcoded?

@minestarks

It's trained on projects that use common libraries, and the model is static regardless of the contents of your project. We are certainly looking into making it smarter! (Check out our C# support for an example of how IntelliCode trains on your project).
May I ask what libs you're not seeing support for? I can vet our training coverage to make sure we include enough data for popular libraries.

Haha my own libs :) Sure I'll wait for that feature. There was a guy I dont remember the name but it might be https://tabnine.com/ this. I haven't use that yet but you may test it.

Thanks @aexol. I'm going to close this issue since the underlying issue is not with React or tsx/jsx files, but rather that IntelliCode currently does not support training custom models on your own libraries/code.
Feel free to 👍 #26 for this feature.


Allow generation of source and deployment files without needing to run on server.

Allow SoftwareGenerator and RunExperiment plugins to be run on client side so that they can simply generate and zip the source files and deployment files for the project.  This would be useful for guests on rcps.isis.vanderbilt.edu who do not have permission to use the cluster but still wish to create models and get back their generated code to compile and run themselves.

May not be possible: seems to be difficult to add compression into tar/gz without using server-side code/libraries

After #94, we should be able to create the folder structure required in memory and use jszip to zip the relevant artifacts.  There will need to be a link to github.com/rosmod/rosmod-actor release for users to download as well.


Microsoft Buildings are shown but already exist

Description
In the last few weeks sometimes the building outlines appear, even the buildings are already exist (edited and uploaded).
Screenshots
AI suggestions are shown for already existing buildings:

Version
2.2.5
What browser are you seeing the problem on? What version are you running?
Firefox v122.0
The OS you're using
win
Steps to reproduce

edit buildings
upload changeset
look at the previously edited area

The browser URL at the time you encountered the bug
https://rapideditor.org/edit#background=FOMI_2007_2010&datasets=fbRoads,msBuildings&disable_features=landuse,pistes,aerialways,power,past_future&map=18.26/46.17578/17.31845
The auto-detected useragent string for your browser (leave blank if you're manually filling this form out)
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0

Thanks, I think this is a duplicate of #1295, which is tracking improvements to our service that conflates the Microsoft buildings against the OSM buildings.  We're working on it!
cc @Bonkles


kmesh-build.dockerfile for kmesh-build image

What type of PR is this?
/kind feature

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

not needed


Added config option for changing index lock file path

Added possibility to change value of FILE_LOCK constant in config (at the same level as search_index option).

Coverage decreased (-0.2%) to 92.164% when pulling be981f5510faf87e214b172aef279c49577108ce on lcharkiewicz:lock_file_config into 3f42d7cf35de73729d79b48ef53dd9e1e4bc2b82 on InfluxGraph:master.

Hi there, thanks for the interest and the PR.
This was missing, thanks for the addition. Could you put an example entry in the example config? Looks good for merging otherwise.

Hey,
I've added the example configuration also for search_index. Wanted to make it clear enough. :)

Coverage increased (+0.1%) to 92.515% when pulling 375c0d44f8419d38a0543dbed6acc1800f9bbabc on lcharkiewicz:lock_file_config into 3f42d7cf35de73729d79b48ef53dd9e1e4bc2b82 on InfluxGraph:master.

Coverage increased (+0.1%) to 92.515% when pulling 375c0d44f8419d38a0543dbed6acc1800f9bbabc on lcharkiewicz:lock_file_config into 3f42d7cf35de73729d79b48ef53dd9e1e4bc2b82 on InfluxGraph:master.

Coverage increased (+0.1%) to 92.515% when pulling 375c0d44f8419d38a0543dbed6acc1800f9bbabc on lcharkiewicz:lock_file_config into 3f42d7cf35de73729d79b48ef53dd9e1e4bc2b82 on InfluxGraph:master.

Oh, just realised that. Since it's an influxgraph configuration setting, it should be under influxgraph section in config, if you don't mind making that change.

Sure, moved it to the proper section.

Thanks! The code is currently failing the flake8 check - https://travis-ci.org/InfluxGraph/influxgraph/jobs/263538155

Coverage decreased (-0.4%) to 92.047% when pulling 0e1e92325aea9700c72a1ccd55f4254802c8fb31 on lcharkiewicz:lock_file_config into 3f42d7cf35de73729d79b48ef53dd9e1e4bc2b82 on InfluxGraph:master.

Looks great, thanks for the contribution!


draft releases: update & delete events being sent while creation dont

Description
Pretty much what the title says: while creation events are not being sent when creating an release marked as draft, update and deletion events are, which seems counter intuitive; it should either be all sent or non of them for draft releases.
Gitea Version
1.17.2
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
linux
How are you running Gitea?
Official binary release
Database
MySQL

Fix has been reverted for further discussion.

I lost the information about why the PR has been reverted.

Everything in #21451

I think this has been resolveded by #29008


🐞 [Bug]: listing requests got triggered twice on mount contracts page

Is there an existing issue for this?

[X] I have searched the existing issues

which package/s did you face the problem with?
Dashboard
What happened?
after opening contracts page, tables are reloading twice, This happens because Update:options is triggering while mounting the table with init values, and loadContracts are also triggering in onmount function.
Steps To Reproduce

open https://staging.dashboard.dev.grid.tf/#/deploy/your-contracts/
each table will be in loading state twice

which network/s did you face the problem on?
Dev
version
2.5.0-rc1
Twin ID/s
No response
Node ID/s
No response
Farm ID/s
No response
Contract ID/s
No response
Relevant screenshots/screen records
I set network throttling to slow 3g, to make it easy to catch
Screencast from 28 ماي, 2024 EEST 05:24:42 م.webm
Relevant log output
N/A

Issue update
Work done
Enhance the contracts list by removing the duplicate requests, and reduce the time limit when loading the contracts by removing the onMounted lifecycle
Changes

Removed the 'onMount' from the 'onMounted' life cycle since it is not needed because we call the 'loadContracts' function on each change that happens on the table.
Fix the contracts table takes too much time to load.

Screenshots/Video
Screencast from 06-04-2024 06:46:01 PM.webm

Issue update
Work done
Enhance the contract list view:

Replaced the static values with ref concept to change the value when needed.
Cached the nodes to use it when re-request to avoid duplicated requests.
Enhanced the list time by using the Promise.all() and displaying what gets finished.
Introduced a new hint alert to inform the user that the table will be reloaded in a bit.
Replaced the update-options event with the update-page and update-size events to avoid requesting each change that happens on the table and only request when changing the page/size.
Created only one function to request to list the contracts based on it's type.
Returned the onMounted life cycle and called the 'loadContracts' inside it.
Remove the duplicate requests.
Updated the getNodeInfo function to request only the nodes that are not cached.

verified and working fine on devnet
version : ad30945

the duplicate requests are now removed
Introduced a new hint alert to inform the user that the table will be reloaded in a 8-10 seconds.

https://github.com/threefoldtech/tfgrid-sdk-ts/assets/110984055/c2517586-7798-45ee-836f-7894607ffaae
https://github.com/threefoldtech/tfgrid-sdk-ts/assets/110984055/34e44efb-c0ea-446e-93b4-af889126a313


Fix minor typos

Description
I just fixed one typo I found here:

Edit: I also added a space here:

Pull request type
Please check what kind of PR this is:

[x] Fix or improvement of an existing page
[ ] New documentation page, release related

Checklist:

[ ] Check all content with Grammarly
[ ] Perform a self-review of my code
[ ] Make corresponding changes to the rest of the documentation (consult with the DX team)
[ ] The build passes locally
[ ] My changes generate no new warnings or errors
[ ] Add a corresponding label
[ ] If release-related, add a product and version label
[ ] If release-related, add release note on product PR

Thank you John! :)


"Unexpected token div. Expected jsx identifier" in .tsx file

Describe the bug
swc fails to compile a React component that defines a function with a return type inside a JSX expression.
error: Unexpected token `div`. Expected jsx identifier
 --> broken.tsx:5:10
  |
5 |

  |          ^^^

Caused by:
    0: failed to process js file
    1: failed to parse module
Error: Failed to compile 1 file with swc.
    at Object.assertCompilationResult (C:\Projects\CareServices\TracRx\Source\node_modules\@swc\cli\lib\swc\util.js:115:15)
    at files (C:\Projects\CareServices\TracRx\Source\node_modules\@swc\cli\lib\swc\file.js:179:18)
    at async _default (C:\Projects\CareServices\TracRx\Source\node_modules\@swc\cli\lib\swc\file.js:198:9)

Input code
import React from 'react'

export function Results() {
    return (

            {[].map(() => {
                function onClick(): void {}

                return null
            })}

    )
}

Config
Doesn't seem to matter much. Same error whether I use no config file or
{
   "jsc":{
      "parser":{
         "syntax":"typescript",
         "tsx":true,
         "decorators":false,
         "dynamicImport":true
      },
      "target":"es5"
   },
   "module":{
      "type":"commonjs"
   }
}

Expected behavior
The code should compile without error. The TypeScript compiler can compile this code.
Version
The version of @swc/core: 1.2.85
Additional context
The error goes away if you remove the void return type annotation from onClick.

This shouldn't be closed bugs still happening.

@matteoturini Please share more input code.

@faustAbc

I faced the same problem recently. The issue was I used component that wasn't defined.

Did you use swc? At the moment of parsing, whether a component is defined does not matter at all.

Also, please file another issue with input


when trying 03_RAG/rag.py ， there is an Error

Traceback (most recent call last):
File "/Users/a0000/mywork/commonLLM/opensource/lamini-sdk/03_RAG/rag.py", line 13, in
runner.index.save_index("index")
File "/Users/a0000/mywork/commonLLM/opensource/lamini-sdk/03_RAG/lamini_index.py", line 86, in save_index
logger.debug("Index size: %d", self.index.ntotal)
^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'ntotal'

Rag tuning is moved, sorry for the inconvenience.
You should run the python code with the provided script. It sets up the docker environment.
Directly running python code does not work.


Daemonset is missing field Misscheduled in DetailTop

On master-head - commit id: 33f755f180
Daemonset has all fields except for a field Misscheduled in DetailTop
Related issue: https://github.com/rancher/dashboard/issues/693

Verified on 2.5-head - commit id: eb990af66 and ui-offline-preferred - false

Misscheduled is available on detailTop of daemonset


[IMPROVMENT] Merging declaration IServiceSettings

Informations

Type
Version

Improvement
4.x

Description
Each packages like @tsed/ajv or @tsed/mongoose declare his IServerSettings with the declare keyword and implement his settings. The goal is adding his configuration in the original IServerSettings.
Currently, this merging doesn't work as expected.
Example of merging declaration
declare interface IServerSettings {
    mongoose: {
        url?: string;
        connectionOptions?: ConnectionOptions;
        urls?: { [key: string]: MDBConnection }
    };
}

The IServerSettings interface:
export interface IServerSettings {
    rootDir?: string;
    env?: Env;
    port?: string | number;
    httpPort?: string | number | false;
    httpsPort?: string | number | false;
    httpsOptions?: Https.ServerOptions;
    uploadDir?: string;
    exclude?: string[];
    mount?: IServerMountDirectories;
    componentsScan?: string[];
    serveStatic?: IServerMountDirectories;
    acceptMimes?: string[];
    debug?: boolean;
    logRequestFields?: ("reqId" | "method" | "url" | "headers" | "body" | "query" | "params" | "duration")[];
    validationModelStrict?: boolean;
    logger?: Partial<ILoggerSettings>;
    controllerScope?: ProviderScope;

    [key: string]: any;
}

Todos

[ ] IDE and Compiler use the merged interface

If you have any idea :)

i think to allow one package extend the main IServerSettings it would need to be defined as global... something like this:
declare global {
    interface IServerSettings {
        rootDir?: string;
        env?: Env;
        port?: string | number;
        httpPort?: string | number | false;
        httpsPort?: string | number | false;
        httpsOptions?: Https.ServerOptions;
        uploadDir?: string;
        exclude?: string[];
        mount?: IServerMountDirectories;
        componentsScan?: string[];
        // serveStatic?: IServerMountDirectories;
        acceptMimes?: string[];
        debug?: boolean;
        logRequestFields?: ('reqId' | 'method' | 'url' | 'headers' | 'body' | 'query' | 'params' | 'duration')[];
        validationModelStrict?: boolean;
        logger?: Partial<ILoggerSettings>;
        controllerScope?: ProviderScope;

        //[key: string]: any;
    }
}

and then on the @tsed/ajv package for example
declare global {
    interface IServerSettings {
        ajv: IAjvSettings;
    }
}

the problem i see with this approach is that it is not namespaced ... it could crash with the user IServerSettings if they happen to have one...

Ok I'll try your solution ;)

Fixed :)


Docker Container for a full quick start of the api !

Is your feature request related to a problem? Please describe.
Not really but for a quick start project, it could be nice to have a docker container for githubrows that start a full restfull api
Describe the solution you'd like
I would like to add that to the project but i wanted to know if it's on the roadmap at the first place, i mean something like...
FROM node:12.18.1
ENV NODE_ENV=production

WORKDIR /app

COPY ["package.json", "package-lock.json*", "./"]

RUN npm install --production

COPY . .

CMD [ "node", "server.js" ]

Describe alternatives you've considered
N/A
Additional context
N/A

Soooo.... i finaly decided to make it myself lol !
https://github.com/Sanix-Darker/gitrowspack-api
With some adjustments, fix, corrections and improvements !

Well done @Sanix-Darker !


Allow generating source info when outputing descriptors

When outputing descriptors it's sometimes useful to have the SourceCodeInfo populated in the FileDescriptor. This is achieved by passing the --include_source_info argument to protoc, there's currently no way of doing this with the maven plugin.

Released <IP_ADDRESS>


How to modified my own model to fit a 3-class problem?

It gives me an error like:
ValueError: Using a target size (torch.Size([24, 10, 156])) that is different to the input size (torch.Size([24, 3, 156])) is deprecated. Please ensure they have the same size.
I already change the confs/default.yaml's nclass to 3.But the target size still seems to be 10, What else I should do?

Hi,
Yeah, you have to change local/classes_dict too.
I agree it's not very intuitive we should probably change the code to make it appear in the configuration file since the dataset is there too :)

Hi, Yeah, you have to change local/classes_dict too. I agree it's not very intuitive we should probably change the code to make it appear in the configuration file since the dataset is there too :)

It works!

If you don't have the filenames, it is probably because in train_sed.py you changed the validation set and forgot to mention "return_filename=True" like here:
https://github.com/DCASE-REPO/DESED_task/blob/f0161eb2a6766e3479494ca5e13a208d82a9c168/recipes/dcase2022_task4_baseline/train_sed.py#L156
From
https://github.com/DCASE-REPO/DESED_task/blob/f0161eb2a6766e3479494ca5e13a208d82a9c168/recipes/dcase2022_task4_baseline/train_sed.py#L152-L158

It seems you got part of your answers @young169 , can we close this issue ?


Support headers for http backends

Users may want to pass additional headers to http backend, we need to add this option to processor configuration and pass headers to http requests.
Headers values should support template language as well

Done as part of #113


Auto-generate docs

When releasing a new metal-stack release in the releases repository we can create a branch in the docs repo, updating the metal-stack version and generate docs accordingly. Then raise a pull request for that.
Quite similar to swagger client gen.

Can be done with swagger client webhook. The webhook functions should be renamed a little to clarify what a user can do with it, but this can be closed I guess.