Default app crashes at very beggining

Hello,
Today my nuxt app refused to work. Everytime i try to do "yarn run dev" it shows me this:

Same happens when I generate brand new app via starter template or express template.
I'm totally out of ideas.
Can you help me?
Cheers.

I have the same issue. The templates were working fine for me yesterday, and I have a few projects that still work. My guess is some dependency was updated and it messed up the build?

express template will not work without this https://github.com/nuxt-community/express-template/pull/61/files
~components/Logo.vue - https://github.com/nuxt/nuxt.js/issues/1183#issuecomment-318457804

Thanks for the component fix.
However, the express template is still not working for me. first, i get this warning :
er-utils/issues/56
parseQuery() will be replaced with getOptions() in the next major version of loader-utils.

Then after some compile successes I still get
(node:98422) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: __WEBPACK_IMPORTED_MODULE_1_nuxt___default
.a is not a constructor

Have you tried to upgrade? I've tried starter-template and express-template, and they worked fine. Try https://github.com/tylerlong/yarn-upgrade-all

I haven't tried upgrade, but I think I have pinpointed the issue. When I npm install a fresh express-template, it uses<EMAIL_ADDRESS>but if I downgrade to<EMAIL_ADDRESS>it will work like it used to.
I will try yarn-upgrade-all though and report back with my results.

Excellent)

@BjornMelgaard Nothing worked, I've appiled express fix, upgraded, downgraded, updated component import. Any other ideas?

rc3 was just released

your express must be like this https://github.com/nuxt/nuxt.js/blob/dev/examples/custom-server/server.js, I will try that too

@ImJustToNy update your import statement:
import Logo from '~components/Logo.vue'

to
import Logo from '~/components/Logo.vue'

seems like this is right config
import { Nuxt, Builder } from 'nuxt'
import express from 'express'

import api from './api'

const app = express()
const host = process.env.HOST || '<IP_ADDRESS>'
const port = process.env.PORT || 3000

app.set('port', port)

// Import API Routes
app.use('/api', api)

// Import and Set Nuxt.js options
let config = require('../nuxt.config.js')
config.dev = !(process.env.NODE_ENV === 'production')

// TODO remove
process.on('unhandledRejection', function(reason, p) {
  console.log(p)
  console.log("Unhandled Rejection:", reason.stack);
  process.exit(1);
});

// Instanciate nuxt.js
const nuxt = new Nuxt(config)

// Start build process if
if (config.dev) {
  const builder = new Builder(nuxt)
  builder.build()
}

// Give nuxt middleware to express
app.use(nuxt.render)

// Start express server
app.listen(port, host)
console.log('Server listening on ' + host + ':' + port) // eslint-disable-line no-console

but there is an error in browser when /api/users tried to load, and I cant find fix, @pi0 , can you help to fix express-template?
 DONE  Compiled successfully in 4402ms                                                                                12:47:43 PM

Promise {
  <rejected> { Error: connect ECONNREFUSED <IP_ADDRESS>:80
    at Object.exports._errnoException (util.js:1024:11)
    at exports._exceptionWithHostPort (util.js:1047:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1150:14)
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect',
  address: '<IP_ADDRESS>',
  port: 80,
  config:
   { adapter: [Function: httpAdapter],
     transformRequest: [Object],
     transformResponse: [Object],
     timeout: 0,
     xsrfCookieName: 'XSRF-TOKEN',
     xsrfHeaderName: 'X-XSRF-TOKEN',
     maxContentLength: -1,
     validateStatus: [Function: validateStatus],
     headers: [Object],
     method: 'get',
     url: '/api/users',
     data: undefined },
  request:
   Writable {
     _writableState: [Object],
     writable: true,
     domain: null,
     _events: [Object],
     _eventsCount: 2,
     _maxListeners: undefined,
     _options: [Object],
     _redirectCount: 0,
     _bufferedWrites: [],
     _onNativeResponse: [Function],
     _currentRequest: [Object],
     _currentUrl: 'http:/api/users' },
  response: undefined } }
Unhandled Rejection: Error: connect ECONNREFUSED <IP_ADDRESS>:80
    at Object.exports._errnoException (util.js:1024:11)
    at exports._exceptionWithHostPort (util.js:1047:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1150:14)


