Apollo 2.0 - roadmap/feedback

With Apollo 2.0 now in beta now available, a ReactQL bump to the latest Apollo client is just around the corner.
As well as being smaller and more nimble, v2 will also be modular - removing the implicit Redux store and createNetworkInterface(), and replacing them with a (eventual) plethora of explicit caching and networking middleware that can be swapped out to do things not currently possible in Apollo v1.
This opens up some interesting options for the next major release of ReactQL. This could be as trivial as swapping out the current client for v2, and keeping everything else exactly the same - e.g. Redux for app state management, SSR and store (de|re)hydration, exactly the same pipeline - and enjoying smaller bundle sizes, and more performant client-side caching.
Or it could be something more elaborate/interesting, including:

Dropping Redux entirely, and letting Apollo handle full app state entirely within GraphQL. Instead of an explicit addCounter() reducer, why not keep our entire app in GraphQL and simply run a mutation, letting Apollo handle caching and state management without a separate Redux @connect decorator?

Subscriptions. We could ditch HTTP, and opt for server-pushed data via websockets by default, extending the Observable pattern Apollo 2's Link interfaces introduce and keep the browser + server in sync -- making it trivial (or at least easier) to respond to server-side data cursors, push new DB records down the wire, etc.

Universal session caching. There's interest in maintaining state between browser refreshes, but what about between server refreshes? Using a distributed store (Redis, etc) and extending Apollo 2's new apollo-cache-core, ReactQL could implement session-based storage using JWT so that SSR always reflects the very latest data, regardless of whether queries are invoked in the browser or on the server -- with eventual consistency, custom TTLs and fine cache control.

Session + global real-time updates. With ws + universal caching, 'real-time' is basically solved. Certain mutations/subscriptions could be marked as 'global' and pushed down to every connected client -- others would be session-specific, and pushed down to the active ID. This could also massively simplify user auth. No sessions, no stores, no reducers - just GraphQL. Hello true real-time apps?

These are just some early/immediate thoughts, and I've love to hear your feedback on any of the above features.
Is there any interest in adopting 'real-time by default'? Are you currently using ReactQL as a full-stack starter kit? Or do you prefer to handle the GraphQL server separately?
What features would you like to see ReactQL take care of?
On these, or any other Apollo v2 topics, I invite your thoughts.

🎉🎉🎉🎉🎉🎉🎉🎉🎉

Subscriptions + real-time updates by default sounds great
Dropping Redux sounds nice. The fewer ways have to manage state the better, as long as the new way supports all the use-cases. In particular, I'm interested to know how you would handle form state without Redux? We wouldn't be able to use a library like Redux Form, which means we're back to square one again.
Caching between browser and server refreshes doesn't appeal to me personally. If I'm refreshing the browser in an SPA it's because the app screwed up and I'm explicitly trying to clear the state.

Dropping Redux sounds nice. The fewer ways have to manage state the better, as long as the new way supports all the use-cases. In particular, I'm interested to know how you would handle form state without Redux? We wouldn't be able to use a library like Redux Form, which means we're back to square one again.

All state would be GraphQL. Just like in the recent auth example, filling out a form (be it an email/password login box, or a full-blown contact form) could be a mutation like this:
mutation login($email: String, $password: String) {
  login(email: $email, password: $password) {
    ok
    errors {
      field
      message
    }
    jwt
    user {
      id
      email
      firstName
      lastName
    }
  }
}

In the above, we're passing an email and password from a form, and getting a fully-qualified user object back, along with errors in a { field, message } format.
Something similar like this could be applied to forms - or indeed, any type of action - but instead of receiving a 'user', you could receive a response object of some kind that is cached/stored within Apollo and could be queried by any other React component simply by decorating it in @graphql from react-apollo, like we do with this <User> component per the example above:
const User = props => {
  const user = (props.data && props.data.session && props.data.session.user) || {
    id: '',
    email: '',
    firstName: '',
    lastName: '',
  };
  const fields = [
    {
      name: 'id',
      label: 'User ID',
      value: user.id,
    },
    {
      name: 'email',
      label: 'E-mail',
      value: user.email,
    },
    {
      name: 'firstName',
      label: 'First name',
      value: user.firstName,
    },
    {
      name: 'lastName',
      label: 'Last name',
      value: user.lastName,
    },
  ];

  return (
    <Grid.Row>
      <Grid.Column>
        <Segment color="violet">
          Logged in details

            This data is pulled back from the GraphQL server using the JWT token that’s
            stored in localStorage or in the jwt cookie that’s sent
            to the server. Custom middleware handle passing the JWT to our GraphQL request.

          <Form>
            {fields.map(field => (
              <Form.Input
                readOnly
                key={field.name}
                name={field.name}
                label={field.label}
                value={field.value} />
            ))}
          </Form>
        </Segment>
      </Grid.Column>
    </Grid.Row>
  );
};

export default graphql(sessionQuery)(User);

In this case, we're populating form fields with the user object we returned from a mutation fired from an unrelated component - in much the same way an unrelated Redux reducer can lead to other components re-rendering when the underlying state changes.
It's exactly the same concept, except it all stays within GraphQL rather than relying another store management layer on top.
Benefits are then:

Reduced bundle size - you can ditch Redux, or third-parties like MobX.
Reduced boilerplate. No need to specify reducers/actions/state listeners - you can keep everything in GraphQL.
The full flexibility/expressiveness of GraphQL. If you store state locally, you can define the state ahead of time as a regular GraphQL schema and query it per the full power of GraphQL -- with type safety, nested relationships, superior null handling, etc.

Since Apollo 2.0 ditches Redux, we might as well embrace the freedom of unshackling from third-party store management, while treating GraphQL as a common query language across our entire app.

Caching between browser and server refreshes doesn't appeal to me personally. If I'm refreshing the browser in an SPA it's because the app screwed up and I'm explicitly trying to clear the state.

I'm thinking more in terms of 'classic' session handling. In a traditional web app, if you log into a user's dashboard and click around, then hit refresh, the expectation is you're refreshing against an authenticated page.
Currently, unless there's some way the browser is passing a JWT to the server (like I did in the auth example project), hitting refresh would actually kill the state, which would include that user's details, any 'state' that may affect how UI is laid out, any temporary variables that may have been stored in state to act as a scratchpad to what the user was doing on the page, etc.
IMO, the advantage of having state changes mirrored on the server and stored against a JWT identifying the user, is better aligned with what a 'session' traditionally means to a user -- i.e. whatever they do won't be lost when they exit, so long as they're part of that same 'session' .
Of course, what 'session' means is up to the developer. It'd still be possible to kill all state by simply terminating the session (by any mechanism.) This could mean hitting 'log out', clicking a 'reset' button, or simply a session timing out/being killed automatically when the browser exits. There would be an API for configuring TTL, terminating on demand, etc.
The point here is more about enabling the possibility to fully expand upon two-way subscriptions, rather than enforcing 'always sticky, all the time'.
This area definitely needs more thought (and quite a bit of code), but could lead to some very interesting scenarios that are not easily answered by other tooling... i.e. creating real-time, universally rendered apps there 'state' is accessible by both the server and the browser, and (nearly) always in sync.
Coupled with a 'GraphQL all the things' approach, this could be completely change the approach to building fast, real-time web apps, that still benefit from native SSR.
Sort of Meteor meets old ASP.net view state - but with GraphQL being the common language, and sessions being held on a distributed back-end. Or something like that.

I'm still not certain how forms would work with GraphQL. Would every keypress fire a mutation? Because that's effectively what we're doing now -- either moving the current input into the component's state or Redux's store. Isn't that a big chunk of overhead per keypress? Loading and saving is of course fine to do with GraphQL.

I'm thinking more in terms of 'classic' session handling. In a traditional web app, if you log into a user's dashboard and click around, then hit refresh, the expectation is you're refreshing against an authenticated page.

Well of course I wouldn't expect to be logged out if I press refresh 😄 I guess having the option to store additional data other than just authentication would be nice. I suppose that could provide for some nice opportunities, like 'recovering' what the user has worked on if they accidentally close a tab or their browser crashes or whatever.

I'm still not certain how forms would work with GraphQL. Would every keypress fire a mutation? Because that's effectively what we're doing now -- either moving the current input into the component's state or Redux's store. Isn't that a big chunk of overhead per keypress? Loading and saving is of course fine to do with GraphQL.

Not necessarily. You could use React's local state for ephemeral data, and then fire the mutation onSubmit.
GraphQL mutations aren't necessarily any more expensive than the equivalent reducer in Redux, when used locally. We're talking 1-2ms of overhead.

Well of course I wouldn't expect to be logged out if I press refresh 😄 I guess having the option to store additional data other than just authentication would be nice. I suppose that could provide for some nice opportunities, like 'recovering' what the user has worked on if they accidentally close a tab or their browser crashes or whatever.

Yup. The idea would be that you can save all state, not just auth data. So if you've clicked a button that disables a component, it will still be disabled if you hit refresh. Syncing state is generally a difficult thing to do, and more often than not we don't want an accidental refresh to cause chaos in the app. This paradigm makes the default behaviour sensible -- i.e. simply pick up where you left off -- meaning you're in control of explicitly resetting state within your UI or by terminating the session via TTL or explicitly.

I've found it necessary to put form state into redux. It's too much work to
bubble up the state from deeply nested subcomponents. It also makes
validation much easier if you have access to everything. And state isn't
lost it you show/hide the form. And sometimes you do want to respond to
form changes in real-time from other components.
I'll guess I'll have to dig into this deeper and see how feasible it is to
build a form library around graphql.
On Sep 16, 2017 2:19 AM, "Lee Benson"<EMAIL_ADDRESS>wrote:

