React context-like feature

Would a React context-like feature ever be added?
Context is an implicit way to pass down data from a component without having to pass them through props on every level.
https://facebook.github.io/react/docs/context.html
It's generally not a good idea to use context for application-specific logic, but it's very useful for objects like stores.
Currently working on a helper mixin that achieves something similar, but would prefer to see this baked in the core.

Why would you need context with Vue?

Afaik, there currently isn't a way to implicitly pass down props.
Current options:

Explicitly passing down props isn't clean for object like stores for your application state
Plugins kind of solve the issue, but they can only be applied globally
this.$root is an option, but then you're forced to set the data on the root component

Possibly interesting alternative to context: plugins / mixins that apply to a component and all of it's descendants, instead of globally

@sebastiandedeyne  Functional components already have this context feature. (vuejs.org/guide/render-function#Functional-Components) Though currently normal components don't.
I guess it can be useful if normal components can get access to it too.

Context in functional components only provides data from the direct parent (I don't think context provides anything more than a normal component would have?), it doesn't solve the problem of passing data to deeper descendants—which is what context in React does, it's the same name for something different.

I think this feature is nice to have in Vue.
Because some libraries actually implement this behavior (vue-router, vuex) their own global mixin.
And also, there is a use case on userland, e.g. passing an event bus instance to all descendants.

To get the ball rolling;
I needed this feature in a recent project, and solved it by writing two mixins: expose and inject. You'd apply expose to a parent component, and it would create an $exposes object on the vm with whatever data you want. Next, calling inject on a child component would recursively look for a parent component that exposes a certain property, and set it on the child component (prefixed by a $).
Vue.component('parent', {

    template: '
<child></child>
',

    data() {
        return {
            user: {
                name: 'Sebastian',
            },
        };
    },

    mixins: [
        expose(vm => ({
            user: this.user,
        })),
    ],
});

Vue.component('child', {

    template: '
{{ $user.name }}
',

    mixins: [
        inject('foo'),
    ],
});

@sebastiandedeyne that is quite an interesting approach.
Maybe something like:
var parent = {
  ...,
  expose: ['user'],
};

var child = {
  ...,
  inject: ['user'],
};

That would be the same as passing props.
I'm still unsure about the utility of a context on Vue.
To me it looks like the context issue is either solved with a state management library or by injecting something to every instance.
Is a plugin that inherits the context from the parent overriding properties what you're looking for @sebastiandedeyne ?

Let's say that, hypothetically, Vuex wouldn't be implemented as a global plugin, but as something that can be applied on a per-component basis.

Passing down the store as a prop to every single child component would be counter-intuitive
There's no other way to inject an object that's set on a specific component instance

I'm looking for a mechanism to have a property based on something that a parent—an ancestor—component defines, not necessarily the direct parent.

Of course we can do the same thing by explicitly passing values to props but I think we sometimes need such implicit data propagation.
In my case, for example, I am writing canvas rendering abstraction library and it has components for shapes (rect, circle, etc...) rendered on canvas. The shape components have to be descendants of context component that has canvas DOM element.
Example:

<context width="300" height="300">
  <rectangle x="10" y="20" width="50" height="50"></rectangle>
  <group x="100" y="100">
    <triangle v-for="t in triangle" :x="t.x" :y="t.y"></triangle>
  </group>
</context>

When the data of shape components are updated, I have to notify to context component through an event bus to re-render the canvas. To do so, I need such react's context-like feature to propagate an event bus because 1) it is quite verbose to write props for all shape components, 2) it needs its own event bus instance for each context component instance and 3) I don't want to manage this on global state management as this is local view's concern.

Context is a convenient construct for library author and coupled components(for example tabs and tab-panes). For a library, it is quite strange and lame to encapsulate library local context in a separate global store. Library author might be able to take the burden of passing props all over, but components may also be an interface for end users. @ktsn has a good example and good arguments for context feature.
But I have some questions about after reading React's context document. (disclaimer: I'm not a React user.)
It seems the cooperation of context and shouldComponnentUpdate is not a problem in Vue because context is also reactive. So there is no need to workaround context update as described in this article.
But I still have questions on how context should be found. For example, should context only be found as a child's parent? Or ancestors? Or only closest ancestor?
If we resolve context as ancestors, how can we handle context key conflict?  It seems React's context implementation only chooses the closest ancestor. Example.
And this will easily cause problem when multiple libraries provide different contexts with the same name, say, one component receives context from another library component.  Or we can collect all context properties from ancestors and pack these properties into an array or a map?
Also, should context in parent component be visible to all its children, in templates and slots? Or only to children in its template? Or only to children in slots? Or provide an option for users to choose?

I have tried some toy implementation. It seems to be fully doable in user land without touching vue core.
A working example here and source here.
It requires a token for each expose and injection to avoid conflict. Other parts look like api suggested by @simplesmiler  and @sebastiandedeyne
var user = createToken('user')
var parent = {
  ....
  expose: (vm) => ({[user]: this.user})  // computed property key for token
}
var child = {
  inject: {user}
  // {user: user},the first user is for property name, second is token value
}

Context visibility is fully controlled by token. If parent component does not expose token, context is not visible to any child.  Another helper method $inject can let children decide to inject only closest context or inject contexts from ancestors, all the way up to $root.
I agree with @posva that context is very delicate and can be replaced by passing props. Including it by default promotes bad practice to beginner. If advanced users do need it in library code, the implementation overhead is just few lines of code.

I have my doubts about the token. While I understand that it's useful to avoid conflicts, it's an object that needs to be passed around throughout components—which is exactly what we're trying to avoid.
What would this look like assuming components live in separate files (so you can't just declare the token variable on top, but need to pass it around somehow)?
Or is the token not required?

Because token is just a primitive value (symbol in ES6 environment or string otherwise), it can be declared outside of component and imported. So only component used the context feature will need to import token. Intermediate component will be agnostic about token and context. No need to passing around token.
A Token itself is globally unique, but context object retrieved by the token is component specific and stored only in relevant components.

Makes sense. I still believe strings are good enough in most situations though, but being compatible with symbols is a good addition for those that want something more 'strict'.
I'm working on a package for this to use throughout my own projects (will be open sourced too), but I'd still prefer to see something official for this, either in the core or as an official package :)

I think it's an excellent proposal. Of course something like this should be used with caution.
I believe that if they deem it necessary this can be an additional package, not part of the core of the vue

In addition to the example by @ktsn this approach can be useful to act similar to a Service Locator to decouple components from services and avoid to "require()" a service instance (as I read as solution in some examples)
import fetcher from "Fetcher"

// I want to configure the Fetcher or use a fetcher "interface"
// I want to avoid to mock the require in testing

const app = new Vue({
  methods: {
    useService: function() {
      fetcher.fetch()
    }
  }
});

Using the approach from @HerringtonDarkholme I actually solved the issue with this proof of concept implementation
// app .js
const app = new Vue({
  el: config.el,

  // declares services in a component
  // or at root level
  services: {
    fetcher: Fetcher(config.endpoints),
    dispatcher: channel("app")
  }
});

// component.js
export default {
  template: template,

  // inject only the needed service in a property
  // or in a $services object visible only from the component
  // asking for the service id or other valuable mechanism
  inject: {
    disp: 'dispatcher'
  },

  methods: {
    dispatch: function() {
      this.disp.publish("commands", {});
    }
  }
}

Beside the implementation as a plugin, which uses an awful global container, defining the services as a key value pairs remind me the data props definition and open the more complex features (like querying for a feature or interface).

In case anyone's interested, in the mean time I created a package based on what has been discussed for our own projects: https://github.com/spatie/vue-expose-inject

I support this feature request. Definitely something I could have used on a past project. Something native to Vue would be really cool.

+1

Since it is doable in user land, I think there is no need to do it in core. See comment abowe for additional information.

I started to think this feature is desirably supported by official. (Either builtin or by official plugin).
The usage is quite different from those mentioned above.
In testing, I want to replace some dependencies imported from other files. Now the vue-loader official doc recommends to use inject-loader. However, it depends on specific build system like webpack. And inject-loader is quite of black magic. If context feature is supported, it can act like a dependency injection system, naturally. And in test we can inject mock into component easily and universally, without hacking build system.
Another issue is discovered in SSR. Currently bundled-render uses vm module to evaluate code in sandbox. This might be performance bottleneck. On the other hand, we cannot use global state in non-bundled render. Context feature can be the recommended way to manage global state. New state can be injected for every new request.

As for me Angulars' DI is very flexible but complicated. On the over hand Reacts' context is more simple to use. If this feature will be implemented, I would expect to have the best from two worlds in Vue. But I still think that we don't need something simple enough which can be implemented in user land.

It may be simple to implement in user land, but the main reason I want this in core or an official package is so we have a standardised solution.

FYI: this can now be accomplished using provide / inject

Whatever solution is arrived at, please please, avoid matching contexts by string name. Instead, match context by reference. This prevents naming collisions/conflicts, and is one major thing React fixed from their first context implementation to their second.
For reference, here's my small context implementation for SkateJS: https://codepen.io/trusktr/project/editor/XbEOMk
The app.js is the important file containing the sample usage. The main thing to note is the static provides and consumes variables (named similarly to the React context API Provider and Consumer). This is similar to @sebastiandedeyne's expose/inject idea.
Notice in particular that the providers are passed by reference. This makes them entirely unique and clash free (like with React's new Contexts).
In my sample, contexts are not used declaratively like they are in React's JSX version.
In Vue, because it compiles to references, it could be made to be declarative, though personally I don't like having to declare contexts in markup as we will be viewing the JavaScript already anyways, and don't benefit much from the markup in my opinion.
In my sample, everything is in the JavaScript code, similar to @sebastiandedeyne's idea. Notice also that to we get a specific context by reference: this.contexts.get(SomeContext).foo.

Avoid strings. When you start putting contexts in the middle of a large app and there's a name conflict, it will be a headache, especially if the props inside the context are different. References in React JSX completely get around this problem 100%.

Ah shoot, I see Vue already made the mistake with provide/inject. I guess it's easy to use, but let's see what happens in big apps...

Another thing to note, in my SkateJS implementation, components react to specific props, rather than reacting to a context as a whole value.
This is nice because it prevent unnecessary re-renders of components. Some components may only care about a subset of props of a context, and in my implementation only components subscribed to those props will update. This prevents needing a shouldUpdate method (equivalent of shouldComponentUpdate in React).
By doing pro-based subscription, you can also prevent from creating new Objects every update. This is especially good for rapidly updating components (f.e. during animations that are intended to be 60fps).
In my implementation sample, the context object never changes, so memory use can stay more constant during animations.
It'd be great if provide/inject were by reference, and if components could subscribe to specific properties. Most of the time in React apps that I see, contexts are Objects, not primitive values, and people recreate whole new objects just to trigger updates (which update all components that don't even care about all changed props).

I have published an NPM package for abstracting the provide/inject into createContext in Vue (thanks v-slot directive in v2.6), which can be considered as a React-like sugar, but I think such API design is indeed much intuitive and easier to reuse.  Not sure how it would be involved in V3, maybe the advanced reactivity observer API may make provide/inject obsolete.  Anyway, please have a look in my repo:
https://github.com/leoyli/vue-create-context

I have published an NPM package for abstracting the provide/inject into createContext in Vue (thanks v-slot directive in v2.6), which can be considered as a React-like sugar, but I think such API design is indeed much intuitive and easier to reuse. Not sure how it would be involved in V3, maybe the advanced reactivity observer API may make provide/inject obsolete. Anyway, please have a look in my repo:
https://github.com/leoyli/vue-create-context

Hey, leoyli
I have tried your lib Vue createContext but unfortunately I've got some problems... I can't understand how to use context in children components in my project.
Could you please give me some tips?
I'm using Vue2, Typescript and JSX and trying to your library.

In case anyone's interested, in the mean time I created a package based on what has been discussed for our own projects: https://github.com/spatie/vue-expose-inject

Hi!
Have some questions about your library.
Could I use it with tsx?


Many things broken in FiveThirtyEight

The "we're forecasting the election with three models" radio buttons don't work, and a handful of graphs on the page don't work. @joewalker pointed this out, and thought it might be a flash issue, but this works on Firefox with flash disabled, so not sure what's up
http://projects.fivethirtyeight.com/2016-election-forecast/

Additionally, there's about 12.9% too much red on the map.  Please fix that as well.

Looks like a user agent string issue. Blah.
Our webviews have the UA string (on my machine):
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.113 Electron/1.4.2 Safari/537.36
Using my Chrome Canary UA string in webviews fixes the issue:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2878.0 Safari/537.36


Does Netty Support Injection of an Additional Proxy before an HTTP Message Reaches the Server?

Expected behavior
We are currently using Zuul 2.1.9 which uses Netty 4.1 under the hood. Since Zuul doesn't seem to have support for an additional proxy call between Zuul and an upstream Service, I'm exploring if it would be possible to override the behavior at the Netty layer. Taking Zuul out of the equation, does Netty 4.1 support setting an additional hop to a proxy server before a message reaches the server in a client server set up? We don't own the proxy server, just the Zuul instance with the underlying Netty code to set up a client.
The flow is Client --> Zuul (where Netty lives) --> Proxy --> Service
A cURL example would be curl --proxy http://my-proxy.com:8080 https://my-service/endpoint.
Thanks for your help/ advice.
Actual behavior
n/a
Steps to reproduce
I followed the basic steps for setting up channels and explored the option of an HttpProxyHandler but not sure if it's the correct approach for our use case. https://netty.io/wiki/user-guide-for-4.x.html
Minimal yet complete reproducer code (or URL to code)
EventLoopGroup bossGroup = new NioEventLoopGroup();
EventLoopGroup workerGroup = new NioEventLoopGroup();
try {
    ServerBootstrap b = new ServerBootstrap();
    b.group(bossGroup, workerGroup)
            .channel(NioServerSocketChannel.class)
            .childHandler(new ChannelInitializer<SocketChannel>() {
                @Override
                public void initChannel(SocketChannel ch) throws Exception {
                    ch.pipeline().addLast(
                            new HttpProxyHandler(
                                    new InetSocketAddress(
                                            InetAddress.getByName("http://ourproxyserver.com"),
                                            8080)),
                            new DiscardServerHandler());
                }
            });
}

Netty version
4.1
JVM version (e.g. java -version)
11
OS version (e.g. uname -a)
RHEL

Add HttpRequestDecoder at top, modify the header, remove the HttpRequestDecoder and pass the message to HttpProxyHandler.

Thanks @hyperxpro . What would the header name be in this case? Can you elaborate more in a code example?


the invite and keyword dont work

the invite link and the keyword dont work for the discord. my user is tgb_mrpotato_

server was opened again


visualize in SemanticKITTI dataset

Hi thank you for your effort! I have trained my model  using SemanticKITTI dataset.  Then, I want to visualize my model which is predicted. But your visualize.py can visualize only ModelNet and S3DIS... Is there any way to visualize the SemanticKitti model?

oh sorry... I will write in pytorch model again

Hello, can you share your pytorch visualization model for semantickitti?


fix Fix VcompoundPred execute const column

Proposed changes
Issue Number: close #xxx
recurrent:
./run-regression-test.sh  --run -suiteParallel 1 -actionParallel 1 -parallel 1 -d query_p0/sql_functions/window_functions

select      /*+ SET_VAR(query_timeout = 600) */ subq_0.`c1` as c0 from    (select           ref_1.`s_name` as c0,          ref_1.`s_suppkey` as c1,          ref_1.`s_address` as c2,          ref_1.`s_address` as c3       from          regression_test_query_p0_sql_functions_window_functions.tpch_tiny_supplier as ref_1       where (ref_1.`s_name` is NULL)          or (ref_1.`s_acctbal` is not NULL)) as subq_0 where (subq_0.`c3` is NULL)    or (subq_0.`c2` is not NULL)

reason:
FunctionIsNull and FunctionIsNotNull execute returns a const column, but their VectorizedFnCall::is_constant returns false, which causes problems with const handling when VCompoundPred::execute.
This pr converts const column to full column in VCompoundPred execute. In the future, there will be a more thorough solution to such problems.
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...

LGTM

run buildall


Remove hardcoded special cases for regression test page

This is no longer required, as arbitrary pages may be tagged with 'regression_test' for the same behaviour.

Maybe remove the unused import, though?


[main] Upgrade to latest dependencies

Cron -knative-prow-robot
/cc knative-sandbox/eventing-writers
/assign knative-sandbox/eventing-writers
Produced by: knative-sandbox/knobots/actions/update-deps
Details:
bumping knative.dev/hack 664eac5...6c30196:
  > 6c30196 :broom: Rewrite unit tests in Golang (# 215)
  > f9dc722 Format go code (# 218)
bumping knative.dev/serving 62685b3...8eb8629:
  > 8eb8629 upgrade to latest dependencies (# 13288)
  > 78f8af6 Update net-contour nightly (# 13287)
  > 19cd295 update setup-ko action to v0.6 (# 13283)
  > e826275 Update net-certmanager nightly (# 13281)
  > 6bf8c1f Update net-contour nightly (# 13282)
  > 0643359 Update net-istio nightly (# 13280)
  > 85c593d Update net-gateway-api nightly (# 13279)
bumping knative.dev/eventing e1866d7...fae8544:
  > fae8544 InMemoryChannel receiver validates received events (# 6511)
  > 3acc3ec Make some broker conformance tests decoratable with broker options (# 6510)
  > 7f1f49f Knative port prefer header check test to rekt (# 6499)
  > f63a073 Knative containersource test to rekt (# 6507)

/lgtm
/approve


Added MultiInstanceFactory registration for Simple Injector.

The registration for the new MultiInstanceFactory delegate was missing in the Simple Injector example. Added the registration by using GetAllInstances(t) and updated the registration of IMediator too.

I had to the instance creator overload for registering the Mediator class as the IMediator implementation since it has 2 public constructors, which Simple Injector doesn't like.
The creator of Simple Injector even states that having multiple (public) constructors is an anti-pattern.
What is your opinion on this?

Before you added the MultiInstanceFactory, did the sample run successfully?

Yeah, it actually works. Although I don't know why. Thought this was more consistent with the other examples and the Simple Injector API.


Define a process for dealing with OTel SemConv changes

The mapping for OTel data currently supports a certain (old) version of the semantic conventions.
With the OTel Semantic Conventions being merged with ECS and being stabilized we have to expect versions of SemConv to come soon that will introduce many breaking changes in the field names.
We need to define a process for dealing with different versions of Semantic Conventions so that we can support newer versions of SemConv while keeping backwards compatibility with older versions. The implication is that, with a given version of apm-data we should support a range of SemConv versions.
Related Info

Semantic conventions define schema files that enumerate all the changes between versions
the semantic conventions versions theoretically may even vary per signal (within a single connection / agent / SDK)

The schema file format is defined at https://opentelemetry.io/docs/specs/otel/schemas/file_format_v1.1.0/
https://opentelemetry.io/docs/specs/otel/schemas/ says:

OpenTelemetry instrumentation libraries include the OpenTelemetry Schema URL in all emitted telemetry. This is currently work-in-progress, here is an example of how it is done in Go SDK’s Resource detectors.

OTLP allows inclusion of a schema URL in the emitted telemetry.

Third-party libraries, instrumentation or applications are advised to define and publish their own telemetry schema if it is completely different from OpenTelemetry schema (or use OpenTelemetry schema) and include the schema URL in the emitted telemetry.

https://opentelemetry.io/docs/specs/otel/schemas/#use-cases describes several uses of schemas, including ingest-time transformation ("Collector-Assisted Schema Transformation"). If were to go this route, then we would still need to deal with different schema versions stored over time - so we should also consider query-time transformations.


Not compiling .js with require a non-native module

My node program (horos.js) is not compiling. It has a var xray = require('x-ray'); in it, and I have installed x-ray (https://github.com/lapwinglabs/x-ray) throw npm install x-ray on my project directory.
I have tried both in<EMAIL_ADDRESS>and I have tried with package.json being as in the 2 examples of Browserify Require Issues.
Still not working.
This is the error that I have got when I run the command nexe on my project directory:
$ nexe
----> input => 'horos.js'
----> output => 'node.exe'
----> temp => 'src'
----> framework => node
----> embedResources undefined
----> resource -> C:\Users\danny\dev\MeusProgramas\horoscopo\src\node\4.6.1\node-v4.6.1\lib\nexeres.js
----> bundle horos.js
----> executing browserify via API
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: Cannot find module 'emitter' from 'C:\Users\danny\dev\MeusProgramas\horoscopo\node_modules\x-ray\node_modules\batch'
    at C:\Users\danny\AppData\Roaming\npm\node_modules\nexe\node_modules\resolve\lib\async.js:46:17
    at process (C:\Users\danny\AppData\Roaming\npm\node_modules\nexe\node_modules\resolve\lib\async.js:173:43)
    at ondir (C:\Users\danny\AppData\Roaming\npm\node_modules\nexe\node_modules\resolve\lib\async.js:188:17)
    at load (C:\Users\danny\AppData\Roaming\npm\node_modules\nexe\node_modules\resolve\lib\async.js:69:43)
    at onex (C:\Users\danny\AppData\Roaming\npm\node_modules\nexe\node_modules\resolve\lib\async.js:92:31)
    at C:\Users\danny\AppData\Roaming\npm\node_modules\nexe\node_modules\resolve\lib\async.js:22:47
    at FSReqWrap.oncomplete (fs.js:123:15)

my package.json is:
{
    "nexe": {
        "input": "horos.js",
        "output": "node^$",
        "temp": "src",
        "browserify": {
            "requires": [],
            "excludes": [],
            "paths": []
        },
        "runtime": {
            "framework": "node",
            "version": "4.6.1",
            "js-flags": "--use_strict",
            "ignoreFlags": true
        }
    }
}

What should I do?
Thank you

Try manually installing emitter, OR try browserify.excludes
On Fri, Oct 21, 2016, 2:42 PM Daniel Alexandre Cerqueira Santos <notifications<EMAIL_ADDRESS>wrote:
My node program (horos.js) is not compiling. It has a var xray = require('x-ray'); in it, and I have installed x-ray throw npm install x-ray on my project directory.
I have tried both in<EMAIL_ADDRESS>and I have tried with package.json being as in the 2 examples of Browserify Require Issues.
Still not working.
This is the error that I have got when I run the command nexe on my project directory:
$ nexe
----> input => 'horos.js'
----> output => 'node.exe'
----> temp => 'src'
----> framework => node
----> embedResources undefined
----> resource -> C:\Users\danny\dev\MeusProgramas\horoscopo\src\node\4.6.1\node-v4.6.1\lib\nexeres.js
----> bundle horos.js
----> executing browserify via API
events.js:160
throw er; // Unhandled 'error' event
^
Error: Cannot find module 'emitter' from 'C:\Users\danny\dev\MeusProgramas\horoscopo\node_modules\x-ray\node_modules\batch'
at C:\Users\danny\AppData\Roaming\npm\node_modules\nexe\node_modules\resolve\lib\async.js:46:17
at process (C:\Users\danny\AppData\Roaming\npm\node_modules\nexe\node_modules\resolve\lib\async.js:173:43)
at ondir (C:\Users\danny\AppData\Roaming\npm\node_modules\nexe\node_modules\resolve\lib\async.js:188:17)
at load (C:\Users\danny\AppData\Roaming\npm\node_modules\nexe\node_modules\resolve\lib\async.js:69:43)
at onex (C:\Users\danny\AppData\Roaming\npm\node_modules\nexe\node_modules\resolve\lib\async.js:92:31)
at C:\Users\danny\AppData\Roaming\npm\node_modules\nexe\node_modules\resolve\lib\async.js:22:47
at FSReqWrap.oncomplete (fs.js:123:15)
my package.json is:
{
"nexe": {
"input": "horos.js",
"output": "node^$",
"temp": "src",
"browserify": {
"requires": [],
"excludes": [],
"paths": []
},
"runtime": {
"framework": "node",
"version": "4.6.1",
"js-flags": "--use_strict",
"ignoreFlags": true
}
}
}
What should I do?
Thank you
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/jaredallard/nexe/issues/267, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACR9NY0E_D20RUwwWo2J9Z7gWQ5F8Fmjks5q2THHgaJpZM4Kdnbk.

Thank you @jaredallard . I did install emitter and I also have installed entities and it did work!
I'm so happy! =)
Thank you so much for this tool

@alexandre1985 Also, I'd make sure you run it somewhere without node_modules as you never know if it's only working because of it's presence there. (the compiled binary). Cheers!

I tested that. It's working ;)
Thank You


Tribute.js Skeleton

Description
Tribute.js skeleton for interacting with the rDAI contract.
It should allow for the setting and removing of flows, reclaiming tributed amounts, and also aid in computations.
I'm sure I'm missing something, but this in general follows https://trello.com/c/GvIk5SOc

I probably need to inject the contract addresses


Issue with external auth mode - copy / paste of code

Hello, I have a problem with copy and paste of code in "Authorize your account" windows.
Paste doesn't work. (windows 2022 standard server - 2024-03-15 version emailproxy).
Can you help me please

Please see the known issues section of the readme.


Prepare for el7 build

This PR prepares the push server project to run on el7 CI nodes when they are deployed:

[x] el7 build/tests verified with test-kitchen.
[x]  el5/el6 build passes in CI:  http://wilson.ci.chef.co/view/Push Jobs Server/job/opscode-push-jobs-server-trigger-ad_hoc/69/downstreambuildview/

cc @chef/ociv @manderson26

finally ready for review @manderson26

:+1:
Sorry for the slow reply, was out of town on vacation and missed this.


Android: import the R class

The R class is generated by the Android toolchain and acts as a static way to identify resources in Java code. The ID of each values from the android/res folder is sorted in a category and accessible through a static field. An example of a generated R class is shown at the bottom of this description.
This PR import the R class in all Java classes generated from the Java FFI. This creates a similar effect as having the R class in the same package. Previously, the user could not reliably import the R class manually as the package name changes between the debug and release version.
/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */

package net.xymus.benitlux_debug;

public final class R {
    public static final class attr {
    }
    public static final class color {
        public static final int item_background=0x7f050000;
    }
    public static final class drawable {
        public static final int ic_launcher=0x7f020000;
        public static final int icon=0x7f020001;
        public static final int notif=0x7f020002;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {
        public static final int app_name=0x7f040000;
    }
}

+1

:shipit:


Module Import fails in Nuxt3 --- ar-threex-location-only.js --- Cannot read properties of undefined (reading 'THREE')

Do you want to request a feature or report a bug?
It's a bug

What is the current behavior?
Was trying to replicate this example:
https://ar-js-org.github.io/AR.js-Docs/location-based-three/part1/
Import fails when importing 'three.js' and<EMAIL_ADDRESS>If the current behavior is a bug, please provide the steps to reproduce.
https://codesandbox.io/p/devbox/ar-js-forked-fmnfnh?file=%2Fapp.vue%3A7%2C73-7%2C99
See Console -->
Cannot read properties of undefined (reading 'THREE')

Please mention other relevant information such as the browser version, Operating System and Device Name
Mac OSX 14.1
Chromium, Safari
Nuxt 3
@ar-js-org/ar.js Module from npm
What is the expected behavior?
Module import should run through without errors.
If this is a feature request, what is motivation or use case for changing the behavior?

Have you tried to setup project using Tresjs?

No, I didn't.
I kind of figured out that while time of writing the issue, I tried three v0.159 (current latest version) and arjs v3.4.5, which are not compatible with each other. After seeing the article I used to build upon was written around a year ago, I took a three.js version from that time. v0.147 works with arjs v3.4.5.
Thanks the hinting tresjs, wasn't aware of it, I'll take a look at it.

Please @dennishelbig test the dev branch i have just merged #615, it will be nice to have a feedback on this side.


board: arduino_101: Fix separated-line interrupt Kconfig setting

The SPI_DW_INTERRUPT_SEPARATED_LINES symbol was removed and replaced by
SPI_DW_PORT_{0,1,2,3}_INTERRUPT_SINGLE_LINE in commit 423f0095c7b8
("drivers/spi: Specify options per-port on DW driver"), but an
assignment to it remains.
Remove the assignment and set SPI_DW_PORT_0_INTERRUPT_SINGLE_LINE to 'n'
instead. The Arduino has a single SPI port.
Signed-off-by: Ulf Magnusson<EMAIL_ADDRESS>

CC @tbursztyka

Codecov Report

Merging #7792 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #7792   +/-   ##
=======================================
  Coverage   55.01%   55.01%
=======================================
  Files         483      483
  Lines       53946    53946
  Branches    10493    10493
=======================================
  Hits        29678    29678
  Misses      19982    19982
  Partials     4286     4286

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 fcc56e3...f260fec. Read the comment docs.


Expose EstimatedMin and EstimatedMax in ShippingRule Fragment

📲 What
Exposes EstimatedMin and EstimatedMax in ShippingRule Fragment
🤔 Why
We're going to display the estimated shipping costs in our checkout flows now that shipping won't be charged at the time of the pledge.
See the designs
🛠 How

Add properties to our ShippingRuleFragment
Update the model and wrapper
Update tests and Prelude lens

👀 See
no changes
✅ Acceptance criteria

[x] Everything works as normal!

          1 Warning

:warning:
Big PR

  Generated by :no_entry_sign: Danger


Improved fwd index construction by iterating only once

There is not real need to iterate twice to create the forward index. In both cases the same operation is performed.

I wonder why the second pass was ever in there.
Also, why do you think this can never happen:
    // Set ID for empty documents.
    for (uint32_t doc_id = 0; doc_id < idx.num_docs; ++doc_id) {
        if (bg.graph[doc_id].initial_id != doc_id) {
            bg.graph[doc_id].initial_id = doc_id;
        }
    }

There can be documents which only occur in small lists right?

I initially misunderstood the goal. I think we just need to remove the second pass then.
Basically, can we say that the min_len parameter was totally ignored?

Progress should not be *2 now?

No, we iterate only once. So progress should not be *2.
Please squash all these commits once you merge.

Thanks!


Update codeowners for recent lb-ipam / ipalloc changes

CODEOWNERS: Add ipalloc codeowners
CODEOWNERS: Add lb-ipam docs review groups

Related: https://github.com/cilium/cilium/pull/26488

These files shouldn't be left to tophat/docs-structure for review. CC @dylandreimerink if you have alternative proposals. Please also consider adding such entries for any newly introduced files in future.

/test

Code owners checks are passing, so going ahead and merging this one


Expose SSL_CTX and SSL pointers

Motivation:
For advanced use-cases it an be helpful to be able to directly access the SSL_CTX and SSL pointers of the underlying openssl objects. This for example allows to register custom C callbacks.
Modifications:

Expose the SSL_CTX and SSL pointers
Cleanup the shutdown code

Result:
It's now possible to obtain the c pointes and set native callbacks.

@trustin please check

I'm not sure if we really need OpenSslUnsafe. We could just keep context() and make OpenSslEngine.ssl() public? (maybe we need better names though)

@trustin it was @Scottmitch 's preference... @Scottmitch WDYT ?

The concern was that we are now exposing our internals. The user could potentially invalidate some of our assumptions and get us into trouble.  As long as we can clearly communicate what they are doing is potentially "unsafe" then that is fine.

@trustin what about having the name sslCtxPointer and sslPointer ? Or just sslCtxMemoryAddress and sslMemoryAddress. WDYT ?

What about having the name sslCtxPointer and sslPointer ? Or just sslCtxMemoryAddress and sslMemoryAddress. WDYT ?

sslCtxPointer and sslPointer sound good to me.

@trustin ok let me adjust and then cherry-pick

Cherry-picked into 4.0 (9e125d8456e266736449041d3d847d1b86d012e8) , 4.1 (2b0dfc4e808639e09d427b6df755d25b95230619) and master (66b8b5230b58c3723dbcd246a66e1cadf848aa47)


feat: luarocks/rocks.nvim support

Hey :wave:
Summary
This PR is part of a push to get neovim plugins on luarocks.org.
See also:

rocks.nvim, a new luarocks-based plugin manager.
this blog post.

With luarocks/rocks.nvim, it is the plugin authors' responsibility to declare dependencies - not the user's.
Installing this plugin becomes as simple as :Rocks install leap.nvim.
Things done:

Add a workflow that publishes tags to luarocks.org when a tag or release is pushed.
Add a release-please workflow that creates release PRs with SemVer versioning based on conventional commits.

The workflows are based on this guide
Notes:

[!IMPORTANT]

For the luarocks workflow to work, someone with a luarocks.org account will have to add their API key to this repo's GitHub actions secrets.

On each merge to main, the release-please workflow creates (or updates an existing) release PR.
You decide when to merge release PRs.
Doing so will result in a SemVer tag, a changelog update, and a GitHub release, which will trigger the luarocks workflow.
Tagged releases are installed locally and then published to luarocks.org.

If you push tags from a local checkout, the workflow is triggered automatically.
If you use GitHub releases to create tags, you may need to add a PA token for the workflow to be triggered automatically.

Due to a shortcoming in luarocks.org (https://github.com/luarocks/luarocks-site/issues/188), the neovim and/or vim labels have to be added  to the luarocks package manually (after the first upload), for this plugin to show up in https://luarocks.org/labels/neovim or https://luarocks.org/labels/vim, respectively.

As there's been no response, I've added this plugin to the NURR for now.
Please ping me if you have any interest in this, so I can delete it from the luarocks.org root manifest.


xstate-compiled Unexpected token 'export'

I am using the library https://www.npmjs.com/package/ky and at the bottom of the index.js file it does an "export default createInstance()". The xstate-compiled package does not like that export line. Maybe an issue with es6 in node_modules?

Okay, fair enough. Thanks for looking into it. I will try ky-universal or ky/umd instead. Thanks again!


Can't use in Unity2019.2

In 2019.2 is no erroe , but it's don't work
thank you for your share  and my English is not good .

I have the same problem

I have the same problem
TypeLoadException: Failure has occurred while loading a type.


Theme development permission denied

Hey there, I'm trying to set up the docker dev environement using colima.
When I run pnpm run docker-watch the browser window opens up and starts loading, but I get "permission denied" errors, like these:
[DOCKER] ghost  | chown: changing ownership of '/var/lib/ghost/content/themes/liebling/src/sass/fonts/icomoon/icomoon.eot': Permission denied
[DOCKER] ghost  | chown: changing ownership of '/var/lib/ghost/content/themes/liebling/src/sass/fonts/icomoon/icomoon.svg': Permission denied
[DOCKER] ghost  | chown: changing ownership of '/var/lib/ghost/content/themes/liebling/src/sass/app.scss': Permission denied

DOCKER] ghost exited with code 1
[DOCKER] docker-compose up exited with code 0
--> Sending SIGTERM to other processes..
[WEBPACK] npm run watch exited with code 0

Any idea what direction I should look to debug?

This seems to be related to your system, I'm not sure what could be the issue but you can try this: https://stackoverflow.com/questions/62697189/chown-permission-denied-while-docker-volume-binding

I will close this issue for now, please feel free to reopen it if needed.


⚠ Bofrost.fr has degraded performance

In 5dcb249, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1481 ms

Resolved: Bofrost.fr performance has improved in a140712 after 8 minutes.


Track stable ontology versions via tags and releases

After #129 is done, we could start a new convention of adding git tags for stable ontology versions that are to be used in exercises. We can then refer to these git tags in DART records of reader outputs.

Having resolved #129, I made and pushed the tag 2.1 on the repo. This allows linking to the ontology in two ways:

Using a Github URL specific to the tag: https://raw.githubusercontent.com/WorldModelers/Ontologies/2.1/CompositionalOntology_metadata.yml
Using the archive corresponding to the release associated with the tag (this contains all the files in the repo): https://github.com/WorldModelers/Ontologies/archive/refs/tags/2.1.zip


add a page for windows's firewall bouncer

I'm sure this is resolved? https://hub.crowdsec.net/author/crowdsecurity/bouncers/cs-windows-firewall-bouncer


Frequency unit misunderstanding?

1 CPM(CyclesPerMinute) should be equal to 1/60 Hertz.
But when using the Frequency struct, 1 CPM is equal to 60 Hertz.
reference:
http://www.kylesconverter.com/frequency/cycles-per-minute-to-hertz

Thanks, that sounds like the conversion function has been inverted.
I did reproduce your results so it's clearly a bug, and from the git history it's been with us since August 2015 :-S I can only assume this particular unit has not been used much.
Nuget 3.63.0 with fix is now out.
Fixed in: cb7989843d3360a7b5df70fcc2821f199e9c4d62


codegen: clean up API

https://github.com/oxc-project/oxc/blob/09e41c2c26b2db565cd0fece38b6c65f19c71a73/crates/oxc_codegen/src/lib.rs#L170-L226
I find these APIs confusing to use.
The intention was to only pass in comments if you want to enable comments, but now we have 2 options:
https://github.com/oxc-project/oxc/blob/09e41c2c26b2db565cd0fece38b6c65f19c71a73/crates/oxc_codegen/src/lib.rs#L39-L56
These builder patterns don't scale well. I'm stuck trying to add a enable_comments API.
Enabling and disabling features, and passing in their required data are confusingly mixed together :-/

It would be easier to make the change if https://github.com/oxc-project/oxc/issues/6426

https://github.com/oxc-project/oxc/pull/6451
https://github.com/oxc-project/oxc/pull/6452


[WIP/bp/1.31] CI migration stack

@RyanTheOptimist im going to break this up a bit - currently the branch is ~broken and also it doesnt contain all the required  changes - adding them creates too much conflict - so first priority is to just get the branch working


fix(test-bench): Table virtualiser height estimate

Provide an option to set the estimated row height for the table virtualiser.
Fixes an issue in the testbench where the rows start to drift and offset.
We should probably sample rows and measure them in JS but this is a quick fix for now.

A more robust solution has been implemented in #6408


exit on remote system after privilege escalation clears clipboard

Environment
Microsoft Windows [Version 10.0.18362.720]
Steps to reproduce

ssh to remote linux system
escalate to root
copy and paste a command
issue exit command to return to login user
notice the clipboard has been cleared after this command

Expected behavior
clipboard should persist
Actual behavior
clipboard is empty

Thanks for the report! There's only one way for a text-mode application, especially one on Linux (or OS X), to change the state of the clipboard on the computer running the terminal. That's to use an escape sequence -- OSC 52, if i recall -- that tells the terminal what to put on the clipboard.
Terminal has never implemented OSC 52, which means that all clipboard modification happens as a result of user action. There's nothing that sudo or exit or your shell can do to change the contents of the clipboard today.
Can you share a screen recording of this happening?
Thanks!

If you are unable to reproduce or unwilling I can't help further. Good luck

I'm willing to reproduce, I just can't. There's nothing in Terminal that knows anything about elevation, especially not over ssh, so I can't even begin debugging this without additional information.


Incorrect expo-config(MODULE_NOT_FOUND) error

Description of the bug
The extension is reporting expo-config(MODULE_NOT_FOUND) for all plugins that I specify in app.json
To Reproduce

expo init
Create app.plugin.js file with contents: module.exports = (config) => config;
In app.json add expo.plugins property:     "plugins": ["./app.plugin"],
Notice error:Cannot find module '/Users/joshua/code/TestExpoApp/app.plugin.js'
expo-config(MODULE_NOT_FOUND)

Expected behavior
No error should appear
Actual behavior
Error appeared
Additional context
Name: Expo Tools
Id: bycedric.vscode-expo
Description: Expo tools for vscode
Version: 0.7.3
Publisher: Cedric van Putten
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=byCedric.vscode-expo

I reproduced that bug by launching a vscode here, and I had the same error. My local plugin works perfectly fine.
(though I cannot say I'm impacted, I'm a vim user 🤣 )

I faced the same issue. I found that the version 0.7.1 does not have this bug.

While the error no longer shows in 0.7.1 the extension also doesn't seem to validate plugin paths at all.
0.7.2 seems to work as expected and correctly validates the plugin/module path.
Note: This issue also affects the Preview config and Preview modifier commands which don't correctly display the built time changes from the plugins. The plugin changes do work for actual builds.

This also happens for monorepos where the plugin package is installed in the root of the workspace.

Hi,
I have the same problem. I have written it in expo’s forum

Fixed by #71, hopefully we can release it this week!

As mentioned in #71

🎉 This PR is included in version 0.7.4 🎉
The release is available on GitHub release
Your semantic-release bot 📦🚀

If there is anything else, please let us know! 😄


Visit children before transforming nodes (post-order DFS)

I noticed links were not working inside admonitions.  This is because we never visit them in the node visitor.  I think it should be changed from pre-order depth first search to post-order depth first search.  This is just something for you to consider, I don't know the full ramifications of this change without more testing.  With the change, I see links inside admonitions are working, but I don't know if it broke something else.

For sure this PR breaks code blocks (they end early), so maybe you should not take this change.

A more robust approach, in my opinion, is to trigger the node visitor for descendant elements of the admonition, which confines the behavior to that element type, and doesn't interfere with other block types, e.g. code blocks. I have added an example in which links are properly transformed in the context of an admonition using this approach. Changes are pushed to master.


No icons or images are output

Describe the bug
No icons or images are output.
error :
Image "***" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.
To Reproduce
Use LoadImage() and addImage()
Expected behavior
Icon or image is output.
Desktop (please complete the following information):

OS: Windows10
Browser Google Chrome
Version latest

https://github.com/watergis/mapbox-gl-export/issues/31 is also the same issue with this one

@21601-kimura I am sorry for the late reply. Thank you for fixing the bug.I have released as v1.3.3.


Dev

Changes Unknown when pulling 1a9763865303d2455c137caa93624595913a93c8 on dev into ** on master**.

Changes Unknown when pulling fd1f37529ddb96fda33b17c719af08bdb702525a on dev into ** on master**.


[TASK] Update getExplorerURI function for substrate transaction and address

Description
On PolkadotJs Dashboard there is no way for the users to query for the info of a specific tx or address. We need to use update the getExplorerURI as well as the polkadotExplorerUrl for Tangle Mainnet & Testnet to use Statescan

Mainnet: https://tangle.statescan.io/#/
Testnet: https://tangle-testnet.statescan.io/

export const getExplorerURI = (
  explorerUri: string,
  addOrTxHash: string,
  variant: 'tx' | 'address',
  txProviderType: WebbProviderType
): URL => {
  switch (txProviderType) {
    case 'web3':
      return new URL(`${variant}/${addOrTxHash}`, explorerUri);

    case 'polkadot': {
      const path = variant === 'tx' ? `#/explorer/query/${addOrTxHash}` : '';
      return new URL(`${path}`, explorerUri);
    }

    default:
      return new URL('');
  }
};

@vutuanlinh2k2 on the account dashboard the view explorer link redirect users to PolkadotJS currently, can we redirect to Blockscout for EVM wallets, and Statescan for Substrate wallets?
Reference: https://github.com/webb-tools/webb-dapp/issues/2188

@vutuanlinh2k2 on the account dashboard the view explorer link redirect users to PolkadotJS currently, can we redirect to Blockscout for EVM wallets, and Statescan for Substrate wallets?
Reference: #2188

Yes this task is for handling all the tx explorer link correctly!


[BUG] I can't create a new account in hydra Launcher

Describe the bug
I can't create a new account in hydra Launcher.

Steps to Reproduce
When entering registration data and pressing the register button, this inscription appears no matter what I enter
Expected behavior
No response
Additional information and data

info.txt
logs.txt
pythoninstance.txt
Operating System
Windows 11
Hydra Version
3.0.8
Before opening this Issue

[X] I have searched the issues of this repository and believe that this is not a duplicate.
[X] I am aware that Hydra team does not offer any support or help regarding the downloaded games.
[X] I have read the Frequently Asked Questions (FAQ).

From what I've seen, this bug has been happening for a while. Another user managed to create the account through VPN, maybe it will work for you too.

Is this still a problem? We have found some bugs and fixed them in the last week


Remove PackageProviderInfo Version property

There is not a need to duplicate the version when its on the Module property.

Remove Version property
Remove Version formatter

Forgot that the property is needed when running Get-PackageProvider -ListAvailable


Error when trying to connect

Hi @sillyfrog,
I'm trying to use your HA integration and traced an error back to your API library. The code appears to be checking the socket is open, using an attribute which doesn't exist. I can't find "open" in the documentation of WebSockets, its perplexing me how this is working for anyone. Only thing I can think is change in attributes of library versions. I'm using:
Core 2024.11.1
Supervisor 2024.11.2
Operating System 13.2
Frontend 20241106.2
Automate-Pulse-v2 0.9.12
aiopulse2 0.9.1
Hoping you can have a look at let me know, I'm more than happy to contribute to the code base.
File "/home/vscode/.local/ha-venv/lib/python3.12/site-packages/aiopulse2/devices.py", line 252, in heartbeat
if self.ws and self.ws.open and self.handshake.is_set():
^^^^^^^^^^^^
AttributeError: 'ClientConnection' object has no attribute 'open'

This is fixed in release v0.10.0. HA updated the version of websockets, which changed the API.
See https://github.com/sillyfrog/Automate-Pulse-v2/issues/34 for the HACS release.


ApraPipes Build Automation Scripts

IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).
Fixes #291
Description
written automation scripts for all the builds which will do the following:

Enumerated all dependencies that are required.
Identified  dependencies, such as cudnn, that necessitate manual copying, and display an error message in the console
indicating the missing dependency if it's not present.
Utilized the script to verify the presence of all other required dependencies; if any are absent, execute their installation.
For Cuda Build we need to check if nvcc & nvidia-smi is present or not.
Will ask user to Download cudnn zip in a specific dir and then our script will extract it from and that place and copy headers
and libs in respective directories.
Will check if cmake is present , if present check for version and upgrade or downgrade the same. If not present then install
the required cmake version

Alternative(s) considered
Have you considered any alternatives? And if so, why have you chosen the approach in this PR?
NO
Type Choose one: (Bug fix | Feature | Documentation | Testing | Other)
Screenshots (if applicable)
Checklist

[x] I have read the Contribution Guidelines
[x] I have written Unit Tests
[x] I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach

Why would we need to down grade cmake? I can understand upgrade based on
min required version. But why downgrade?
On Tue, Aug 29, 2023, 5:30 PM venkat0907 @.***> wrote:

IMPORTANT: All PRs must be linked to an issue (except for extremely
trivial and straightforward changes).
Fixes #291 https://github.com/Apra-Labs/ApraPipes/issues/291
Description
written automation scripts for all the builds which will do the following:

Enumerated all dependencies that are required.
Identified dependencies, such as cudnn, that necessitate manual
copying, and display an error message in the console
indicating the missing dependency if it's not present.
Utilized the script to verify the presence of all other required
dependencies; if any are absent, execute their installation.
For Cuda Build we need to check if nvcc & nvidia-smi is present or
not.
Will ask user to Download cudnn zip in a specific dir and then our
script will extract it from and that place and copy headers
and libs in respective directories.
Will check if cmake is present , if present check for version and
upgrade or downgrade the same. If not present then install
the required cmake version

Alternative(s) considered
Have you considered any alternatives? And if so, why have you chosen the
approach in this PR?
NO
Type Choose one: (Bug fix | Feature | Documentation | Testing | Other)
Screenshots (if applicable)
Checklist

I have read the Contribution Guidelines
https://github.com/Apra-Labs/ApraPipes/wiki/Contribution-Guidelines
I have written Unit Tests
I have discussed my proposed solution with code owners in the linked
issue(s) and we have agreed upon the general approach

You can view, comment on, or merge this pull request online at:
https://github.com/Apra-Labs/ApraPipes/pull/301
Commit Summary

b9aa846
https://github.com/Apra-Labs/ApraPipes/pull/301/commits/b9aa8460eb6758cfe43a3980ab770f3753054690
initial commit

File Changes
(11 files https://github.com/Apra-Labs/ApraPipes/pull/301/files)

M README.md
https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
(83)
A base/build_dependencies_jetson_cuda.sh
https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-c3e10c2b98db86c229540ce68e44f490738fd43b8ead53d3a645ee084af7a3c3
(44)
A base/build_dependencies_linux_cuda.sh
https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-be3d39b02f056802371e0b160ba2b1313c841dfbd5b31c16c7606a2edec375a3
(78)
A base/build_dependencies_linux_no_cuda.sh
https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-dae8f461fc777bfb3872359c9f6c93f5925a9194e7c64c9f836bee546b46a7ce
(44)
A base/build_dependencies_windows_cuda.ps1
https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-7a697b44cd99b197d540b2992c2c3dbe24c52c78d36244a7b549f9982e4beb1c
(36)
A base/build_dependencies_windows_no_cuda.ps1
https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-575a43c35fcac73e9c9a2797335eb04b3083f88448e860bc82a7b0999e4b2833
(17)
M build_jetson.sh
https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-6383e508a15f0ec02c382eb0cfd66deebb0987948e4f3a0f70fe1338e895d63b
(8)
M build_linux_cuda.sh
https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-ede58ee32ebadf2df25ed950098b3864aae27b062104a63f03823beb4338e7f3
(3)
M build_linux_no_cuda.sh
https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-f1cd1eb696dbfb01150dd63020ed9f1277edb2f7734a1b655a7b32e4cf50a471
(5)
M build_windows_cuda.bat
https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-20422b8e07119cb52309b794e2217bd4939f67a71ade8191e103fe43f0c082b1
(6)
M build_windows_no_cuda.bat
https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-87562576b82d2853eafbcc15f1dc3b05db219b1a255c5567a04135453083a3fd
(1)

Patch Links:

https://github.com/Apra-Labs/ApraPipes/pull/301.patch
https://github.com/Apra-Labs/ApraPipes/pull/301.diff

—
Reply to this email directly, view it on GitHub
https://github.com/Apra-Labs/ApraPipes/pull/301, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABWFNAWQMU7XWYR25AVPQYDXXXKVFANCNFSM6AAAAAA4C2T5IA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Why would we need to down grade cmake? I can understand upgrade based on min required version. But why downgrade?
…
On Tue, Aug 29, 2023, 5:30 PM venkat0907 @.> wrote: IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes). Fixes #291 <#291> Description written automation scripts for all the builds which will do the following: 1. Enumerated all dependencies that are required. 2. Identified dependencies, such as cudnn, that necessitate manual copying, and display an error message in the console indicating the missing dependency if it's not present. 3. Utilized the script to verify the presence of all other required dependencies; if any are absent, execute their installation. 4. For Cuda Build we need to check if nvcc & nvidia-smi is present or not. 5. Will ask user to Download cudnn zip in a specific dir and then our script will extract it from and that place and copy headers and libs in respective directories. 6. Will check if cmake is present , if present check for version and upgrade or downgrade the same. If not present then install the required cmake version Alternative(s) considered Have you considered any alternatives? And if so, why have you chosen the approach in this PR? NO Type Choose one: (Bug fix | Feature | Documentation | Testing | Other) Screenshots (if applicable) Checklist - I have read the Contribution Guidelines https://github.com/Apra-Labs/ApraPipes/wiki/Contribution-Guidelines - I have written Unit Tests - I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach ------------------------------ You can view, comment on, or merge this pull request online at: #301 Commit Summary - b9aa846 <b9aa846> initial commit File Changes (11 files https://github.com/Apra-Labs/ApraPipes/pull/301/files) - M README.md https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5 (83) - A base/build_dependencies_jetson_cuda.sh https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-c3e10c2b98db86c229540ce68e44f490738fd43b8ead53d3a645ee084af7a3c3 (44) - A base/build_dependencies_linux_cuda.sh https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-be3d39b02f056802371e0b160ba2b1313c841dfbd5b31c16c7606a2edec375a3 (78) - A base/build_dependencies_linux_no_cuda.sh https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-dae8f461fc777bfb3872359c9f6c93f5925a9194e7c64c9f836bee546b46a7ce (44) - A base/build_dependencies_windows_cuda.ps1 https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-7a697b44cd99b197d540b2992c2c3dbe24c52c78d36244a7b549f9982e4beb1c (36) - A base/build_dependencies_windows_no_cuda.ps1 https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-575a43c35fcac73e9c9a2797335eb04b3083f88448e860bc82a7b0999e4b2833 (17) - M build_jetson.sh https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-6383e508a15f0ec02c382eb0cfd66deebb0987948e4f3a0f70fe1338e895d63b (8) - M build_linux_cuda.sh https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-ede58ee32ebadf2df25ed950098b3864aae27b062104a63f03823beb4338e7f3 (3) - M build_linux_no_cuda.sh https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-f1cd1eb696dbfb01150dd63020ed9f1277edb2f7734a1b655a7b32e4cf50a471 (5) - M build_windows_cuda.bat https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-20422b8e07119cb52309b794e2217bd4939f67a71ade8191e103fe43f0c082b1 (6) - M build_windows_no_cuda.bat https://github.com/Apra-Labs/ApraPipes/pull/301/files#diff-87562576b82d2853eafbcc15f1dc3b05db219b1a255c5567a04135453083a3fd (1) Patch Links: - https://github.com/Apra-Labs/ApraPipes/pull/301.patch - https://github.com/Apra-Labs/ApraPipes/pull/301.diff — Reply to this email directly, view it on GitHub <#301>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABWFNAWQMU7XWYR25AVPQYDXXXKVFANCNFSM6AAAAAA4C2T5IA . You are receiving this because you are subscribed to this thread.Message ID: @.>

my mistake Akhil , We doing upgrade only


config: update batch inbox address convention to support 256 bit chain IDs

Closes https://github.com/ethereum-optimism/specs/issues/94, see the discussion in that issue for context

My one comment is that we do not follow the convention ourselves and it differs from the convention that we previously used


PyRFA for Python 3.6

May I ask when will be the realese of PyRFA for Python 3.6 ready?

Hello xsarm06.
One question, what's the platform and OS version that you expect to run
PyRFA if it supports Python3.6?
Thank you so much,
Ukrit H.
On Wed, Mar 1, 2017 at 10:03 PM, xsarm06<EMAIL_ADDRESS>wrote:

May I ask when will be the realese of PyRFA for Python 3.6 ready?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/devcartel/pyrfa/issues/23, or mute the thread
https://github.com/notifications/unsubscribe-auth/ADQ4J8L7I1u_BWNakECWnE4D_XoSU5Ncks5rhYi3gaJpZM4MPxBV
.

@xsarm06 There is a plan to support Python3.6 for both Windows and Linux but cannot confirm the ETA at this moment. However, if you are in our Enterprise program, you can request for the build.

Just released PyRFA 8.1.0 today and it supports Python 3.6 on both Linux and Windows. It is now available from PyPI from now on.


Modifying homepage to use search component

Replacing existing homepage search box with search component from static
New component designed to exactly match original (for now) so users should be unaware of change
Relies upon https://github.com/alphagov/static/pull/1079 - must not be merged until that PR is approved and deployed.

https://trello.com/c/QUGWKwTe/431-unify-search-boxes-as-component

Older browsers
IE7:

IE8:

IE9:

Can you include screenshots for older browsers? Mainly IE, as I note the old code includes some strange IE fixes.

Older browser screenshots added.

Static has been deployed so this can be merged when ready.


Create a better set of scala/java conversions.

Turn on some additional compiler linter/errors and
generate b-code which is more native to Java8 and reduces
the number of class files dramatically
Create implicit conversions for all java.util.functional interfaces.
Create package object "mesosphere.marathon" that correctly
defines Seq and ImmutableSeq to be immutable.

Going forward, scala files should use "double" package declaration
(which imports this package object automatically)
See also: http://www.scala-lang.org/docu/files/ScalaReference.pdf
Chapter 9, approximately page 135 in the pdf.

Create Java8 stream collectors that can collect directly into a Scala
Collection.
Create JavaConversions that are a very simple view into the immutable
scala collection.
Create implicit for java8 streams that make them appear as if they are
TraversableOnce collections and it will use the underlying stream
operation in Java8 for most operations.
Add a new RichTraversableLike which adds "filterAs" and "filterNotAs"
that take in a CanBuildFrom allowing a filter to use the correct
collection type desired, instead of always using the source collection
type (which internally is what it does).
Create richer conversions from JavaCollections that implement the
appropriate scala interface and use the streaming API to implement it.
This appears to be about 40% faster than scala's own conversions and
allows you to duplicate a lot less.
In a nutshell, one should always use "import mesosphere.marathon.stream._"
and not scala.collection.JavaCon*.

Future TODOS:

Add linter to enforce double package.
Add linter to enforce no JavaConversions or JavaConverters and prefer
stream package.

Note to reviewers, I'm about to start a big stack of reviews based on this.

I'm first stacking the reviews (I have a good couple piled up), then I'll fix left-over issues. This should be a good start for understanding the review stack and getting started.

Yes, they should. It will be progressively introduced. I'm first breaking up the reviews, then going through and cleaning them up. In part, I'm doing this to show a process where I've taken a working branch and restructured it into a series of reviews where changes to the parent review propagate through the review chain.

Please review in phabricator


Integration tests

Coverage increased (+1.2%) to 26.886% when pulling 1613e3d08a4ef35a46059ba8ee0bccb4f8581dc8 on integration_tests into b4139446c46baeba497e9cd717dd36043d44a9c6 on master.


Documentation building does not work in newer python (I guess)

There are some private functions explicitly documented in index.rst. This breaks the docs generation because private names are not imported by from .shell import * in __init__.py. I think this is an issue with newer python, but I have not tested it with older python.
One has to do one of these:

explicitly import them in __init__.py.
fully qualify them in index.rst
remove them from index.rst

I would say that private functions do not belong in the documentation. If we want them there, then I'd say they should be fully qualified.

I'm happy removing them from index.rst.  This is all very ancient stuff, though even then I should have known better. I.e. I agree with the last two sentences above.

The private members were removed and changes are merged into master.


On POST, ensure user hours is also updated.. trigger UserService method to update rank.


MINOR: Fix streams broker compatibility test.

Change the string in the test condition to the one that is logged
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

System test results: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/1312/console
@mjsax, @guozhangwang, @bbejeck  - i need this for 1.1

merged to trunk and 1.1

This PR does not seem to be correct. Cf. https://github.com/apache/kafka/pull/4594
We are looking for the wrong error message with this change that comes from a test consumer, but not from an internal KafkaStreams consumer.


Build fails when using ContainerBaseImage hosted within Quay with Ceph storage backplane

I am using a custom base image using the ContainerBaseImage tag in my csproj.    The repository the base image is in is using an internal Quay server, backed by a Ceph storage backend.  When I try to run dotnet publish I get (from verbose logs):
 Task "CreateNewImage"
         Request URI: GET https://<redacted quay url>
         2b4ba5280a4ceda629c17922b62441b7
         Status code: Found
         Response headers:
         Accept-Ranges: bytes
         Cache-Control: max-age=31536000
         Date: Fri, 03 May 2024 21:56:05 GMT
         Docker-Content-Digest: sha256:f31c5da86bbd82708860371e4d9f23682b4ba5280a4ceda629c17922b62441b7
         Location: http://<redacted ceph backplane url>
         Server: nginx/1.20.1
         X-Frame-Options: DENY

         Response content: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
         <title>Redirecting...</title>

Redirecting...

You should be redirected automatically to target URL: <a href="http://<redaced ceph url>/">http://<redacted ceph url>.  If not click the link.

1:7>C:\Program Files\dotnet\sdk\8.0.300-preview.24203.14\Containers\build\Microsoft.NET.Build.Containers.targets(219,5): err
       or : ContainerHttpException: Containerize: error CONTAINER004: CONTAINER1014: Manifest pull failed. [<redacted project name>]
       C:\Program Files\dotnet\sdk\8.0.300-preview.24203.14\Containers\build\Microsoft.NET.Build.Containers.targets(219,5): err
       or : URI: https://<redacted quay url> [<redacted project name>]
       C:\Program Files\dotnet\sdk\8.0.300-preview.24203.14\Containers\build\Microsoft.NET.Build.Containers.targets(219,5): err
       or :  [<redacted project name>]
       Done executing task "CreateNewImage" -- FAILED.

Is the httpclient being used to fetch this stuff not configured to follow redirects?

cc @baronfel

Is the httpclient being used to fetch this stuff not configured to follow redirects?

I would expect it to, but it's strange we're seeing the the Redirect response being printed in the log.

8.0.300-preview.24203.14

@almostjulian does it behave exactly the same if you use the 8.0.104 SDK?
Can you also try if it makes a difference if you pass your credentials through the envvars (SDK_CONTAINER_REGISTRY_UNAME and SDK_CONTAINER_REGISTRY_PWORD)?

@almostjulian does it behave exactly the same if you use the 8.0.104 SDK?
Can you also try if it makes a difference if you pass your credentials through the envvars (SDK_CONTAINER_REGISTRY_UNAME and SDK_CONTAINER_REGISTRY_PWORD)?

Yes, same behavior in 8.0.104. Envvars do not make a difference.

I think the issue is that the Ceph backend is http and I don't think https -> http autoredirect is allowed.  I'll see if that's a config change we can make on our end.

You may want to try again with 8.0.4xx SDKs - a contributor added support for insecure registries (those that allow direct http access or have self-signed certs). We have docs for how to configure this support here.


Use stream in tauri-plugin-fs writeFile

Describe the problem
For now I’m using
const dataBuffer = await blob.arrayBuffer();
const data = new Uint8Array(dataBuffer);
await writeFile(filename, data)

to write file.
Describe the solution you'd like
Can we use blob.stream to get a readable stream and pass it to writeFile.  Since v2’s IPC is based on Response, we can use new Response() to generate a streaming response to improve performance and reduce memory usage.
Alternatives considered
Can Transferable object improve performance?
Additional context
No response

workaround:
import { writeFile, type WriteFileOptions } from "@tauri-apps/plugin-fs";

export async function writeFileFromStream(
  path: string | URL,
  stream: ReadableStream<Uint8Array>,
  options?: WriteFileOptions & { chunkSize?: number }
) {
  const chunkSize = options?.chunkSize ?? 1024 * 1024; // 1MB in bytes
  const reader = stream.getReader();

  let chunks: Uint8Array[] = [];
  let bytesRead = 0;

  // eslint-disable-next-line no-constant-condition
  while (true) {
    const { done, value } = await reader.read();
    if (done) break;

    chunks.push(value);
    bytesRead += value.length;

    if (bytesRead >= chunkSize) {
      const chunk = new Uint8Array(bytesRead);
      let offset = 0;
      for (const chunkValue of chunks) {
        chunk.set(chunkValue, offset);
        offset += chunkValue.length;
      }

      await writeFile(path, chunk, {
        ...options,
        append: true,
      });
      chunks = [];
      bytesRead = 0;
    }
  }

  if (bytesRead > 0) {
    const chunk = new Uint8Array(bytesRead);
    let offset = 0;
    for (const chunkValue of chunks) {
      chunk.set(chunkValue, offset);
      offset += chunkValue.length;
    }
    await writeFile(path, chunk, {
      ...options,
      append: true,
    });
  }
}


change section separators color to be clear and invisible

Is possible to make secttion separator invisible. In iOS control center there is similar slider and this one is nice example of apples one. However it would be nice that section separators can be clear color and invisible.
Any code sample for this trick?
Thanks

Is possible to make secttion separator invisible. In iOS control center there is similar slider and this one is nice example of apples one. However it would be nice that section separators can be clear color and invisible.
Any code sample for this trick?
Thanks

I just figured out now. Simply set view background to clear :)


Update MessageDispatcher to use generic message

The important change is f4eacafd37acc5712b0b591cba3a396c500a90af which adds a generic version for message handlers which avoids the need to reflect on objects to invoke HandleAsync.
The second change f0dd2b80f4198009fd07a26b112fff7e3383fe66 waits all tasks at once, so we can handle with multiple handlers concurrently if needed. I assume, given they are different handlers, there should be no issues with concurrency.
Another thing to note is that I don't think removing the existing reflection-based overload is a breaking change (because the current one has the same signature, but is more specific, so will take precedence anyway) so if there is no need for it, we can remove this too.

The second change is unsafe in most of our use cases in that multiple dispatches may take place within a single unit of work which in most cases is tied to the lifetime of a scoped EF DbContext. This could lead to multiple threads attempting to use the DbContext simultaneously, which is not supported.

See also: https://learn.microsoft.com/en-us/dotnet/core/extensions/dependency-injection#service-lifetimes

@frankbuckley if we cannot invoke concurrently, is it necessary to invoke with await Task.Run(...?

Still cannot recall why implemented this way - maybe to avoid generic bloat (additional method compiled per message type) and/or maybe to avoid requiring message sender to be tied to message type to chain handers?
Leave branch for now, but I need to think a bit more.

Here, the sender could have any number of message types and cannot know what they all may be...

So, lets not add the generic overload for now.

Here, the sender could have any number of message types and cannot know what they all may be...

@frankbuckley I don't follow. As I see it, as long as the type implements IMessage, which all the events in your example do, the method will handle them? What am I missing? The dispatcher is not generic over the TMessage, just the each call of HandleAsync

Here, the sender could have any number of message types and cannot know what they all may be...

@frankbuckley I don't follow. As I see it, as long as the type implements IMessage, which all the events in your example do, the method will handle them? What am I missing? The dispatcher is not generic over the TMessage, just the each call of HandleAsync

you would have to retain the original IMessage accepting method and add the generic  overload, which is then superfluous as adds no new functionality - just requires additional compilation

you would have to retain the original IMessage accepting method and add the generic overload, which is then superfluous as adds no new functionality - just requires additional compilation

I don't see why. Using an interface with only the generic method compiles fine for the example you've given.

Consider:
    [Fact]
    public async Task AllMessagesHandled()
    {
        var services = new ServiceCollection();

        _ = services.AddLogging(ConfigureLogging);
        _ = services.AddScoped<IMessageDispatcher, MessageDispatcher>();
        _ = services.AddScoped<IMessageHandler<Message>, MessageHandler>();
        _ = services.AddScoped<IMessageHandler<DerivedMessage>, DerivedMessageHandler>();

        using var scope = services.BuildServiceProvider().GetRequiredService<IServiceScopeFactory>().CreateScope();

        var messagesToSend = new List<IMessage>
        {
            new Message(),
            new DerivedMessage()
        };

        var dispatcher = scope.ServiceProvider.GetRequiredService<IMessageDispatcher>();

        foreach (var message in messagesToSend)
        {
            await dispatcher.PublishAsync(message);
        }

        foreach (var message in messagesToSend.OfType<Message>())
        {
            Assert.True(message.Handled);
            Assert.Equal(1, message.HandledCount);
        }
    }

You cannot use the generic overload as the list contains items of type IMessage. The generic handler would look for a handler of type IMessageHandler<IMessage> rather than IMessageHandler<DerivedMessage>, for example.
Similarly, if the list were List<Message>, then DerviedMessage would be sent to IMessageHandler<Message> rather than IMessageHandler<DerviedMessage>.
Since the non-generic method is required, the generic overload does not add value.


DSND-2938: Consume and transform ACSP delta into API request body

Describe the changes

Deserialises a ChsDelta and its AcspProfileDelta data.
Transforms data into an API request body ready to be sent by an API client.
Adds minor improvements to logging.
Swaps unnecessary consumer method params for Kafka headers in logging aspect, see spring kafka DeadLetterPublishingRecovererFactory for more info on handling attempts header.

Related Jira tickets
DSND-2938
Developer check list
General

[ ] Is the PR as small as it can be?
[ ] Has the Jira ticket been updated with any relevant comments?
[ ] Is the README up to date?
[ ] Has the POM been updated for the latest versions of dependencies?
[ ] Has the code been double-checked against main?
[ ] Does the code adhere standards in this repository, including SonarQube checks?

Testing

[ ] Do the code changes have unit and integration tests with code coverage > 80%?
[ ] Has the code been tested locally and/or passed the API Karate tests on Tilt?
[ ] Have mandatory manual test cases been run?
[ ] Are extra Karate tests required?
[ ] Are all the test data resources up to date?

Release preparation
Where possible, add links to the respective Jira tickets when an item is checked

[ ] Have these changes been included in a release ticket?
[ ] Are changes required to the docker-chs-development deployment or test data?
[ ] Are any changes required to the environment added to chs-configs?

Notes to the tester
Add any testing hints or instructions here.

CI: No security warnings found

CI: No security warnings found


Start ecto_sql in migrate task

using Ecto 3, I found that without ecto_sql, migrations would fail with the following error:
** (exit) exited in: GenServer.call(Ecto.Migration.Supervisor, {:start_child, [#PID<0.151.0>, Manager.Repo, :forward, :up, %{level: :info, sql: false}]}, :infinity)
    ** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started
    (elixir) lib/gen_server.ex:914: GenServer.call/3
    (ecto_sql) lib/ecto/migration/runner.ex:22: Ecto.Migration.Runner.run/7
    (ecto_sql) lib/ecto/migrator.ex:211: Ecto.Migrator.attempt/7
    (ecto_sql) lib/ecto/migrator.ex:113: anonymous fn/4 in Ecto.Migrator.do_up/4
    (ecto_sql) lib/ecto/migrator.ex:193: anonymous fn/3 in Ecto.Migrator.run_maybe_in_transaction/5
    (ecto_sql) lib/ecto/adapters/sql.ex:787: anonymous fn/3 in Ecto.Adapters.SQL.checkout_or_transaction/4
    (db_connection) lib/db_connection.ex:1341: DBConnection.run_transaction/4
    (ecto_sql) lib/ecto/migrator.ex:192: Ecto.Migrator.run_maybe_in_transaction/5

Starting ecto_sql as shown in the proposed change, solved the problem for me. Here is a link to someone elses description of the same issue, this is where I found the solution:
https://elixirforum.com/t/migration-breaks-in-release-with-ecto-3/18320

Thanks for tracking down the issue! I haven't gone through and updated all the deps, but I know a few of these changes came down the pipe since the project was originally built, I appreciate the help catching up :)

You're welcome. This example has been really valuable for me. Thanks for taking the time to create a comprehensive "real world" example. I'm glad to contribute.


Shared Photos loading problem

Version 2.2.5 (961)
Can't either load photos or they are loaded after massive delay

Having the same issue, same version. No photos loading.


v6.1.0

@piotrszul Just taking a look at the performance of a query in which all terminology requests are already cached.
Seems like almost half the time is spent doing JSON parsing and invoking the interceptor mechanism.

I worked out that logging affects performance significantly.
I think we should only register the client logging interceptor if verbose request logging is on.

I've got a working implementation using Infinispan instead of the default cache storage, using the soft-index file store. Seems to work well.
I'll form this up into a pull request.

Ok, I can now see that you have already enabled disk-based caching - although it's not immediately obvious how to configure it.

There seems to be some sort of problem with the disk storage of the caching mechanism as implemented.
Upon restarting, it seems to miss on the cache and generate new files.
I'm also a bit concerned that it creates a file for each unique request - I'm not sure if 100,000s - 1,000,000s of files will be a problem at some point.

I think subsumes / subsumedBy need to be made more tolerant. I think we need to treat a 400 series error as a false for the purposes of these operations. A 400 series error can occur if the code is not found, or if the code is invalid.
The same logic probably needs to be applied to memberOf (validate-code).
In the case of property / designation / display (lookup), I think a 400 series error should simple yield no value.

@piotrszul I think it might be easier to merge issue/1066 and caching-updates to release/6.0.1 sooner rather than later.
We can continue to review and refine on the feature branch, and you can merge back to your in-progress branch when it suits you.

I think spark.sql.adaptive.advisoryPartitionSizeInBytes might be one way of increasing the parallelism in some queries - however I haven't been able to use it to get an overall performance improvement.

I tried substituting the HTTP caching for a simple memoization of the call to the terminology service, and it resulted in a big speedup (~70%) for the fully cached case, but little to no speedup for the uncached case.

@piotrszul I've now merged the issue/1066 and caching-updates to release/6.0.1.

@piotrszul I think this is pretty much ready to go with the exception of one problem. I am having trouble getting the library to work on Databricks.
There seems to be a conflict relating to the package com.github.ben-manes.caffeine:caffeine.
We have this package as a transitive dependency (through Infinispan), at version 2.9.3. Databricks (12) has version 2.3.4 of this library on the classpath.
This causes the following error:
Caused by: org.infinispan.commons.CacheException: java.lang.NoSuchMethodError: 'java.lang.Object com.github.benmanes.caffeine.cache.Policy.getIfPresentQuietly(java.lang.Object)' at org.infinispan.interceptors.impl.InvocationContextInterceptor.rethrowException(InvocationContextInterceptor.java:135) at org.infinispan.interceptors.impl.InvocationContextInterceptor.lambda$new$0(InvocationContextInterceptor.java:61) at org.infinispan.interceptors.ExceptionSyncInvocationStage.andExceptionally(ExceptionSyncInvocationStage.java:40) at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:133) at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:89) at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:247) at org.infinispan.cache.impl.InvocationHelper.doInvoke(InvocationHelper.java:297) at org.infinispan.cache.impl.InvocationHelper.invoke(InvocationHelper.java:101) at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:542) at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:536) at org.infinispan.cache.impl.AbstractDelegatingCache.get(AbstractDelegatingCache.java:439) at org.infinispan.cache.impl.EncoderCache.get(EncoderCache.java:683) at au.csiro.pathling.terminology.caching.CachingTerminologyService.getFromCache(CachingTerminologyService.java:166)
To reproduce this problem, you can build this branch and install the Python wheel and the "all" version of the library-api JAR. I realise that this is not exactly the same method of installation as we would use post-release, where we would instruct Databricks to install library-api from Maven. I'm not sure how to emulate this any better.
The library seems to work fine when used with a regular Spark environment, such as the one created by the Dockerfile in lib/python using the jupyter/all-spark-notebook base image.


[LC0003] False positive

Warning(s)

Do not use an Object ID for properties or variables declaration. Use Option instead.
The message for the diagnostic '0' could not be formatted. Message: 'There was an Error in Rule "{0}" of type "{1}" {2}'. Arguments: 'Rule0003, unknown'.

Code
[EventSubscriber(ObjectType::Codeunit, Codeunit::ReportManagement, 'OnAfterDocumentPrintReady', '', false, false)]
    local procedure OnAfterDocumentPrintReady(ObjectType: Option; ObjectID: Integer; ObjectPayload: JsonObject; DocumentStream: InStream; var Success: Boolean);

Similar warning on following local var definition
State: Option Operator,Number;

I do not get any message when I use your example code.
But I had an idea what causes the LC0000 to not print correctly.
Please make sure you have version https://github.com/StefanMaron/BusinessCentral.LinterCop/releases/tag/v0.24.9 installed and report back if the LC0000 shows up correctly.

Hi @StefanMaron , I've attached a sample repo with minimum code / settings that results in the above reported warning, which seems still present in pre-release v0.24.9. If you need more info, glad to help.

ALProject8.zip

I still dont get any warning

Do you have the same AL Language Verson?

Forgot to mention, I'm running one of the BC insider 9.x versions.
v9.0.592718


[CSL-1505] update for time-warp change

The Peers datatype has changed along with the interface for updating a
bucket. Now static routing variants core/relay get the directory of all
known peers, even those to which they do not route traffic, and keep it
so that they can classify those peers, which may send traffic inbound.
Other noise in this pull request is the migration of policies from
tiem-warp-nt to here in Pos.Network.Policy

@edsko This is set to merge into your branch #1286 and resolves a TODO in there about topologyUnknownNodeType. The unknown node type function can remain pure, and the default one is implemented correctly. But now the Peers datatype in each bucket includes a classification Map NodeId NodeType such that its keys are a superset of the identifiers in the routing lists. It can be used to classify unknown nodes, and if it's not even in that map, then the UnknownNodeType function is used.
It's all in here https://github.com/serokell/time-warp-nt/pull/90

Also be aware of https://github.com/input-output-hk/cardano-sl/pull/1347 which I'll rebase against this branch (or whatever branch contains it by tomorrow morning). It gets rid of the special treatment of the behind-NAT policies, and keeps routing policy information out of the topology file/datatypes.

Merge target changes to master since #1286 was merged.


[enhancement]: adjustable gallery vs. boards (borders/size)

Is there an existing issue for this?

[X] I have searched the existing issues

Contact Details
steinn on discord
What should this feature add?
I'm not too sure how to title it. On my default browser zoom level (w/ Windows' scale 125% applied universally) the gallery is dwarfed by the boards after adding more than a couple. Being able to adjust the size of the border between the two, just like the side panels could be nice. This might also be a problem on much larger screens.

Alternatives
auto-adjusting to make sure for smaller screens / way larger ones it doesn't appear odd. (not manual)
Additional Content
No response

Good idea!
This is a good first issue for a UI/frontend contributor:

Review how we use react-resizable-panels - invokeai/frontend/web/src/features/nodes/components/sidePanel/NodeEditorPanelGroup.tsx is a good example where the usage is clear
Implement the panels in invokeai/frontend/web/src/features/gallery/components/ImageGalleryContent.tsx, setting a sensible default min height
Update invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BoardsList.tsx to not use a <Collapse />, as this is now handled by the panel components
Update invokeai/frontend/web/src/features/gallery/components/GalleryBoardName.tsx to not be a button - or, if it makes sense, make this component toggle the collapsed status of the panel. You can see how to do this in invokeai/frontend/web/src/features/ui/components/FloatingGalleryButton.tsx - requires a ref to the panel component. The panel's collapsed height should be just enough to show this button and the <GallerySettingsPopover /> button

hey @psychedelicious, I can work on this issue can you assign this to me

Hi @dhruvpal05, thanks! I've assigned the issue to you, please let me know if you have any questions.
Sorry for the delay, was away for the week.


cant find correct way to query single object

the old versions have find(1) methods. but on new version even get(resource(x)) will sometimes (i think it caches the prev requests)  append $count param which results error

Can you share the full code as an example? Your way of querying it is correct, the find method was removed in 1.x as it is easy to now use string literals for that:
const id = 1;
await o('http://some.url').get(`user(${id})`).query()

But why the $count is attached I don't know exactly. Maybe there is an issue with your query or maybe with o.js. I could try it if you give me some more code.

wow, did not expect that fast response. thanks
i may have found the problem, i was using it like this
const oHandler = o('https://localhost:44385/odata/');   console.log('gettingOne',resource)          const query = {}          const {expand,id} = params          if(expand)          {              query.$expand  = expand          }
    ` return oHandler
         .get(`${resource}(${id})`)
         .query(query).then(data =>
             {
              //   console.log(data)

                 return {data}

             }
         )`

does using it as handler caches previous query. because it happens when i run another query with $count=true using the same oHandler right before i run the above.
if i jus use return o('https://localhost:44385/odata/')  every thing is working as expected.

yep, that is correct... the handler chains multiple requests and only cleans them when they are done (see: https://github.com/janhommes/o.js/blob/cba5d7d771383768ca303634ab1aa1b5f866e424/src/OHandler.ts#L76). So if you want to use the handler, you must either await the first request or chain your request:
oHandler.get('$count').get(`${resource}(${id}).query()

but this doesn't work for you, as it will attach the query parameters to both requests. Maybe it is better to initialize the handler with some kind of function.
getHandler() {
  return o('http://yourUrl');
}

and then call getHandler().get(...).

perfect, thanks ... don't you think it should be in the docs

hi there, can i ask for your opinion
i've read multiple articles saying odata is dying. am not yet convinced
because its working for us. should move to graphql or continue with odata
what do you think?
Thank you
On Wed, Nov 27, 2019 at 4:14 PM Jan Hommes<EMAIL_ADDRESS>wrote:

yep, that is correct... the handler chains multiple requests and only
cleans them when they are done (see:
https://github.com/janhommes/o.js/blob/cba5d7d771383768ca303634ab1aa1b5f866e424/src/OHandler.ts#L76).
So if you want to use the handler, you must either await the first request
or chain your request:
oHandler.get('$count').get(`${resource}(${id}).query()
but this doesn't work for you, as it will attach the query parameters to
both requests. Maybe it is better to initialize the handler with some kind
of function.
getHandler() {
return o('http://yourUrl');
}
and then call getHandler().get(...).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/janhommes/o.js/issues/101?email_source=notifications&email_token=ABTH4SJ6TUDDGORDNWNJNJDQVZXCFA5CNFSM4JSAI6AKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFJOVZY#issuecomment-559082215,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABTH4SL2QUA2YWVEDNWHX63QVZXCFANCNFSM4JSAI6AA
.

Hey,
So if you are starting a new project, use grapql. I guess that it gets more
traction, therefore more tools, and faster bug fixing.
But if it is something already working, why bother the effort with nearly
no improvement?
Regards
Jan
Am Do., 28. Nov. 2019 um 01:13 Uhr schrieb Abenezer <
<EMAIL_ADDRESS>
hi there, can i ask for your opinion
i've read multiple articles saying odata is dying. am not yet convinced
because its working for us. should move to graphql or continue with odata
what do you think?
Thank you
On Wed, Nov 27, 2019 at 4:14 PM Jan Hommes<EMAIL_ADDRESS>wrote:

yep, that is correct... the handler chains multiple requests and only
cleans them when they are done (see:

https://github.com/janhommes/o.js/blob/cba5d7d771383768ca303634ab1aa1b5f866e424/src/OHandler.ts#L76
).

So if you want to use the handler, you must either await the first
request
or chain your request:
oHandler.get('$count').get(`${resource}(${id}).query()
but this doesn't work for you, as it will attach the query parameters to
both requests. Maybe it is better to initialize the handler with some
kind
of function.
getHandler() {
return o('http://yourUrl');
}
and then call getHandler().get(...).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/janhommes/o.js/issues/101?email_source=notifications&email_token=ABTH4SJ6TUDDGORDNWNJNJDQVZXCFA5CNFSM4JSAI6AKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFJOVZY#issuecomment-559082215
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/ABTH4SL2QUA2YWVEDNWHX63QVZXCFANCNFSM4JSAI6AA
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/janhommes/o.js/issues/101?email_source=notifications&email_token=AAZ5XYEH7UOWO5GLCG7GH7DQV4EJJA5CNFSM4JSAI6AKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFLCCYQ#issuecomment-559292770,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZ5XYA6ZNZ2L7IRD332ZVLQV4EJJANCNFSM4JSAI6AA
.


⚠ Bofrost.es has degraded performance

In cad8dc6, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1614 ms

Resolved: Bofrost.es performance has improved in dddcb49 after 13 minutes.


Add getBundleHost

I'm posting this in a very incomplete state to understand if this is something you're interested in adding to react-native-device-info. I'll flesh it out fully with docs and Android support if you're interested.
Description
Added getBundleHost() that allows you to get the host that the bundler the react native shell is connected to.  When running in dev mode/using metro remotely (rather than a baked-in
pre-compiled bundle) you can use this to have your app automatically
connect to an API server on your dev machine.
Compatibility

OS
Implemented

iOS
✅

Android
❌

Windows
❌

Checklist

[ ] I have tested this on a device/simulator for each compatible OS
[ ] I added the documentation in README.md.
[ ] I mentionned this change in CHANGELOG.md.

Hi @sdunster and thank you for taking the time to open this PR and share your idea.
I personally have no use-cases that matches this addition, but I'll gladly merge it in if other users show interest :)

🤷♂


环境缺少‘adbutil’，是不是少下了什么？

[adb_kit-main] flutter pub get
Resolving dependencies...
Because adb_kit depends on adbutil from path which doesn't exist (could not find package adbutil at "../adbutil"), version solving failed.

Good afternoon. I agree with the question. Could you explain in more detail how to compile the project, provided that the pubspec contains a comment that it is necessary to remove termux_api_plugin, adb_kit_extension and remove compilation errors manually. Thank you in advance!

移除dependency_override下的路径依赖，移除相关代码报错

Has the problem been solved?
xizerlix @.***> 于2023年10月2日周一 18:32写道：

Good afternoon. I agree with the question. Could you explain in more
detail how to compile the project, provided that the pubspec contains a
comment that it is necessary to remove termux_api_plugin, adb_kit_extension
and remove compilation errors manually. Thank you in advance!
—
Reply to this email directly, view it on GitHub
https://github.com/nightmare-space/adb_kit/issues/16#issuecomment-1742773452,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKREP2R373JE5Q3W4YAUQSLX5KJ3TANCNFSM6AAAAAA4ZC67D4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

我在小米5手机上运行这个应用，使用OTG线连接开发态的设备，发现识别不到设备。可能是什么原因？

系统版本太低了，OTG至少要安卓7.0及以上