Handle UPS tracking responses with no status code

About
Some TrackResponses from UPS don't have a status node, but are considered "Successful" responses. The current implementation expects all successful responses to have a status node but that's not true in all cases - the XML fixture I added is a real-world example of a response that has no status node but is considered a successful response.
This PR prevents the status_code.at('Code').text from failing on the .text call by not reading through the non-existent status nodes.
What this means is that at the end when building TrackingResponse, the @status field will be empty; this is preferable to raising without returning anything so this is an acceptable side-effect.
@benwah @thegedge @iWuzHere

CI failing because it's Thanksgiving 😭


Klarna UI doesn't show "France" in the country list

Describe the bug
The country "France" doesn't appear in the available countries list in the Klarna payment method type.
To Reproduce

and backend code:

Smartphone (please complete the following information):
iPhone 13 Pro Max with the locale set to French and stripe-react-native @0.18.1
Thanks,
Théo

Hi @minuitagency ! Maybe you can add this parameter in your initPaymentSheet :
        defaultBillingDetails: {
          email: <your_contact_email>,
          address: {
            country: 'FR',
          },
        },

Hi @nicolasdevienne,
Thanks for your help,
          const {error} = await initPaymentSheet({             customerId: customer,             customerEphemeralKeySecret: ephemeralKey,             paymentIntentClientSecret: client_secret,             returnURL: 'myreturnurl',             allowsDelayedPaymentMethods: true,             defaultBillingDetails: {               email<EMAIL_ADDRESS>              address: {                 country: 'FR',               },             },           });

I still don't have access to France...
Théo

this does look like a bug on iOS, looking into it!

Fixed in the recent releases :)


Number of train files vs length of file list

If I have a certain file list as input and I change the number of train, validation, test files to smaller numbers, I would expect merlin to only take those number of files from the file list, but it seems to still run all label files through the normalizer. Is that expected behavior? Should one adapt the file list to match train + valid + test?

Yes, it is expected, but the min-max or mean-variance values are computed on only training data. That is a good idea to adapt the file list to match train+valid +test.

I think it would be a good idea. I set up a structure where I keep my file list and label files and acoustic feature files in a different location so I can retrain with different setups without duplicating a lot of data. If I change the number of train files down to test if something works, I don't necessarily want to have to change the file list.


Update sign in page for clients

When a client signs in, the copy and links on the page don't quite make sense:

It might be better to show "Sign into account.name"

Alternatively, we can roll back recent changes to it and redirect users depending on their role either to the admin portal or to some "user area" which will explain that they need to use an app if they accidentally got there. I think it will be a simpler one because we won't need to have two sign-in forms to maintain.

Adding to my point above: the reason to design it like it in the first place was that we will have some unprivileged user zone anyway. At the very least we will have to show active clients and sessions and allow users to terminate them.

we can roll back recent changes to it and redirect users depending on their role either to the admin portal or to some "user area" which will explain that they need to use an app if they accidentally got there.

Could you give an example of a user arriving at the dashboard page by accident? I guess I'm not understanding how this removes the need to have two styles of the sign in page.

we will have some unprivileged user zone anyway.

That's not on the roadmap, and I wouldn't feel comfortable adding it unless requested by customers just in order to keep our unprivileged portal surface as small as possible.
Perhaps it makes sense just to have two signin paths as well, since sessions will be segregated. Also makes setting segregating the Admin dashboard and Connlib session cookies easier, since you could scope them to the path. And we could prevent unprivileged users from authenticating to the admin portal sign in page altogether.

Could you give an example of a user arriving at the dashboard page by accident?

It's very common that links to the login form will be shared in some docs or via Slack, or they can just copy-paste their tenant URL into a browser.

I guess I'm not understanding how this removes the need to have two styles of the sign in page.