I'm still not certain how forms would work with GraphQL. Would every
keypress fire a mutation? Because that's effectively what we're doing now
-- either moving the current input into the component's state or Redux's
store. Isn't that a big chunk of overhead per keypress? Loading and saving
is of course fine to do with GraphQL.
Not necessarily. You could use React's local state for ephemeral data,
and then fire the mutation onSubmit.
GraphQL mutations aren't necessarily any more expensive than the
equivalent reducer in Redux, when used locally. We're talking 1-2ms of
overhead.
Well of course I wouldn't expect to be logged out if I press refresh 😄 I
guess having the option to store additional data other than just
authentication would be nice. I suppose that could provide for some nice
opportunities, like 'recovering' what the user has worked on if they
accidentally close a tab or their browser crashes or whatever.
Yup. The idea would be that you can save all state, not just auth data.
So if you've clicked a button that disables a component, it will still
be disabled if you hit refresh. Syncing state is generally a difficult
thing to do, and more often than not we don't want an accidental refresh to
cause chaos in the app. This paradigm makes the default behaviour sensible
-- i.e. simply pick up where you left off -- meaning you're in control of
explicitly resetting state within your UI or by terminating the session via
TTL or explicitly.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/reactql/kit/issues/80#issuecomment-329957004, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABD7pru1UUY7-kUiL8BOdhlxi5VmvmeJks5si5KjgaJpZM4PZP0-
.

I wouldn't get rid of redux. Many people will still want to use redux (and storing into local graphql is a big shift). There's also the case if you are connecting to an external graphql server that you have no control over. So you would have to use redux anyway.

@nate0001 - I'm exploring a more modular approach to ReactQL, that would allow you to progressively add features to the stack - including Redux. You'd also be able to do this in userland in exactly the same way as it's currently done-- it would just stop being a hard requirement.
I'm not sure what you mean by external GraphQL servers and Redux. All a GraphQL server does is receive queries, and respond back in a JSON format. Stores/state management is something that happens on the client exclusively. Apollo v2.0 takes care of caching/storing the returned data without Redux.