We should remove recently added content:
Don't have an account? [Sign up here.](https://app.firez.one/sign_up)
Meant to sign in from a client instead? [Read the docs.](https://firezone.dev/docs)

It's incorrect to point from a sign-in page of a tenant (where the user logs in) to a sign-up page of the Firezone (where a company will create an account);
"Meant to sign in from a client instead?" kind of message can be shown after logging in as a regular user, this will only require a simple page for now.

So all we really have to do is rollback one commit and make a page for a regular signed-in user look a little bit better, which later we can improve if needed.
And if you really want to keep "Meant to sign in from a client instead?" message then we can conditionally hide it if client_platform parameter is set.

That's not on the roadmap, and I wouldn't feel comfortable adding it unless requested by customers just in order to keep our unprivileged portal surface as small as possible.

I don't suggest adding it now, but seeing and closing other active sessions is a very common security best practice, so I feel like we will end up implementing it sooner than later.

Perhaps it makes sense just to have two signin paths as well, since sessions will be segregated. Also makes setting segregating the Admin dashboard and Connlib session cookies easier, since you could scope them to the path. And we could prevent unprivileged users from authenticating to the admin portal sign in page altogether.

First of all, we can't easily split sessions by cookie path right now. It's pretty complex because for each tenant you can either use UUID or account slug in the URL, and there can be only one path for a cookie. We can maintain two cookies but this will make everything just much more complicated.
We can't remove one of them: for IdP callback URLs we use UUID (so that if the tenant ever changes you won't need to reconfigure all IdP connections) and the rest are using account slug (for usability).
If we support any kind of custom domain names this will make the matter even more complicated.
Second, we will prevent unprivileged users from authenticating the admin portal anyway, splitting cookies by path is not a security measure - malicious actors can always edit those and try to reuse user sessions for the admin portal path. We will have all our tokens color-coded for that and we simply won't allow sessions access something they are not intended for.
Third, having two sign-in flows will increase maintenance costs (more code to support, and if we hotfix something you kinda always have to check both places or at least tests for both flows) and make UX worse (we will need to add a link "want to log in as admin" and "want to log in as user" to the forms to deal with people trying to use a wrong form).

I see your points. The scenario I’m hoping to prevent would be:

Admin logs in to admin portal
Admin then logs into client app
Portal session is now extended by (or otherwise influenced by) client app login

Could you give an example of a user arriving at the dashboard page by accident?

It's very common that links to the login form will be shared in some docs or via Slack, or they can just copy-paste their tenant URL into a browser.

You’re absolutely right — the link will be shared among administrators some of which haven’t been granted admin role yet. In that case we will incorrectly tell them to log in via a client instead. Should just be “authentication incorrect” or “permission denied”.
This is why I think we can’t assume where a user is trying to log into. They are two separate auth contexts, why not treat them as such

@AndrewDryga let’s hop on a call tomorrow after standup to hash this out a bit more. Will be faster.


Integration with entity-component systems

This is more of an open-ended question than an issue, so feel free to close.
Entity-component systems are quite common in games, and in particular in the Rust world. I'm wondering if there's a natural way to use an ECS like Specs or Legion and synchronize entities and components over the wire. Have you thought about this?
Perhaps this is something that could be implemented as a third-party library living on top of Naia, using Naia entities to sync ECS state in a clever way.

Hey there! Yeah I have thought about this a little. I believe that an example mixing Naia & an ECS system wouldn't be too hard to put together. "Entity" in Naia represents a collection of mutatable data that can be synced with other "Entities" between Client/Server. This is similar to a "Component" in other ECSs. So I imagine that it should be fairly straightforward to create an example wherein a struct implements both the "NaiaEntity" & "EcsComponent" traits, allowing the struct to be synced across the wire AND used in some ECS system. I would have each Component contain some index to the Entity it belongs to, that is also synced across the wire.
There could definitely be another library built on top of Naia that could provide helper methods to make this simpler to read / set up yourself. I imagine it wouldn't be too complicated, but I always underestimate things :)

It seems that Unreal calls them actors:

The server identifies the set of "relevant" Actors for each client (Actors which are either visible to the client or are likely to somehow affect the client's view or movement instantaneously), and tells the client to create and maintain a "replicated" copy of that Actor. While the server always has the authoritative version of that Actor, at any time many clients might have approximate, replicated versions of that Actor.

I think I would be willing to rename Entities -> Actors. There's a lot I really like about Unreal's networking API/implementation, I may even steal their definition of a "Pawn".

I think I would be willing to rename Entities -> Actors. There's a lot I really like about Unreal's networking API/implementation, I may even steal their definition of a "Pawn" for the upcoming clientside prediction API

A good explanation of running ECS based game over the network is at this GDC17 presentation: Overwatch Gameplay Architecture and Netcode.
The ECS entities and systems code is shared between server and client and simulation systems are able to run both on server and client. There is a dedicated system that processes network messages and applies component changes. There are also systems aware whether they run on server or client and behave a bit differently.

Hey Tomasz! That Overwatch GDC talk is one of my favorites, I've watched it 4 or 5 times and am still gleaning little details :) I'm really relying on it for the design of the clientside prediction part of things. I would like to design naia such that as much of the simulation code as you want can be shared between client & server.
Being able to use naia in conjunction with other ECS architectures is a huge goal of mine. My own personal project, when I get to it, will probably use an ECS. At one point, I designed naia to be built with ECS. However, I decided against it, trying to be unopinionated and stuff like that. I may change my mind.

Ouch.
Well... Hate to say that this is the reason I dropped naia from my project and I started rolling my own code over naia-socket, because I do not want to duplicate my ECS entities into naia-entities and back. It is just easier to sync ECS entities directly. (Especially when legion ECS I use supports change detection native, without wrapping data into Property<>)
Anyway, thanks for sharing your code - you are saving me a lot of work.
My initial idea was that it shouldn't be too complicated to just create your networked ECS components with an inner property Rc<RefCell>, and then create your own getters/setters for the properties on the NaiaEntity. Did you look into going that route? Because I definitely don't want anyone to feel that they need to convert back and forth between naia / ECS.
Please let me know if you think of a better way that doesn't include tying naia into an ECS architecture?
Down the line I definitely intend to create an ECS example, I may even see what I can do to make some macros that do some of the wrapping of NaiaEntities for you

The thing is that change detection works without any flagging. You can just run a query "give me components of type X that changed since last systems run" and you get these without any manual change tracking.
And since it is based on actual component writes, using a reference to naia data with setters/getters would circumvent it.

Man I'd like to figure out how legion does change detection automatically like that... looking at legion code I guess they're actually comparing bits in component's memory? idk..
Anyway smokku, best of luck on your project :) Hoping I can make naia's ECS story much better in the future 👍

It's by archetype, there are no individual entity/component filters for changes. I've never used it, because you don't receive any information about what has changed. Tried to tackle individual component changes once within Legion, but it's not really set up for that. Lots of discussions over the last year about it, but no real progress yet.
This makes the changed filter relatively useless for networking. Our largest burden by an order of magnitude is the serialization and sending of changes. I ended up writing my own bitset based change store, and it's simple and easy. Considering how much additional logic I need for culling of data on the server side, any plug and play "this thing has changed so automatically send its entire contents" is arguably useless without a plan for executing said logic.

This will be implemented in https://github.com/naia-rs/naia/pull/22


Create new package in apps directory for dapp console

Current dependencies on/for this PR:

main

PR #53   👈

This stack of pull requests is managed by Graphite.


bugfix few parameter not initialised

Proposed changes
Issue Number: close #xxx
../../cloud/src/recycler/meta_checker.cpp
can cause uninitialised memory read.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


UX- Student Dashboard Notifications and Communications Repository of Messages and Message Types

Adding that this should include form fields for all three access areas (students, institutions, business) as consistency with forms is a current challenge we're hoping to solve with MOD.


Changed build.pl to work under Windows.

Requires Perl to run.
In order to run tests, nunit-console program must be on the path.

Hi @ValMenn, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;


fix index error in GMM

@MikeLing great! only thing remains: could you fix the code formatting by running clang-format, see the errors:
https://travis-ci.org/shogun-toolbox/shogun/jobs/277809365#L750


"Submit a Link" button gets displaced when gallery is filtered

This is a minor visual flaw, not a burning top priority!
When I select any filters in the External Links Gallery, for example this one so that the "Return to Full Gallery" button appears, the "Submit a Link" button gets nudged downward and partially obscured by the gallery content.
It would better if that button stayed put in one place in all contexts.

This problem seems to be resolved with the new theme in #115.

With the merge of #115, I think this is resolved.


Dependency upgrades

Coverage: 93.74%. Remained the same when pulling 06b7f0c74306a51752fd9f9189e5fd61e37c50a8 on cody-dep-upgrades-2023-02-06 into 2dba2d7692a8a2bf8002d948ad4a3142d8394d28 on main.


@conda-forge-admin,please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/python-dotenv-feedstock#18.


Figure out why kafka does not float properly.

As seen in #73 the kafka is improperly "ugpraded" to .19 instead of .20 like all the others.
@n3wscott any thoughts on this?

v0.19.1-0.20210128073630-1d9c884c16c6 points to the latest commit (1d9c884c16c67fbd3befc106fe8374ec383ed5df). I didn't figure out yet why the peuso-version is v0.19.1.

v0.19.1-0.20210128073630-1d9c884c16c6 points to the latest commit (1d9c884c16c67fbd3befc106fe8374ec383ed5df). I didn't figure out yet why the peuso-version is v0.19.1.

Here an idea: maybe there was no changes in the API after v0.19.1. Only few files are being imported, that might explain why.

Here an idea: maybe there was no changes in the API after v0.19.1. Only few files are being imported, that might explain why.

Thanks, yeah, when I floated the deps manually, I grabbed the very latest commit from the head and hence I was surprised why it tagged it in go.mod as 19. I just don't know if this is a problem or not, just seemed odd, so figured I'll jot it down.

Thanks, yeah, when I floated the deps manually, I grabbed the very latest commit from the head and hence I was surprised why it tagged it in go.mod as 19. I just don't know if this is a problem or not, just seemed odd, so figured I'll jot it down.


Add @xichengliudui to sig-docs-zh-owners (release-1.12)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Please delete this note before submitting the pull request.
For 1.14 Features: set Milestone to 1.14 and Base Branch to dev-1.14
For Chinese localization, base branch to release-1.12
For Korean Localization: set Base Branch to dev-1.13-ko.
Help editing and submitting pull requests:
https://kubernetes.io/docs/contribute/start/#improve-existing-content.
Help choosing which branch to use:
https://kubernetes.io/docs/contribute/start#choose-which-git-branch-to-use.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Ref: https://github.com/orgs/kubernetes/teams/sig-docs-zh-owners/discussions/2
/cc @zacharysarah  @tengqm

@chenrui333 @hanjiayao PTAL

/cc @hanjiayao

/cc @chenrui333  @tengqm  @hanjiayao

/assign @mistyhacks

/cc @mistyhacks thanks！

/approve
No need for multiple sequential at-mentions, I got the first one. :)


Can I use the SDK to change custom SQL naming conventions?

About You:
Name: Cassidy Mountjoy
Company: Blockpoint Systems
Your question:
I was testing my custom connector and wrote some custom SQL to generate a table. The physical table name looks like Custom SQL Query. Is there any way for me to change the default name using the SDK?

In essence the database doesn't support multi-word table names and I'm receiving a query like SELECT Custom SQL Query.custom.station_name AS custom_station_name FROM....
Additionally database syntax doesn't allow . in a column name either, so custom.station_id throws it off as well.
This could be related to my LocalConfig in the ini, which custom SQL doesn't seem to be following because tablenameLower should lower case the physical table name right?