@leebenson - I really like the idea of the modular approach and it's the main reason why I've chosen to use this kit over others (nextjs, create-react-app, etc) for a project at work.
What I meant by external GraphQL server is that the above scenario depends on you running a local (in process) GraphQL server. However, some people won't always have that luxury. For instance, the project I'm working on is using an external GraphQL server (pointed to http://some.url.to.a.graphql.server). Apollo doesn't allow connecting to multiple GraphQL servers. So in this instance, there would be no way you could store state in GraphQL.

@nate0001 - understood. I'm working on a new framework that will make it very easy to swap out pieces of ReactQL. So if you want to build a monolithic app with GraphQL running on Node - and you want all the goodies like built-in session handling, JWT auth, etc - that'll be a case of dropping in just one preset.
If you want to connect to a third-party server and build client-side code statically, just swap it out for another.
There will be a bunch of 'official' presets, and making your own (or extending an existing one) will be super simple.
Hoping to get the first version out for it this week.

Hoping to get the first version out for it this week.

I'm in favor of all options you have discussed. Starting with a more modular architecture and adding features as they become available.

Session + global real-time updates. With ws + universal caching, 'real-time' is basically solved.

Woot! exciting times ahead ✨ 💖 ✨

@leebenson will you be upgrading redux-persist to v5? It's a major API change

I'm happy with dropping with redux as long as there is a decent migration guide for it. Unfortuantely, a lot of our projects depend on actions and reducers so losing redux without ability to add support in userland would seriously hinder our progress. So long as userland redux is fully supported, I am in favour of dropping redux - no need to add unused dependencies.

@leebenson will you be upgrading redux-persist to v5? It's a major API change

We're not currently using react-persist, so it wouldn't be an upgrade, but rather an introduction. What's probably best is an API that allows you to orchestrate the Redux middleware stack in userland rather than editing kit/lib/redux.js directly, then you can throw in whatever you like.

I'm in favor of all options you have discussed. Starting with a more modular architecture and adding features as they become available.

I've been playing around with a few approaches. My initial goal was to release something that would look something like this:
const app = require('reactql/app')
const setup = ['css','images','reactql'].map(what => require(`reactql/${what}`).setup())

app.webpack(setup).entry('./your/entrypoint.js').launch()

Those three lines would be all you'd need to bootstrap an app. The setup line is middleware - each package being able to modify the main Webpack config, and effect changes at the entry point.
launch() would build the app per the Webpack config, using the entrypoint, and would build a distribution bundle for each environment defined in Webpack.
I had some preliminary code that I got working quite well, in limited scenarios. The issue with that approach is that, often, mapping Webpack middleware isn't linear. ReactQL's current config is spread over 10 files, with multiple options that overlap, and edge cases that are resolved outside of webpack-config's merge capabilities. Getting something to work would mean overhauling the approach I'm currently taking with Webpack.
This is compounded when supporting multiple environments. My initial goal was to have middleware for supporting browser, SSR, and static bundling separately, so that pieces could be dropped entirely. But again, that quickly gets us back into territory where each middleware in the stack has to then be 'environment aware' and make allowances/exceptions. The API for this wasn't as clean as I liked, and it became obvious fast that I'd essentially be creating a project that diverged quite a lot from ReactQL's primary raison d'être.
So, all that to say, that I'm still not quite settled on the modular approach yet. 'Modular' in this context means being able to dynamically add to Webpack config based on packages, as well as affect the runtime of the entrypoint to the app. I'll give this some more thought later down the road, and may even spin this off into a separate framework that puts Webpack front and centre, but I'm currently a little too busy to tackle that right now.
Instead, what I'll likely do for the next major release of ReactQL is:

Bump to Apollo v2, and allow userland middleware/config
Make it trivial to add Redux middleware to the mix

Sticky/distributed sessions, etc, may come later, or may just wind up being an example kit. Not sure yet.
There's still a few things that need to happen in Apollo 2 before I tackle the above. For example, we're using apollo-local-query via SSR to render 'local' schema rather than hitting the network, which currently relies on v1's createNetworkInterface. I'm not sure whether there's a ready equivalent for v2. Might need to wait for the ecosystem to mature a bit before making the switch.

My bad. Looks like i've got some packages installed that I never removed. 😆

@jbaxleyiii - what's the recommended approach for a 2.0 equivalent of https://github.com/af/apollo-local-query?
We currently use this for SSR, to avoid the HTTP hop when React rendering and GraphQL are part of the same local node.
It seems that it should be fairly trivial to make work for 2.0, but if there are any ready-made packages or code examples floating about, that would help us get ReactQL transitioned over to the new release?
Appreciated!

If redux is removed, what is the substitute for the side effect libraries like redux-sagas or redux-epics? Many of their use cases (data fetching..) would be replaced. But there is still the need to have some side effects that tie into the store (e.g. wait for camera to take photo -> process photo -> store in database). How does this work with apollo 2.0?

At some point, jbaxleyiii will ship apollo-link-state, and an apollo-link-rest was demo'd at graphql-summit in SF end of October. You'll be able to "stitch" together client-side schemas using composed links, which will allow you to use graphql as the single source of truth for all data - while still exposing the ability to drop redux in as your backing cache if necessary.

Here's a good article about how and why to make the shift from Redux to Apollo 2.0

Any updates on a ReactQL kit with Apollo 2.0 and/or migration docs?

Thanks for sharing, @fhollste.
ReactQL is being split into two projects:

Launch.js, a general-purpose Webpack bundler, with pluggable configs that can be added to it.

A ReactQL plugin for Launch.js, with separate plugins for CSS and other, more 'opinionated' pieces of ReactQL.

Both are written in Typescript, but usable as vanilla JS.
I'm making headway with the new stack, and I'm hoping to have a first release early in the new year (as I've mentioned elsewhere, I have personal projects that are blocking on it, so it's being worked on as a priority.)
The first iteration will be vanilla, universal React, followed by a thunk'd variant which will layer Apollo 2 on top.
(For existing users that are happy with Apollo v1 + Redux, that would be easy to augment manually on top of the React plugin.)
I'm getting there...

FWIW, the new syntax will look something like this:
import app from "@launchjs/app";
import reactql from "@launchjs/reactql";
import css from "@launchjs/css";

// Add in the plugins
app.add(reactql, css);

/* Configure the plugins */

// ReactQL
reactql.setBrowserMain('path/to/main.ts'); <-- should export a function that takes a `browserConfig`
reactql.setServerMain('path/to/main.ts'); <-- the same, but `serverConfig`

// CSS
css.setOutputFilename('styles.css'); // <-- A plugin usually has options like this..

/* Build/launch the app - by default, in development mode */
app.launch();

Then in your main.(ts|js) entry point, you'd so something like this:
// For use with `reactql.setServerMain`...
export default function(config: ReactQL.ServerConfig) {

// All the usual stuff you can currently do in ReactQL, but this time, typesafe!
config.addRoute(HttpMethod.GET, "/path", routeHandler);

// Export a main React component
config.setMain(MainComponent);
}

Finally, since everything can be added as an NPM package, the CLI will be retired, and upgrading will be done with standard npm i tooling.
It'll move ReactQL from being a starter kit, to a very pluggable  / customisation framework.

Looks great, can't wait to try it out !

Update on this thread: https://github.com/reactql/kit/issues/147#issuecomment-378173217

A taste of what's to come a la Launch.js presets:
https://github.com/launchjs/styles
I'm currently working on the new ReactQL preset (today, actually), which will make including it in your project as simple as it is to now include styles.
This approach also means we can drop a lot of the assumptions that come with the current version of ReactQL around styling, image bundling, compression, etc. All of those can be presets that can be chosen by the user rather than bundled as standard.
More updates soon!

Closing per https://github.com/leebenson/reactql/releases/tag/3.0.0


CustomElement: Additional event arguments of CustomEvent

What problem does this feature solve?
In standard js CustomElement api, the detail property can be any type. But when use this.$emit or setup emit on the custom element, additional event arguments (payload) will be exposed as an array on the CustomEvent object as its detail property, it is not convenient for users to use and not match the original javascript standard. So I think when we only pass one additional event argument, it shouldn't be exposed as an array.
What does the proposed API look like?
When only passing one additional event argument:

component code:

<script setup>
const emit = defineEmits(['getValue'])

function buttonClick() {
  emit('getValue', 8)
}
</script>

user use code:

<template>
  <my-element @customClick={getValue}></my-element>
</template>
<script setup>
function getValue(e) {
  console.log('value is: ' + e.detail) // value is: 8
}
</script>

When only passing one multiple event arguments:

component code:

<script setup>
const emit = defineEmits(['getValues'])

function buttonClick() {
  emit('getValues', 1, 2, 3)
}
</script>

user use code:

<template>
  <my-element @customClick={getValues}></my-element>
</template>
<script setup>
function getValues(e) {
  console.log('value is: ' + e.detail) // value is: [1, 2, 3]
}
</script>

I'm confused. You say additional event content should not be exposed as an array. But your "proposed API" example shows just that: the arguments being exposed as an array.
So which is it? And if now an array, his should it work?

I'm confused. You say additional event content should not be exposed as an array. But your "proposed API" example shows just that: the arguments being exposed as an array.
So which is it? And if now an array, how should it work?

There are two examples in my "proposed API". My mean is when the number of additional event argument is 1, it should be exposed as itself; and when the number of additional event argument is more that one, it should be exposed as an array.

给个标准连接呢，我查mdn没有查到，如果真的不符合原始行为，我觉得还是有必要做加强

给个标准连接呢，我查mdn没有查到，如果真的不符合原始行为，我觉得还是有必要做加强

I wrote an example in origin js on codesandbox.io.

我想我懂你意思了，在vue的实现中，将arg直接传递出来。这使得参数总是以数组的形式传递给开发者。但是我认为其实这和customEvent的标准并不违背，detail确实可以是任意类型，只是在vue中实现customElement时选择了将事件参数总是以数组的形式通过detail来传递，我认为这是设计如此而已
I think I understand what you mean. In the implementation of vue, arg is passed directly. This makes the parameters always passed to the developer as an array. But I think this does not violate the standard of customEvent, detail can indeed be of any type, but when implementing customElement in vue, I chose to always pass the event parameters in the form of an array through detail to pass, I think it's by design

Yes, I understand. However, for users of web component components, in most scenarios, they only need to use e.detail  but now they need to use e.detail[0], the use cost has increased.

It's hard to change now, as all users of a Vue web component now already use it like this. So it's a breaking change.

It's hard to change now, as all users of a Vue web component now already use it like this. So it's a breaking change.

I understand this. Would you consider adding a parameter to the defineCustomElement api to support the exposed type of
additional event argument  of the emit?

It's hard to change now, as all users of a Vue web component now already use it like this. So it's a breaking change.

I understanded it. At present, the capability of customEvent is quite different from that of javascript standard. It is not only the type of detail property, but also the lack of the properties defined in Event() such as bubbles , cancelable and composed:
https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent#syntax
I think it is better to add a new argument to the defineCustomEvent api. When it is true, it can support these capabilities; and when it is false or undefined, it can maintain the current logic. This will not affect current users.

Should be changed to match standards. if you want to emit an array - then you emit an array.
As many of us wants to replace to vue on a component level - one could easily switch between old component written in some old framework with vue-components when they emit custom events the same way.

It's hard to change now, as all users of a Vue web component now already use it like this. So it's a breaking change.

@LinusBorg @baiwusanyu-c

It's hard to change now, as all users of a Vue web component now already use it like this. So it's a breaking change.

@LinusBorg @baiwusanyu-c I added a new api to implement this function in #7787 , would you please supply some advices?

Adding an API to solve this problem does ensure maximum compatibility. However, from a design point of view, I think two APIs with similar functions are a bit strange, maybe it can be used as a transitional solution, so I still support your idea. And in a future version (3.3 or 3.4), I suggest to keep an API (defineStandardCustomElement or defineCustomElement)
wdyt ? @LinusBorg

I don't think this is worth changing, nor does it have anything to do with standards. The standard doesn't mandate how Vue's emit should work.


Closure of TAN hotline

The blog announcement for CWA 3.0 https://www.coronawarn.app/en/blog/2023-01-18-cwa-3-0/ also announces that the TAN hotline will shut down on Jan 31, 2023. This means that all open issues concerning the TAN hotline can be closed at the latest on this date.

The TAN hotline closed down today.


Change load format for Mixtral

Closes #2018
This is a bandage solution for Mixtral.

it stills gives error #2024 when trying to load GPTQ version of Mixtral, And I'm unable to specify to load it with pt it says to load it with safetensors

Hi @mlinmg, this part of logic was fixed by #2133. Could you upgrade vLLM to v0.2.6 and try again? If it still doesn't work, could you please share the model name so that we can reproduce?

Yes, I'll do it later today/tomorrow.
However the model is Mixtral-GPTQ

However the model is Mixtral-GPTQ

The problem there is that the model is only in Safetensors format, not PyTorch. You'll have to either wait for vLLM to support Mixtral in Safetensors or download the full-size model and quantize it yourself.

Facing the same issue, @TheBloke any chance you can provide the pt weights for TheBloke/Mixtral-8x7B-v0.1-GPTQ model?

I've not uploaded non-safetensors for GPTQ for 6+ months.  I'm not sure if AutoGPTQ even supports it any more.  I guess Transformers does.
That's a major pain though and I'm certainly not going to upload PT for models on an ongoing basis.  I'm willing to do it as a once-off for Mixtral 8x7B and the Instruct version, for testing purposes.  I will upload them in separate branches of the main repos.
Is this a problem unique to Mixtral GPTQ, or all vLLM GPTQs?  I've not yet tested vLLM GPTQ support myself - planning to do so soon, then I'll add mention of it to my GPTQ READMEs.

It's unique to Mixtral, as far as I know. I believe I've read somewhere that it's caused by the layer names being different between the PyTorch and Safetensors versions, but don't take my word for it.
Someone did upload a GPTQ version of Mixtral, but only the base model: https://huggingface.co/IbuNai/Mixtral-8x7B-v0.1-gptq-4bit-pth
I haven't tested it, so it might not work for the same reason as the Safetensors model.

Hmm, that sounds different then. If I make .pt versions of my GPTQs, the layer names will be identical.
This issue sounds like vLLM only supports the non-HF version of Mixtral, ie the version distributed as consolidated.xx.pth files, which did indeed have different layer names.
Looks like that IbuNaj guy converted my Mixtral GPTQ to pth - maybe he renamed the layers at the same time then.
Let me know if that works and if it does I'll see about doing an Instruct version.
But hopefully vLLM will support HF version Mixtral as GPTQ soon?
I know it will support the Mixtral AWQ versions soon, as Casper Hansen has made a PR for that - so that might be the easier option for you to use.

Just checked, their model doesn't work, though seemingly for a different reason; while your version KeyErrors at model.layers.0.block_sparse_moe.experts.4.w1.g_idx, theirs instead fails at model.layers.18.block_sparse_moe.gate.qweight (which is listed in the index, oddly enough).

Thanks @TheBloke and @Sobsz for the prompt response, seems there was some issue while serving with TP>1, which was fixed in #2208. As it is not released yet, once I built vllm from source using the latest code I was able to serve the TheBloke/Mixtral-8x7B-Instruct-v0.1-GPTQ main model.

Checked the other variants as well but seems only 4bit models are supported right now, with 3bit and 8bit variants getting the following error:
Traceback (most recent call last):
  File "/opt/conda/envs/vllm_2/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/opt/conda/envs/vllm_2/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/usr/vllm/vllm/entrypoints/api_server.py", line 82, in <module>
    engine = AsyncLLMEngine.from_engine_args(engine_args)
  File "/home/usr/vllm/vllm/engine/async_llm_engine.py", line 496, in from_engine_args
    engine = cls(parallel_config.worker_use_ray,
  File "/home/usr/vllm/vllm/engine/async_llm_engine.py", line 269, in __init__
    self.engine = self._init_engine(*args, **kwargs)
  File "/home/usr/vllm/vllm/engine/async_llm_engine.py", line 314, in _init_engine
    return engine_class(*args, **kwargs)
  File "/home/usr/vllm/vllm/engine/llm_engine.py", line 113, in __init__
    self._init_workers_ray(placement_group)
  File "/home/usr/vllm/vllm/engine/llm_engine.py", line 200, in _init_workers_ray
    self._run_workers(
  File "/home/usr/vllm/vllm/engine/llm_engine.py", line 768, in _run_workers
    self._run_workers_in_batch(workers, method, *args, **kwargs))
  File "/home/usr/vllm/vllm/engine/llm_engine.py", line 745, in _run_workers_in_batch
    all_outputs = ray.get(all_outputs)
  File "/home/usr/.local/lib/python3.10/site-packages/ray/_private/auto_init_hook.py", line 22, in auto_init_wrapper
    return fn(*args, **kwargs)
  File "/home/usr/.local/lib/python3.10/site-packages/ray/_private/client_mode_hook.py", line 103, in wrapper
    return func(*args, **kwargs)
  File "/home/usr/.local/lib/python3.10/site-packages/ray/_private/worker.py", line 2624, in get
    raise value.as_instanceof_cause()
ray.exceptions.RayTaskError(ValueError): ray::RayWorkerVllm.execute_method() (pid=160685, ip=<IP_ADDRESS>, actor_id=090d22607e677ff90c8b386b01000000, repr=<vllm.engine.ray_utils.RayWorkerVllm object at 0x7f068c68cf70>)
  File "/home/usr/vllm/vllm/engine/ray_utils.py", line 31, in execute_method
    return executor(*args, **kwargs)
  File "/home/usr/vllm/vllm/worker/worker.py", line 79, in load_model
    self.model_runner.load_model()
  File "/home/usr/vllm/vllm/worker/model_runner.py", line 60, in load_model
    self.model = get_model(self.model_config)
  File "/home/usr/vllm/vllm/model_executor/model_loader.py", line 41, in get_model
    quant_config = get_quant_config(model_config.quantization,
  File "/home/usr/vllm/vllm/model_executor/weight_utils.py", line 95, in get_quant_config
    return quant_cls.from_config(hf_quant_config)
  File "/home/usr/vllm/vllm/model_executor/layers/quantization/gptq.py", line 64, in from_config
    return cls(weight_bits, group_size, desc_act)
  File "/home/usr/vllm/vllm/model_executor/layers/quantization/gptq.py", line 33, in __init__
    raise ValueError(
ValueError: Currently, only 4-bit weight quantization is supported for GPTQ, but got 3 bits.


[FP]: CVE-2019-17543, which applies to the lz4 (native C) library, gets applied to lz4-java, which is a Java wrapper for it, but with its own versioning

Package URl
<EMAIL_ADDRESS>CPE
cpe:2.3:a:lz4_project:lz4:1.8.0:::::::*
CVE
CVE-2019-17543
ODC Integration
{"label"=>"Gradle Plugin"}
ODC Version
9.2.0
Description
According to NIST, CVE-2019-17543 affects versions of LZ4 before 1.9.2.
However, lz4-java, which has LZ4 as a JNI dependency, has it's own versioning, and version 1.8.0 of lz4-java, which is getting flagged here, already includes LZ4 version 1.9.3, which no longer has that vulnerability.

This FP suddenly popped up when I tried to upgrade a project from Kotlin 1.9.x to Kotlin 2.0. Not sure why that triggered this. During the same upgrade attempt, the following FPs suddenly popped up as well:

CVE-2021-3765, FP reported at https://github.com/jeremylong/DependencyCheck/issues/6692
CVE-2017-16111, FP reported at https://github.com/jeremylong/DependencyCheck/issues/6693
CVE-2016-10543, FP reported at https://github.com/jeremylong/DependencyCheck/issues/6694
CVE-2022-21704, FP reported at https://github.com/jeremylong/DependencyCheck/issues/6695

approved


input_text - Added service doc

Checklist:
If the code does not interact with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass

Ok to merge when tests pass and CLA signed.

cla-bot could have a problem, because I didn't set an email address for the first commit. For the last two I did, but it seems not work

Hello @cdce8p,
When attempting to inspect the commits of your pull request for CLA signature status among all authors we encountered commit(s) which were not linked to a GitHub account, thus not allowing us to determine their status(es).
The commits that are missing a linked GitHub account are the following:

79da366ab2203b459ef3e912227f852d1f374a65 - This commit has something that looks like an email address (30130371+cdce8p@user.noreply.github.com). Maybe try linking that to GitHub?.

Unfortunately, we are unable to accept this pull request until this situation is corrected.
Here are your options:

If you had an email address set for the commit that simply wasn't linked to your GitHub account you can link that email now and it will retroactively apply to your commits. The simplest way to do this is to click the link to one of the above commits and look for a blue question mark in a blue circle in the top left. Hovering over that bubble will show you what email address you used. Clicking on that button will take you to your email address settings on GitHub. Just add the email address on that page and you're all set. GitHub has more information about this option in their help center.

If you didn't use an email address at all, it was an invalid email, or it's one you can't link to your GitHub, you will need to change the authorship information of the commit and your global Git settings so this doesn't happen again going forward. GitHub provides some great instructions on how to change your authorship information in their help center.

If you only made a single commit you should be able to rungit commit --amend --author="Author Name<EMAIL_ADDRESS>
(substituting Author Name and<EMAIL_ADDRESS>for your actual information) to set the authorship information.
If you made more than one commit and the commit with the missing authorship information is not the most recent one you have two options:

You can re-create all commits missing authorship information. This is going to be the easiest solution for developers that aren't extremely confident in their Git and command line skills.
You can use this script that GitHub provides to rewrite history. Please note: this should be used only if you are very confident in your abilities and understand its impacts.

Whichever method you choose, I will come by to re-check the pull request once you push the fixes to this branch.

We apologize for this inconvenience, especially since it usually bites new contributors to Home Assistant. We hope you understand the need for us to protect ourselves and the great community we all have built legally. The best thing to come out of this is that you only need to fix this once and it benefits the entire Home Assistant and GitHub community.
Thanks, I look forward to checking this PR again soon! :heart:

Sorry for the mess here. I had git set to use a wrong email which caused the cla-error. To resolve it I had to force push the updated commits. Should be all good now.


mmt start does absolutely nothing

I recompiled mmt from sources and successfully trained the example model.
Then I attempted "mmt start" but it did not start and no log was produced.
Here is a screen shot starting at the end of training:
=========== TRAINING SUCCESS ===========
You can now start, stop or check the status of the server with command:
./mmt start|stop|status
(modernmt) jmillo@txnvidia01:~/modernmt$ ./mmt start
Starting engine "default"...FAIL
ERROR Unexpected exception: failed to start node, check log file for more details: /home/jmillo/modernmt/runtime/default/logs/node.log
(modernmt) jmillo@txnvidia01:~/modernmt$ less /home/jmillo/modernmt/runtime/default/logs/node.log
/home/jmillo/modernmt/runtime/default/logs/node.log: No such file or directory
(modernmt) jmillo@txnvidia01:~/modernmt$ ./mmt status
[Engine: "default"]
REST API:   stopped
Cluster:    stopped
Binary log: stopped
Database:   stopped
(modernmt) jmillo@txnvidia01:~/modernmt$
I observed the same behavior when using the latest binaries.
Everything is OK if I use the docker version.
In all cases my NVIDIA drivers are :Driver Version: 450.102.04   CUDA Version: 11.0 on Ubuntu 18.04 with two GeForce RTX 2080 Ti GPUs
nvcc is :
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:24:38_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89
java --version
openjdk 11.0.10 2021-01-19
OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.18.04)
OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.18.04, mixed mode, sharing)
python
Python 3.6.12 |Anaconda, Inc.| (default, Sep  8 2020, 23:10:56)
[GCC 7.3.0] on linux
When installed from sources, all tests where OK.

Explore the runtime/default tree folder, you may find other log files...
;-)

After changing to Java 1.8, the process went a little bit further and I
got the following Cassandra error :
cat /home/jmillo/modernmt/runtime/default/logs/embedded-cassandra.log
[0.001s][warning][gc] -Xloggc is deprecated. Will use
-Xlog:gc:/home/jmillo/modernmt/vendor/cassandra-3.11.10/bin/../logs/gc.log
instead.
intx ThreadPriorityPolicy=42 is outside the allowed range [ 0 ... 1 ]
Improperly specified VM option 'ThreadPriorityPolicy=42'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
I feel being in the Hitchhiker's Guide to the Galaxy except that in this
case 42 is definitely not the answer to everything ;)
Where does this number come from?
On 2021-03-05 1:49 a.m., Etienne Monneret wrote:

Explore the |runtime/default| tree folder, you may find other log files...
;-)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/modernmt/modernmt/issues/583#issuecomment-791198159,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMGWZP4SOGVYPU6QXNBCNYTTCB5JFANCNFSM4YT2X62Q.

Excellent!
:D
Doing a little search, I think this is certainly a problem of mixed Java versions.
How did you set Java 8 to be used?
The good way to do this, is to define the default Java version on your system:
sudo update-alternatives --config java


Add a subdomain based mode

Could be useful for cross site isolation benefits, of anyone wants to host some web app on this.

Won't implement this. Web apps are out of scope. To easily host a webapp use ssi.sh or smth similar.


✨ Linux ARM Test Suite

Investigate using Oracle Cloud to host the GitHub runner for the ARM Test Suite.

The runner doesn't appear to be triggered - it's sitting idle


R1 & R2 Resistor values?

What values should these be?

I am wondering too.

Have a look at #12

Yep #12


VimeoPlayer.Play() not working.

I am trying to create a player in unity canvas, so I disabled autoPlay in the inspector of VimeoPlayer and then I am loading a video using:
VimeoPlayer.LoadVimeoVideoByUrl(url);
And then when the player press a button I use:
VimeoPlayer.Play();

But it doesn't work, also, I tried using functions like Load, and LoadVideoById.
I tried to use the "Play Video" inspector button but it also doesn't work, but the "Load Video" button makes it work, but it inside its code it makes autoPlay active again, and that's not what I want. It seems the video can't be played except when autoPlay is active.

Steps to reproduce the problem:

Open "CanvasPlayer.unity" scene that comes with the project.
Set "Auto Play" as false in the Vimeo Player Inspector.
Set Vimeo Video as "Get video by ID or URL" in the Vimeo Player Inspector.
Copy any video from your vimeo account in Vimeo Video URL.
Create a button and assign VimeoPlayer.Start() in the On Click () event.
Play unity.
Click the button you created to play the video. (It doesn't work)
Click the "Play Video" button in the Vimeo Player inspector. (It also doesn't work).
Click the "Load Video" button in the Vimeo Player inspector and it will play the video.

Unity version: 2017.3.1f1
Operating system: macOS High Sierra 10.13.6

Thanks @hugostudica - we'll look into it.

@caseypugh Thank you, I wrote it wrong, it is VimeoPlayer.Play() on step 5 my mistake.
So I've tried this workaround, and I am stuck with another thing. If I set the url via inspector and call VimeoPlayer.Play() it works, but if I try to load a new video from url VimeoPlayer.LoadVimeoVideoByURL(url), suddenly the first action stops working. Here's my testing code:
using UnityEngine;
using Vimeo.Player;

public class MyTest : MonoBehaviour
{
    public VimeoPlayer player;
    public string url;

    void Update()
    {
	// Load a new video from URL.
	if(Input.GetKeyDown(KeyCode.L))
	{
		Debug.Log("Start Load Video: " + url);
		player.LoadVimeoVideoByUrl(url);
		player.OnLoad += OnLoadVideo;
	}

	// Play immediately the Vimeo Player.
        if (Input.GetKeyDown(KeyCode.P))
        {
		Debug.Log("Play");
        	player.Play();
        }
    }

    private void OnLoadVideo()
    {
        	player.Play();
		player.OnLoad -= OnLoadVideo;
		Debug.Log("Loaded Video");
    }
}

Thank you, for your effort, if there's some way I can help, don't hesitate to tell me.

No worries at all and thanks for using the plugin! Appreciate you trying to script the Vimeo Player, because it is uncovering a lot of bad code design :)
So, OnLoad is kind of confusing. It is called when the VimeoPlayer is setup (after Setup() is automatically called). Perhaps I should rename to OnInit or OnBootup.
If you want to know when the video is loaded, use OnVideoStart instead.
Didnt test this code, but this should work...
using UnityEngine;
using Vimeo.Player;

public class MyTest : MonoBehaviour
{
    public VimeoPlayer player;
    public string url;

    void Update()
    {
        // Make sure player is ready
        if (player != null && player.IsPlayerLoaded()) {
	   // Load a new video from URL.
	   if(Input.GetKeyDown(KeyCode.L))
	   {
		Debug.Log("Start Load Video: " + url);
		player.OnVideoStart += OnVideoStart;
		player.LoadVimeoVideoByUrl(url);
	   }

	   // Play immediately the Vimeo Player.
           if (Input.GetKeyDown(KeyCode.P))
           {
		Debug.Log("Play");
        	player.Play();
           }
        }
    }

    private void OnVideoStart()
    {
        player.Play();
	player.OnVideoStart -= OnVideoStart;
	Debug.Log("Loaded Video");
    }
}

Lemme know if you have any more issues or questions.

Thanks again, but it's not working yet.
player.IsPlayerLoaded() is always false, I've forced player.LoadVimeoVideoByURL(url) and after that the player return true to IsPlayerLoaded() and the inspector change its visual,  but the callback wasn't invoked and when I hit the green button Play Video nothing happened.
I think there's some problem to the 'VimeoPlayer.Play()` method, something in the way that is not considered when the autoPlay is set to true. I don't know much about the Vimeo API but I will try to help you in this quest.

Just checking, did you try updating your VimeoPlayer.cs with the latest changes from #42 ?

Yes, I've copied the code to the VimeoPlayer.cs the behavior changed a little bit, but after calling LoadVimeVideoByURL(URL) the Play() stop working again.

Yea, I see the issue... mostly the problem is that the autoplay/loading/playing logic is all intertwined in a bad way. Needs to be decoupled.
The short term solution would be to add player.autoPlay = true before calling LoadVimeoVideoByUrl to make it play after loading.

OK, did quite a bit of refactoring to make it all much simpler. See #43. It's in master now, and eventually will make it into 0.9.3 release.


chore(main): release 0.1.27

Auto generated release
0.1.27 (2024-08-22)
Build System

deps-dev: bump phpstan/phpstan from 1.11.10 to 1.11.11 (#94) (093b7e4)
deps: bump nesbot/carbon from 3.7.0 to 3.8.0 (#93) (86d8e3f)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.1.27
:sunflower:


Activating Open Collective

This pull request adds backers and sponsors from your Open Collective https://opencollective.com/fela ❤
It adds two badges at the top to show the latest number of backers and sponsors. It also adds placeholders so that the avatar/logo of new backers/sponsors can automatically be shown without having to update your README.md. [more info]. See how it looks on this repo.
We have also added a postinstall script to let people know after npm|yarn install that you are welcoming donations (optional). [More info]
You can also add a "Donate" button to your website and automatically show your backers and sponsors there with our widgets. Have a look here: https://opencollective.com/widgets
P.S: As with any pull request, feel free to comment or suggest changes. The only thing "required" are the placeholders on the README because we believe it's important to acknowledge the people in your community that are contributing (financially or with code!).
Thank you for your great contribution to the open source community. You are awesome! 🙌
And welcome to the open collective community! 😊
Come chat with us in the #opensource channel on https://slack.opencollective.com - great place to ask questions and share best practices with other open source sustainers!

Mmmm... didn't realize you already had a CONTRIBUTING.md within the .github folder.
Let me adapt this PR. Hold my beer.

Wow great! Huge thanks first all. I will check it and merge asap =)


How to use in memory?

The medium article says this supports in memory:

For now, we have in-memory and redis support as datasource preference also if you want to use a different datasource, you can do it by extending to Jdempotent-core project. ( Jdempotent-spring-boot-redis-starter uses Jdempotent-core.)

The conf bellow is not working:
application.properties
jdempotent.enable= true

pom.xml
	   <dependency>
	        <groupId>com.trendyol</groupId>
	        <artifactId>Jdempotent-core</artifactId>
	        <version>1.0.3</version>
	    </dependency>

Controller
  @IdempotentResource(cachePrefix = "some")
  @PostMapping("/teste/{id}")
  public String teste(@PathVariable("id") Long id) throws Exception {
    System.out.println("!");
    Thread.sleep(5000);
    return "!";
  }

Hi,
You need to have aspect as a bean that missing part at medium blog post sorry about that.
We focussed implementation with redis. So for now you can use the following configuration java class and dependencies we will make it easier in the next version.
@Configuration
public class Config {
   @Bean
   public IdempotentAspect aspect() {
       return new IdempotentAspect();
   }
}```

<dependency>
    <groupId>com.trendyol</groupId>
    <artifactId>Jdempotent-core</artifactId>
    <version>1.0.2</version>
</dependency>

org.aspectj
aspectjweaver
1.7.4
compile

  ```


[release/1.2] cherry-pick: Use default UNIX env when image has no environment

Cherry-pick bc692cc59dd6f9d475e92e2bf17742fce38ca0a3 from master PR #3599
Signed-off-by: Phil Estes<EMAIL_ADDRESS>

Codecov Report

Merging #3601 into release/1.2 will increase coverage by 0.15%.
The diff coverage is 80%.

@@               Coverage Diff               @@
##           release/1.2    #3601      +/-   ##
===============================================
+ Coverage        44.09%   44.24%   +0.15%
===============================================
  Files              100      100
  Lines            10790    10794       +4
===============================================
+ Hits              4758     4776      +18
+ Misses            5293     5279      -14
  Partials           739      739

Flag
Coverage Δ

#linux
47.96% <100%> (+0.19%)
:arrow_up:

#windows
41.09% <0%> (-0.02%)
:arrow_down:

Impacted Files
Coverage Δ

oci/spec_opts.go
27.87% <80%> (+2.29%)
:arrow_up:

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 783f67d...86ea2b7. Read the comment docs.

LGTM


new example decrementTTL

@Adit24 Please add the sign-off. https://github.com/intel-go/nff-go/blob/master/CONTRIBUTING.md

Thank you for a new example.


Add newestOnTop prop on ToastProvider

Add functionality to allow having the newest toast at the top of the stack
Resolves #172

Available from 2.5.0


Fix paths under '$HOME' not listed on Windows

If $HOME contains backslashes, substitute() misunderstands some special meanings on it, resulting in paths under $HOME not being listed on Windows.
Use '\=$HOME' instead, which disables those special meanings (:h s/\=).

Thanks.


Move reload php fpm to before scripts

Consider moving the php FPM reload to before the php scripts run, in theory the scripts would still be running with the previous opcache state which could lead to some funky behavior, clearing the opcache first should ensure that any commands are running the new code.
Forge appears to have made this change in their default deployment script already.

Perfect, makes sense. Thanks!


Feature/3516 user consent switch automatic result sharing

Description

This PR is related to the submission flow based on consent Switch.
Modify Your Test Result screen based on switch state.
Newly Build Your Consent screen.
Handel the switch state when user gave the consent or not.

Link to Jira
https://jira-ibs.wbs.net.sap/browse/EXPOSUREAPP-3516
Screenshot

VoiceOver seems to have a little hiccup. When reading the country's in the gray block it start with "coma Belgium …"


chore: Add some time related slts

No now tests yet though.

We can add a custom Rust test for now similar to SshKeysTest.


Assist with account to edit subscriptions (Edubit)

Thomas from https://opencollective.com/edubit organization is unable to see/edit his subscriptions to Collectives like Dokku.
I believe it is a problem with different accounts so even if he logs in to www.opencollective.com/subscriptions he is unable to see them.
Do you guys know the email account associated with that organization?

This is a bug. /subscriptions is currently only returning subscriptions that were made by that individual, not all subscriptions from an organization that the individual is an admin of.
@nicobarretoOC You can leave this issue open. Separately, can you please ask him what he wants to do with his subscription. We can do it for him manually, while we work on this.

Yep, just emailed him asking for that.
Let's wait for the reply.

Ok @asood123 seems like Thomas only needs his invoices for now.


Need a screenshot or ability to share what this experience is

I want to share whiteboard as a possible solution for the team I'm working with. How can they preview what whiteboard truly is?

+1. Is there an example board that can go up w/o auth? (Any non-active Pivot gets blocked at Okta) Failing that, can someone upload some scrubbed / anonymized data so that an example instance can be set up? cc @infews


node-llama-cpp not compatible with  "@langchain/core": "0.3.13"

Issue description
TypeError: Cannot destructure property '_llama' of 'undefined' as it is undefined.
Expected Behavior
Load Model.
Actual Behavior
Throws error:
TypeError: Cannot destructure property '_llama' of 'undefined' as it is undefined.
    at new LlamaModel (file:///C:/Users/User/Project/langchain-test/node_modules/node-llama-cpp/dist/evaluator/LlamaModel/LlamaModel.js:42:144)
    at createLlamaModel (file:///C:/Users/User/Project/langchain-test/node_modules/@langchain/community/dist/utils/llama_cpp.js:13:12)
    at new LlamaCpp (file:///C:/Users/User/Project/langchain-test/node_modules/@langchain/community/dist/llms/llama_cpp.js:87:23)
    at file:///C:/Users/User/Project/langchain-test/src/server.js:15:17

Steps to reproduce
    import { LlamaCpp } from "@langchain/community/llms/llama_cpp";
    import fs from "fs";

    let llamaPath = "../project/data/llm-models/Hermes-2-Pro-Llama-3-8B-Q4_K_M.gguf"

    const question = "Where do Llamas come from?";

    if (fs.existsSync(llamaPath)) {
      console.log(`Model found at ${llamaPath}`);

      const model = new LlamaCpp({ modelPath: llamaPath});

      console.log(`You: ${question}`);
      const response = await model.invoke(question);
      console.log(`AI : ${response}`);
    } else {
      console.error(`Model not found at ${llamaPath}`);
    }

error:
TypeError: Cannot destructure property '_llama' of 'undefined' as it is undefined.
    at new LlamaModel (file:///C:/Users/User/Project/langchain-test/node_modules/node-llama-cpp/dist/evaluator/LlamaModel/LlamaModel.js:42:144)
    at createLlamaModel (file:///C:/Users/User/Project/langchain-test/node_modules/@langchain/community/dist/utils/llama_cpp.js:13:12)
    at new LlamaCpp (file:///C:/Users/User/Project/langchain-test/node_modules/@langchain/community/dist/llms/llama_cpp.js:87:23)
    at file:///C:/Users/User/Project/langchain-test/src/server.js:15:17

My Environment
command line: npx --yes node-llama-cpp inspect gpu
'nlc' is not recognized as an internal or external command,
operable program or batch file.
Using:
Windows 10. (though I get this error in WSL as well)
Node: v22.9.0
"node-llama-cpp": "^3.1.1"
Additional Context
No response
Relevant Features Used

[ ] Metal support
[x] CUDA support
[ ] Vulkan support
[ ] Grammar
[ ] Function calling

Are you willing to resolve this issue by submitting a Pull Request?
Yes, I have the time, and I know how to start.

Answer from Langchain dev, "use version 2 not 3", packag.json:
    "dependencies": {
        "node-llama-cpp": "^2"
    },


InTheHand Bluetooth and .NET 5 and 6

Compatibility with frameworks;
The nuget package BluetoothLE seem to be compatible with .NET 5, it can be installed on .NET 5/6 class library
but when i compile it shows this error
Severity	Code	Description	Project	File	Line	Suppression State
Error	NETSDK1149	InTheHand.BluetoothLE.dll cannot be referenced because it uses built-in support for WinRT, which is no longer supported in .NET 5 and higher.  An updated version of the component supporting .NET 5 is needed. For more information, see https://aka.ms/netsdk1149	WpfApp17	C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets	1003
Can be in next releases (if possible) the compatibility with .NET 5/6 ?

The current release I think includes a .NET Core 3.1 build and not 5.0 and it is using this but it is not compatible. I've been testing a .NET 5.0 build which uses the new approach and should therefore support both 5.0 and 6.0. I'll build and release an update shortly.

This should now be resolved, please try 4.0.22

Dear Peter, I have tested the 4.0.22
My environment is VS2022Enterprise (last update at present date), I have build a ClassLibrary .net 5.0 and installed the BlueToothLe nuget package 4.0.22. It succesfully install on it, during build the VS says:
Severity	Code	Description	Project	File	Line	Suppression State
Error	NETSDK1149	InTheHand.BluetoothLE.dll cannot be referenced because it uses built-in support for WinRT, which is no longer supported in .NET 5 and higher.  An updated version of the component supporting .NET 5 is needed. For more information, see https://aka.ms/netsdk1149	LibNet5	C:\Program Files\dotnet\sdk\6.0.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets	1003

I think the reason it is picking the wrong dll is possibly because of the target sdk and minimum sdk defined for InTheHand.BluetoothLE versus what the consuming project uses. For 4.0.22 it only produces a .NET 5.0 dll targetting net5.0-windows10.0.19041.0 with the minimum platform set to 10.0.18362.0. I need to recheck if this is a valid cut off (there are some API changes in various Windows 10 versions). If your consuming project supports an older version it may be selecting the .NET Core dll incorrectly.

Yes exactly, I have removed my last comment because I found same as you tell. Now I'm try some test about it. Thanks

Just a note for people like me that arrived here and did not know the solution. you can hardcode the windows version into your csproj's TargetFramework like so to force it to choose the correct platform version and escape your winRT woes
    <TargetFramework>net5.0-windows10.0.19041.0</TargetFramework>

I've added a .NET 6.0 Windows build in 4.0.23 too.

Hey Peter,
Trying to figure out what was the answer here. Here is what I have in my csproj and let me know what I am missing because I am getting the error message discussed.
`

net6.0
enable
enable

`
Should I specify my windows builds?
Thank you.

There isn't a generic .NET 6.0 dll - so your consuming project has to reference a platform target framework to get the correct dll. If the project is just net6.0 it will fall back to an older framework version and you'll get errors about the interop with Windows APIs. See the reply from @yetyman above for the workaround.


Assignment problems

Hello!
Can't assign tasks to another user after cvat update
Task in my "Project". The user should only open the  task that I assigned
Please explain, perhaps there is another mechanism for assigning tasks
Thanks :-)

@OllegShevchenko , are you trying to assign a task/job on cvat.org? If so, by default regular users cannot see other users. But you can create an organization and invite users for collaboration: https://openvinotoolkit.github.io/cvat/docs/manual/advanced/organization/
@azhavoro , could you please add the question in FAQ?

thanks a lot
it really helped


feat: added input support for ec2 sizes, ami types, user data and route53 registration

SUMMARY
In conjunction with the changes in the module in this PR. The logic of the lambda functions will be changed to accommodate extra features that allows for defining several things during the Turbo infrastructure deployment:

Added EC2 Types
Added AMI Types
Added user data scripts
Added route53 registration

TEST PLAN

Create an ECR repository in your AWS environment
Run the ecr-scripts/deploy_lambda.sh script to push a new image to that repository
Create a Route53 Hosted Zone in your AWS environment
Run make build to create the bootstrap binary for lambda function
Zip bootstrap binary into a zip file
During Terraform deployment of the Turbo Infrastructure, define the following variables:

source, source of the module in github, in this case we will use "git::https://github.com/frgrisk/terraform-aws-turbo-deploy.git?ref=dd11728875ddbb6ffd03279ea061186d3efbf76f"
lambda_function_zip_path, this is the path to the zip file you previously created
ecr_repository_name, name of your repository with the image
zone_id, ID of the hosted zone you created
s3_tf_bucket_name, name of the bucket that will be created
user_scripts, PATH to the user script that you want to upload
ec2_attributes, The types of ec2 instances and AMIs that will be displayed

Below is an example image of what this can look like:

Modify the reverse proxy with the base_url in the output and verify that the functions stated before is working as expected in the web application

Found a bug with the Route53 A record registration, from a short observation every time a snapshot is done it will duplicate the hosted zone name and append it to the end of the hostname. Working on a fix.

Found a bug with the Route53 A record registration, from a short observation every time a snapshot is done it will duplicate the hosted zone name and append it to the end of the hostname.

fixed


feat: PyTorch debugger

Simple mechanism to run Triton kernels on PyTorch for debugging purpose (upstream from Kernl).
Todo:

random grid iteration
support of atomic ops
more unit tests
cover new APIs?

Thank you! I think this is the beginning of our debugging story :)

I think I'm happy with this PR. My main concern is that currently we have no guarantee that the interpreter would match the semantics of Triton on all ops. Maybe in the future we can have a custom builder hook directly into the ASTVisitor so that we can re-use semantic.py 🤔

Don't know if it ruins the triton design but it's a good use case for an abstract class (whatever it means in Python) and 2 concrete implementations.
not sure to understand the ast thing, you want something which modifies/patch the semantic class with a PyTorch implementation for each method? So you are sure of your coverage? It would be a very “compiler” approach of the world which in this project makes sense ;)
Regarding PyTorch / CUDA, the thing is that PyTorch matmul do not support fp16 on CPU from what I remember. And GPU do not support int8 matmul (but should change soon I guess from quantization work).
May be we can let user choose device (so he can play on its laptop) but it means adding an arg and it may be a good thing to keep things very simple. Plus we would have to manage matmul on specific dtypes. Quite doable :-)
We built over PyTorch to avoid new numpy dependency in Kernl.


Standards checklist:

Standards checklist:

[x] The PR title is descriptive.
[x] The PR doesn't replicate another PR which is already open.
[x] I have read the contribution guide and followed all the instructions.
[x] The code is mine or it's from somewhere with an Apache 2.0 compatible license.
[x] The code is efficient, to the best of my ability, and does not waste computer resources.
[ ] The code is stable and I have tested it myself, to the best of my abilities.

Tests:

[x] PayKit Tests
[x] PayKitUI Tests

Changes:

[...]

Other comments:
...
Originally posted by @NROD573 in https://github.com/cashapp/cash-app-pay-ios-sdk/pull/7

Hey @NROD573! Thanks for making a ticket, is there something I can help with?


Include the compliance history database IDs in compliance events

If the database IDs are set on the ConfigurationPolicy/OperatorPolicy, forward them along in the compliance event for the status-sync controller to record in the compliance events history API.
Relates:
https://issues.redhat.com/browse/ACM-6889
Depends on https://github.com/open-cluster-management-io/governance-policy-framework-addon/pull/111 to do anything.

Thanks for the suggestion @yiraeChristineKim ! It's ready for review again.

This is ready for review again!


Question: Windows auth flow, can be more simple?

Regarding strictly Windows auth, the quickstart UI project Account controller has an external login action that initiates the authentication challenge on HttpContext, captures the result cookie, signs the user in, captures that cookie, then deletes the first temporary cookie. Is it too far fetched to have an MVC app, with Windows auth enabled, simply call SignInAsync with the windows principal and skip the other steps?
The bottom line is I want a landing page internal to my domain that users can go to, that will get an id token and sign-in cookie, then get immediately redirected to the real MVC application that is both internally and externally accessible. The intent is to then start the hybrid flow from there to invoke APIs.

You can simpify by calling ChallengeAsync directly when loading the login page - and then AuthenticateAsync to get the windows identity.

Any update on the issue? closing for now - feel free to re-open if it needs further discussion.


Hi !

Good job! I am asking me if exists a qrcode encoder to generate the qr image.  Thanks

Hi! This is not purpose of this project.
I think you can find something related on your request searching in Github.
Pull requests and stars are welcome.


NTLM Authentication

Is there any way to use NTLM authentication with this?
I can do this via a web proxy but the tool does not provide a way to use a web proxy either.

I am using
export HTTP_PROXY=http://<IP_ADDRESS>:8090
export HTTPS_PROXY=http://<IP_ADDRESS>:8090

to proxy the app now.

Shortscan v0.9.0 · an IIS short filename enumeration tool by bitquark
FATAL Unable to access server                       error="Get "https://example/.aspx\": context deadline exceeded (Client.Tim
why the output like that ?


chore(test/CategoryTheory/Elementwise): use MonCat

This addresses a TODO from the port.
One test only works with an erw and rfl; help from an expert fixing this is welcome. Remove one set_option which did not do anything.

Thanks for the review!
bors merge


druid-cassandra-storage doesn't include high-scale-lib dependency

I've been investigating the issue (https://github.com/apache/incubator-druid/issues/7387) and got this error while the indexing task was starting up:
2019-04-08T20:38:23,441 ERROR [main] org.apache.druid.cli.CliPeon - Error when starting up.  Failing.
com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.NoClassDefFoundError: org/cliffc/high_scale_lib/NonBlockingHashMap

druid-cassandra-storage extension lacks high-scale-lib dependency and it was excluded sometime ago:
extensions-contrib/cassandra-storage/pom.xml:116
               <exclusion>
                    <groupId>com.github.stephenc.high-scale-lib</groupId>
                    <artifactId>high-scale-lib</artifactId>
                </exclusion>

probably this is related https://github.com/apache/incubator-druid/pull/4313

I found <groupId>com.github.stephenc.high-scale-lib</groupId> in extensions-contrib/cassandra-storage/pom.xml:117,
Then checked the pom.xml file mentioned in extensions-contrib/cassandra-storage/pom.xml:33
<relativePath>../../pom.xml</relativePath> . I didn't find any dependency of high-scale-lib in this file.
I've downloaded the high-scale-lib-1.1.4.jar  to druid/extensions/druid-cassandra-storage for walking around. My Apache Druid is running with the druid-cassandra-storage extension now,thanks to egor-ryashin for your previous efforts #7387.

@leventov as you've worked on #4313, probably, you understand better how to fix it. Right now I think that maven exclusion should be removed

same issue

should remove the exclusion part


Log levels

Proposal: SWIFTLOG-0003
The log levels used in the reference projects are usually Verbose, Debug, Info, Warn and Error. Any reasons for getting rid of Verbose and adding a Critical level on top of Error?
EDIT: It would also be beneficial to document what the various levels signify(something like this)

From my point of view Verbose is a shortcut for please log messages from all levels, therefore it's not a level itself. Meanwhile it may be useful as a special predefined case.

I just partially reused log levels available in ASL and python-logging and we might get rid of alert and critical ones. I do like emergency level though.
As for verbose, I agree with @sashka that it sounds more like "show me everything". But some libraries define one additional level after debug — the trace level. But in situations that I've encountered I didn't see the need for additional debugging level. Can you give us some usage and maybe real world examples?

For the significance it'd make sense to assign them when we stabilize/decide which levels we'll have. Right now I'm open to any ideas on that.

Yes, the Verbose(or trace) level usually serves as a trace on the program. You record entering/exiting functions, etc there. It is more about program flow whereas Debug is more about data(you log the web request that was sent or the query executed on a database).
Personally, I haven't used trace so I don't really know whether the above distinction is significant enough to warrant a separate level. I've just seen it around in a few libraries.
One benefit that I can see is since it has to do with program flow, it provides an avenue for log messages to be inserted automatically(say, the compiler can insert function entry/exit messages).

Yeah, data and method trace separation makes sense. But in this case I would not include these calls in optimized builds as trace specifically is very expensive.

+1 on that.

Coming from Python, PHP and Nodejs (like many Swift Newbies will do) I recommend changing Warn to Warning. It is an issue I often run into because all levels are nouns just Warn is not a noun but a verb. In best case both levels are possible and have the same level priority.
Adding more levels is fine, too but I think an error is the worst case that happen in an app so Error should be enough I guess. I worked with many developers in the past and most are anyway just using Debug, Info and Error.

@skreutzberger, isn't it already Warning in the draft?

We probably don't need more levels above Error since anything that doesn't make application break: crash, segfault or put it into critical state could be sent as a Warning. I'd love to hear everyone's opinion though, since it's a fundamental topic.

So, revisiting this, how would we work around end-points having more log levels than defined in logging.core?
E.g. if we were to remove emergency, alert and critical how would we deal with ASL, which supports them?

For the sake of simplicity I recommend ignoring it. ASL is not widely used anymore AFAIR and maybe we better orient on standards that are used among multiple programming languages not looking back what Apple did in the past.

I speak as a programmer of 30 years who has never used any level above error in an application, but I have to ask what the cost is of keeping the higher log levels? They will just be extra enum cases, right?
The higher levels are for more system like things, for instance the OS X syslog man page claims that emergency is a synonym for "panic". However, who said that Swift will never be used for doing system like things? For instance, it seems quite reasonable to me that you could write an application in Swift that monitors disk usage and that might want to issue an alert message when a disk becomes 95% full and a critical message when a disk is full.

Surely / hopefully Swift will be used for system-level apps :)
Why not use Warning for Alert and Error for Critical? There is no extra cost in having more levels besides uncertainty on the user side which may actually be a big cost in terms of experience.

What about this (shamefully stolen from log4j documentation):

warning — for potentially harmful situations
error — error events that might still allow the application to continue running
critical — events that will presumably lead the application to abort

From my perspective it'd be great to keep the list of levels minimal and self descriptive. We may add more levels to the library later, or let developers to add their own level if they need.
From my own experience I've never used any levels besides these:
debug — to show something necessary only during development and debugging;
info — to inform user about current state of application itself;
warning — to let user know that something went slightly not the way it was expected to go;
error — something bad happened, I want user to know more about this, and, maybe to send me a trace.
Critical/fatal means for me, that an app is going to be aborted soon after the error. I may be completely wrong, but I'd rather add a flag fatal to the error information that should be passed to error method.

Okay, let's keep it simple: I will make a new proposal specifically addressing log levels with proposed variants and reasoning behind and we will vote for them.

@skreutzberger

Why not use Warning for Alert and Error for Critical?

Because then you lose those levels for application level events.

There is no extra cost in having more levels besides uncertainty on the user side which may actually be a big cost in terms of experience.

I don't think it will be a big cost in terms of experience. Logging systems have had these levels (or equivalent) for many years without thousands of programmers getting confused. We are talking about keeping a couple of extra enum cases which will have a minimal cost in terms of learning curve.
@sashka

From my perspective it'd be great to keep the list of levels minimal and self descriptive.

I think having alert and critical is part of the minimal set.  You might change their names slightly or have some documentation to make it clear that they are meant for system level logging, not application level logging but they have minimal cost and expand the horizons of the module.

Actually I don't remember when I used critical level last time and I can't even recall good examples of its usage.
Thus I see only one reason to include this level — to make swift-logging look like widely used logging libraries/framework in other languages. And this is a good reason.
Anyway, If we someday realize we need critical level, we can add it with no cost (it's expanding but not shrinking).
So I vote for error, warning, info, debug to be in the core.


Fix RAM address and add ITCM and DTCM sections

Previously DTCM region was simply added to RAM region, this can cause problems with DMA as DMA does not have access to DTCM region.
See page 71 and 76 in reference manual RM0410, Rev 4.
Also https://github.com/stm32-rs/stm32f7xx-hal/issues/123
Signed-off-by: Moritz Scheuren<EMAIL_ADDRESS>edit by @hannobraun: Make sure we "close #123" automatically once this merges.

Thank you and good question.
The ITCM and DTCM should not be used by default, see (link.x.in), so the whole thing should not cause problems for now.
Until someone explicitly uses ITCM or DTCM with something like #[link_section = ".dtcm.BUFFER"].
Regarding the two, I tested the following:

[x] DMA access of a BUFFER in this region leads to a crash (as expected)
[x] cargo size --release --example test -- -A, looks like BUFFER was loaded into the appropriate region
[x] cargo objdump --release --example test -- -D  | less, looks like BUFFER was loaded into the appropriate region

I would leave it up to you to decide if all of this is sufficient or if you have any more ideas on what to test.

Thanks, @systec-ms, that sounds great. Especially since it's an opt-in feature.
Merging.


GUACAMOLE-408: Use Docker multi-stage build to create guacamole image

Since Docker CE 17.05 (edge) and 17.06 (stable), multi-stage builds can be used to create images using different base images for build versus runtime.
This allows the build itself to be performed with the official Maven image, rather than using the Tomcat image as the base and installing the necessary dependencies for performing the Guacamole build. It also obviates to the need to clean up after the build. In the second stage of the build, the official Tomcat image is used at the base for the runtime image. The artifacts built in the first stage are simply copied from the build stage into the runtime stage.
Taking advantage of another minor feature added in Docker CE 17.05, the Tomcat version and JRE details are specified using build arguments. This allows Tomcat or underlying JRE to be easily varied by the image builder. For example, minimalists may wish to build using docker image build --build-arg TOMCAT_JRE=jre8-alpine to get a smaller runtime image.

... When building inside of the Docker container, some files with
generated HTML are being validated by RAT and failing due to the
lack of a license header. When building outside of Docker, this
problem does not occur. ...
<exclude>src/main/resources/generated/**</exclude>

The .gitignore file which includes that path must no longer be getting into the Docker build context. The RAT plugin takes the contents of .gitignore into account when determining the default excludes. This was encountered during testing of release .tar.gz files, as well, resulting in #91.
See: https://issues.apache.org/jira/browse/GUACAMOLE-132
With that in mind, I think the same should apply here, and we should avoid duplicating excludes.

That makes sense. I'll adjust accordingly and back out the duplicate exclusions.


Ask for help

I am studying MoE series of articles,I am interested in this direction, who should I contact?

welcome to join the dingtalk group, id:<PHONE_NUMBER>7

I did an incorrect operation and submitted a pull request


Update mobile breadcrumbs to not stack

DTO wants our breadcrumbs to not stack (each breadcrumbs should not start on a new line).

[x] Update mobile breadcrumbs in EN library
[ ] Update mobile breadcrumbs in FR library

Created new subcomponents for the breadcrumb links and the chevron. The links now use the DTO approved font size of 16px/150% line height for both desktop and mobile.


How to get the formatted text with the mask?

How to get the formatted text with the mask , it only made the bind only numbers , eg CPF .
From:
01234567810
To:
012.345.678-10

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/32545660-how-to-get-the-formatted-text-with-the-mask?utm_campaign=plugin&utm_content=tracker%2F1022469&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1022469&utm_medium=issues&utm_source=github).

Take a look at: https://github.com/assisrafael/angular-input-masks#filters

Thank you!
I'm really enjoying this template . Good job.


Service guidance link

Context
https://trello.com/c/ytjkLIA3/3292-link-to-apply-from-manage-qa-could-be-more-specific
Changes proposed in this pull request
Change link from 2nd apply page (https://www.apply-for-teacher-training.service.gov.uk/candidate/account) to first apply page (https://www.gov.uk/apply-for-teacher-training)
Guidance to review
None
Link to Trello card
https://trello.com/c/ytjkLIA3/3292-link-to-apply-from-manage-qa-could-be-more-specific
Things to check

[X] This code does not rely on migrations in the same Pull Request
[X] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[X] API release notes have been updated if necessary
[X] New environment variables have been added to the Azure config

Closed this branch, new PR up without the commit history problems.

Closed this branch, new PR up without the commit history problems.


Suggestions

I just wanted to say that this is off to a great start. I love the idea.
I am unable to provide a pull request, as I completely butchered your code on my end, but I experimented with your code and made some tweaks to this to help make matching better from my personal experience.
For each request, I sent it a copy of my existing rules so that it could understand what other types of categorisations I make to help make more informed decisions.
I created a JSON file which contained a description of each category to provide better context about when to choose it. I also marked some categories here as DO-NOT-USE.
I instructed it to research the merchant if it could not categorise it to see if this would help with its matching.
I instructed it to use the last category chosen for that merchant if there is a match (in lieu of having a rule already in place via Actual!) because I found that sometimes it would choose different categories for effectively the same merchant.
Hopefully this gives you some ideas for improving this tool!

Do you mind sharing how you accomplished this? I would love to provide this context to the AI to help better categorize my transactions.

Just bumping this up to see if you can share this with the rest.


Correct wordpress service command output

per the instructions, the wordpress service is a LoadBalancer.

CLA check

CLA check 2


fix: update Docker single-node cluster documentation

The documentation for running a single-node cluster locally with Docker was incorrect for the following reasons:

The docker run command was passing --net=roachnet without telling the user how to create the roachnet network. Additionally, the roachnet network is not needed when deploying a single-node cluster.
The docker run command was passing --http-addr=localhost:8080 which made the DB Console listen on localhost where users could not connect to it from their host machine.
The command to connect to the cluster using the built-in SQL client was using the incorrect hostname/IP, leading to x509 certificate errors when trying to connect to the DB Console (after fixing the --http-addr issue above).

The documentation has been updated to omit unnecessary options. A new section was also added to encourage a user to connect to the DB Console whereas it was previously easy to miss when working through the documentation. Lastly, the docker log command was updated to docker logs, the correct command.

cc @mdlinville

Thank you for the review @mdlinville! I implemented the requested feedback and left a comment on the conversation to revert the --http-addr removal. Let me know what you think.


Anerdw: Watch capitalxtend.com

Anerdw requests the watch of the watch_keyword capitalxtend\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

capitalxtend\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Approved by Fastnlight in Charcoal HQ


Add command to enable and disable smoothie

In some situations, such as the terminal is getting slow, we may want to disable smoothie.
So I added SmoothieEnable and SmoothieDisable command to enable and disable smoothie quickly.

Nice work, how about rather set/unset a flag in the functions that have key bindings, then bind/unbind the default key bindings? That way if you create your own custom keybindings (see https://github.com/psliwka/vim-smoothie/pull/3) this still works 💪

Sorry, @pbzweihander. I like the idea, but not the implementation.

As @expelledboy indicated, mapping and unmapping default keybindings makes it hard to support custom mappings, introduced by #3.
Calling smoothie#enable() during plugin/smoothie.vim execution breaks lazy loading, sourcing whole autoload script on vim startup.

That being said, thank you so much for your efforts in making vim-smoothie better! Feel free to reopen this PR or submit another one in case you rework your feature to take into account the issues mentioned above. It would be much appreciated 🙂


added c  words

The Pull Request resolves Issue #627
Description:
A brief description about the addition or edits made.
Added the words : cage,capital
Notes: Delete all the text including this!

The #627  should be replaced with the specific Issue being referenced.

cage,
capital


Closes #38  Update UI/UX

Fixes Issue

                 Closes #38

Proposed Changes

I have done changes in
1.Body.jsx
2.index.css

Checklist (Check all applicable boxes)

[x] My code adheres to the project's coding style.
[x] My changes require updates to the project's documentation.
[x] I have updated the documentation accordingly.
[x] All new and existing tests have passed successfully.
[x] This PR does not contain any plagiarized content.
[x] The title of my pull request provides a brief description of the requested changes.

[ ] I am contributing independently.
[x] I am contributing for Hacktoberfest 2023.

Potential Impact on Existing Code

Screenshots

Reviewer Notes

@mhamzanadeem last update,
Remove the margin left (md:ml-64) from button "Show Forecast" that is causing uneven distribution to the spacing.

@ManishaSwain8 I have done correction .

Thankyou for your contribution @mhamzanadeem  !
Looking forward to more issues and collaborations.
If you learnt something from this repo make sure to ⭐ this repo.
Thankyou ,Happy coding !🚀


Got wrong space of LaTeX "!=!=!="?

hi all,
I have tried to render 2Na_2O_2+2H_2O\ \!=\!=\!=\ 4NaOH+O_2\uparrow by KaTeX and MathJax.
It looks like KaTeX ignored the \! before =.
Hope anyone can help, thanks a lot :)
KaTeX:

MathJax:

Interesting: == results in less spacing between the equal signs than =\!= ...
As a workaround you can use {=}\!{=}\!{=}.

I can think of two possible reasons.

A binary operation which is not surrounded by stuff compatible with a binary operation gets demoted to an ordinary symbol. According to #4 we don't do that yet, although #492 contains a pull request for this which needs review.

I'm not sure how spacing constructs factor into this Ord/Bin/… classification. It might well be that they are ignored for the sake of adjacency computation. (Someone should read this up in the TeX book but I don't have time just now.) If so, I guess our CSS doesn't reflect this fact.

Thank you guys. {=}\!{=}\!{=} works well.

Fixed on master.


Certificate Authentication Fails with 403 when Client certificate is forwarded

I was trying to debug a Certificate Authentication issue using Tunneling.
Basically I have an Azure APIM, where I am doing a [send-request](https://learn.microsoft.com/en-us/azure/api-management/send-request-policy) with authentication-certificate. The request URL is my tunneled ASP.NET Core Web API running locally.
It looks like the certificate is not getting forwarded in: No client certificate found.
[21:42:59 INF] Request starting HTTP/2 GET https://localhost:7097/api/v1/Tenants/GetTenantByClientId?clientId=69fffd25-cd92-4db6-9a72-852e9cfbb7a0 - -
[21:42:59 DBG] No Content-Type header for request body.
[21:42:59 INF] Request:
Protocol: HTTP/2
Method: GET
Scheme: https
PathBase:
Path: /api/v1/Tenants/GetTenantByClientId
Host: localhost:7097
traceparent: [Redacted]
x-request-id: [Redacted]
x-real-ip: [Redacted]
x-forwarded-host: [Redacted]
x-forwarded-port: [Redacted]
x-forwarded-scheme: [Redacted]
x-original-uri: [Redacted]
x-scheme: [Redacted]
x-original-proto: [Redacted]
X-Original-For: [Redacted]
[21:42:59 DBG] 2 candidate(s) found for the request path '/api/v1/Tenants/GetTenantByClientId'
[21:42:59 DBG] Endpoint '[Redacted]TenantsController.GetTenantByClientId (Informa.CSMS.RestApi)' with route pattern 'api/v{version:apiVersion}/Tenants/GetTenantByClientId' is valid for the request path '/api/v1/Tenants/GetTenantByClientId'
[21:42:59 DBG] Endpoint '[Redacted]TenantsController.GetTenantByTenantCode (Informa.CSMS.RestApi)' with route pattern 'api/v{version:apiVersion}/Tenants/{tenantCode}' is valid for the request path '/api/v1/Tenants/GetTenantByClientId'
[21:42:59 DBG] Request matched endpoint '[Redacted]TenantsController.GetTenantByClientId (Informa.CSMS.RestApi)'
[21:42:59 DBG] Static files was skipped as the request already matched an endpoint.
[21:42:59 DBG] No client certificate found.
[21:42:59 DBG] AuthenticationScheme: Certificate was not authenticated.
[21:43:00 DBG] AuthenticationScheme: Certificate was not authenticated.
[21:43:00 INF] Authorization failed. These requirements were not met:
DenyAnonymousAuthorizationRequirement: Requires an authenticated user.
[21:43:00 INF] AuthenticationScheme: Bearer was challenged.
[21:43:00 INF] AuthenticationScheme: Certificate was challenged.
[21:43:00 INF] Response:
StatusCode: 403
WWW-Authenticate: [Redacted]
[21:43:00 DBG] 'CsmsContext' disposed.
[21:43:00 INF] Request finished HTTP/2 GET https://localhost:7097/api/v1/Tenants/GetTenantByClientId?clientId=69fffd25-cd92-4db6-9a72-852e9cfbb7a0 - - - 403 0 - 1363.3172ms

And when the code is deployed to Azure, it's working fine: #51819

Hi @jaliyaudagedara , we don't current support forwarding https client certificates. Thanks for reaching out. We will keep the issue open as a feature request.

Thanks for the confirmation @setaskin.
Yes please, thank you very much!

Unfortunately, we don't have plans to support this at this time. Given this, I'll be closing this issue but thanks for the feature suggestion. If we're able to reconsider this in the future, we'll re-open this.


Allow covariate to have different sampling frequencies

Allow users to provide a list of data frames with differnt covariates with differnt sampling frequencies.