Name = bsql_logical_query
fieldnameLower_underscore = True
tablenameLower = True
tablename = $dsName
tablePrefix = [testv1].```

The Physical Table name is hardcoded to Custom SQL Query as you've observed. The product does allow customers to rename the table friendly name, however this does not change the physical name.
The dialect does support customizing the allowed form of the table name with id-allowed-characters, id-case, and id-max-length.
In this case try adding id-allowed-characters (sample, XSD) that doesn't allow    (space). This will cause _ to be inserted to replace any disallowed character. Example:
<id-allowed-characters value='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_' />

I'll open something to include this detail here as well. Thanks.

@rosswbrown My id-allowed-characters values doesn't include a space, OR any upper case letters, Custom SQL Query doesn't seem to be following my dialect at all. I'm attaching my dialect file.
dialect.zip

I've confirmed the Custom SQL scenario is not using the mangled table name correctly as defined by the dialect. I'll open a defect internally to track this issue. Thanks for reporting it.

This issue has been resolved in the May maintenance releases. The dialect definition will now be used as expected for Custom SQL.

@rosswbrown I can create another thread but I'm back to being confused on the sql that's being produced. Now that the id-allowed-characters is being respected by the Custom SQL table name, I'm left with Remote Field Name containing .  like zustom______uery.firm_id. This results in SQL like
SELECT zustom______uery.zustom______uery.firm_id AS id, zustom______uery.zustom______uery.city AS zustom______uery_city
FROM ( SELECT office.address1 AS address1, office.address2 AS address2, office.city AS city, office.firm_id AS firm_id, office.id AS
 id, office.min_voucher_amount AS min_voucher_amount, office.state AS state, office.sys_timestamp AS sys_timestamp,
office.sys_xact AS sys_xact, office.zip AS zip FROM main.office office WHERE office.firm_id = 1 ) zustom______uery INNER JOIN
main.firm firm ON zustom______uery.zustom______uery.firm_id = firm.id GROUP BY zustom______uery.zustom______uery.firm_id,
zustom______uery.zustom______uery.city

Shouldn't the projections be zustom______uery.firm_id?


Search should be initiated after a 1 sec or so of completion of typing

Not sure if this is possible or so. But when there is a large number of data in storage, typing in the search field is not smooth, it lags due to continuous searching which is occurring in the background.

We can implement debouncing in JS for this. Ref => https://levelup.gitconnected.com/debounce-in-javascript-improve-your-applications-performance-5b01855e086


Access RHEL content through the CDN

osbuild-composer can only build RHEL from within Red Hat’s network right now. For people to use it from the outside, it needs to access repositories using a valid Red Hat subscription.
There’s no need to consume an additional entitlement when making images. Only when instantiating those images do they need to be subscribed themselves. Thus, osbuild-composer and osbuild-worker can reuse a subscription that exists on the hosts they’re running on.
Because a subscription is tied to a host (system), it can be auto-detected and doesn't need to be passed in explicitly: a host can either access RHEL content or it cannot. Thus, passing the subscription secrets from osbuild-composer to osbuild-worker—which might be running on a different system—is wrong conceptually.
RHEL repositories need to be marked as needing authentication via a subscription. For osbuild-composer, this can be done by adding a key to RepoConfig: "rhsm": true. This means that we’ll need a new repository struct for passing to dnf-json which contains the subscription data.
This fact ("rhsm": true) needs to be passed down to the files source of osbuild, which needs to find subscription secrets from the host it is running on. Thus, osbuild needs a more dynamic way of accessing secrets. Do this by removing the current (static json objects) approach to secrets, which is not used, and introduce a secrets/ directory with executables that can be accessed from sources. This allows us to ship these in separate packages. For example, we might not want to ship the subscription source on non-RHEL systems. (CC @gicmo and @dvdhrm for these osbuild parts.)
Subscription secrets can be queried through subscription-manager’s D-Bus API, or as a first step discovered by looking at /etc/pki/entitlement.

This sounds like it is different from the way you did it in lorax-composer, passing the subscription certs to dnf, right?
It sounds like you are saying that any workers building RHEL content need to have their own subscriptions, instead of letting them 'borrow' the primary system's subscription. That sounds like a good idea to me. Also remember to take that into account when selecting a worker to hand off to so that there aren't any surprises when there is a mixed set of workers (not sure if that's even possible, but if it is).

This sounds like it is different from the way you did it in lorax-composer, passing the subscription certs to dnf, right?

It is similar, but more general, because workers can run on different hosts. osbuild-composer still passes the certs to dnf when it depsolves.

It sounds like you are saying that any workers building RHEL content need to have their own subscriptions, instead of letting them 'borrow' the primary system's subscription. That sounds like a good idea to me.

Right, this proposal accepts that a subscription is really tied to a host and should not be passed around.

Also remember to take that into account when selecting a worker to hand off to so that there aren't any surprises when there is a mixed set of workers (not sure if that's even possible, but if it is).

Great point! I briefly discussed this with @teg, and we were thinking that workers will advertise that they have access to RHEL content in a similar way that they advertise which architecture they can build. When making the request for a new job, a worker would include its capabilities (none of this exists yet, but that's the rough idea).

My current implementation for accessing RHEL through the CDN can be found in #598. When the repos are loaded in rppmd the sslcacert, sslclientkey, and sslclientcert are added to the RepoConfigs which is passed to dnf-json.
When obsuild-composer calls osbuild on a RHEL machine it should include {rhsm: true} for all of the packages alongside their urls. Then osbuild will use it's machine's certs when curling the package urls.

This was implemented by #396.


FR: Copy Markdown Link to Note

Feature Requested
I can add markdown links to my task manager. I think the ability to copy a note URI in markdown formatting would complement the copy file name and copy relative/absolute path. A link would look like:
Quals Meeting With Julia
I don't see another plugin that does this
Relevant Screenshot

the commands that this would fit next to nicely
Which editor are you using?

[X] New Editor
[ ] Legacy Editor

Checklist

[X] I have checked that there isn't another hotkey plugin that does what I want.
[X] The feature would be useful to more users than just me.

You mean something like Meeting with Julia? That would be doable

note to myself when I find the time to implement this
the undocumented API app.getObsidianUrl(file: TFile) can be used for this.

yeah the final link would be like Meeting with Julia


Missing "-k" / sort by column flag to SORT

Sort by column using the -k flag is a good to have

@miDeb
ive just built coreutils and can confirm that -k works as expected.
thank you!


big file download speed is 3 times slower than the python script

The chunk length is always 16384, how can I receive more data at one time?
Now its download speed is 3 times slower than the python script, and the cpu consumption is also very high. Is there any good way?

#[tokio::main]
async fn main() -> std::result::Result<(), Box<dyn std::error::Error>> {

    let client = reqwest::Client::builder().build()?;
    let mut res = client
    .get(&url)
    .header("referer", &config.referer)
    .send()
    .await
    .unwrap();

    loop {
        match res.chunk().await {
            Ok(Some(chunk)) => match writer.write(&chunk).await {
                Ok(_result) => {

                  // This is always showing a chunk length of 16384, how can I receive more data at one time.
                    println!("block len：{}",chunk.len());
                    let new = std::cmp::min(
                        downloaded + (chunk.len() as u64),
                        total_size,
                    );
                }
                Err(err) => panic!("~~~{}-- {} --{} ", err, path, url),
            },
            Ok(None) => {
                println!("Finished！");
                break;
            }
            Err(e) => {
                // _ss.send(row.clone()).await.unwrap();
                break;
            }
        }
    }
}

@mu0641 Have you found a way how to change a chunk size?


Relay node resolver fails for uint ID type

It appears that Relay node resolvers do not get called when the type of the ID used for IdField is uint. The following is a minimal reproduction:
    public class Foo
    {
        public uint Id => 0;
    }

    public class FooType : ObjectType<Foo>
    {
        protected override void Configure(IObjectTypeDescriptor<Foo> descriptor)
        {
            descriptor
                .ImplementsNode()
                .IdField(f => f.Id)
                .ResolveNode((ctx, id) =>
                {
                    // This never gets called
                    Console.WriteLine(id);
                    return Task.FromResult(new Foo());
                });
        }
    }

    // The query type
    public class Query
    {
        public Foo GetFoo()
        {
            return new Foo();
        }
    }

If one first does a query for foo { id }, then it returns the Foo node with its relay ID (base64 encoded). However, a subsequent query for node(id: MYFOOID) { id } returns null, and hence fails to find the Foo node again.
The reason for this is that IdSerializer does not have a special case for uint IDs, and uses its default branch, which converts the ID to a string. Then, upon deserialization, the ID gets read back as a string again, and does not get converted to uint. This causes the test in NodeDescriptorBase.ResolveNode<TId> to fail, because the ID stored in the context is a string, and my resolver function requires a uint. Hence, the resolver returns null and fails to find my Foo.
Not sure what the best fix for this would be. Adding a case for uint to IdSerializer would work, but that would also require adding cases for all the other primitive integer types. As a quick fix, I could also use a different integer type like long for the ID, but that would require back-and-forth casting throughout multiple cases in my code base, so that's not ideal.

@ocecaco  This will be fixed with the next 12 preview :
https://github.com/ChilliCream/hotchocolate/pull/3917

Thanks for the reply, that's good to hear. I looked at the main branch to see if the issue was still present there (since I'm using v11), but I didn't think to check the pull requests / develop branch.