RFC: Component providers

Motivation
Some "components" (as in "units of UX", e.g. a menu) are actually made of different components (as in React/Vue/etc components). For example, to build a menu with Ariakit you need to compose Menu, MenuButton, MenuItem, etc. together.
These components need to share a state, which is what component stores are for. For example, to build a menu, you first create a menu store (which holds the state) and pass it to the different components:
const menuStore = useMenuStore();
return (
  <>
    <MenuButton store={menuStore} />
    <Menu store={menuStore} />
  </>
);

This is a great approach for composability, but sometimes it can be a hassle, for example:
const menuStore = useMenuStore();
return (
  <>
    <MenuButton store={menuStore} />
    <Menu store={menuStore}>
      <MenuItem store={menuStore} />
      <MenuItem store={menuStore} />
      <MenuItem store={menuStore} />
      <MenuItem store={menuStore} />
      <MenuItem store={menuStore} />
      <MenuItem store={menuStore} />
      <MenuItem store={menuStore} />
    </Menu>
  </>
);

That's one of the reasons why a hybrid implicit/explicit state approach was introduced, through the use of React context:
const menuStore = useMenuStore();
return (
  <>
    <MenuButton store={menuStore} />
    <Menu store={menuStore}>
      <MenuItem />
      <MenuItem />
      <MenuItem />
      <MenuItem />
      <MenuItem />
      <MenuItem />
      <MenuItem />
    </Menu>
  </>
);

This RFC aims to further simplify building these kinds of components, at both the direct usage and abstraction level. Abstraction, in this context, means creating a custom component (e.g. a design system component for an organization) that wraps Ariakit, as opposed to being directly used for a specific UI.
The use case
Some users choose a "single component" approach, due to strict API versioning requirements and similar constrains. For example:
function MyMenu(props) {
  const menuStore = useMenuStore();
  return (
    <>
      <MenuButton store={menuStore} />
      <Menu store={menuStore}>
        ...
      </Menu>
    </>
  );
}

This is a valid approach, but another common approach is to "re-export" a styled ("skinned") version Ariakit for the most part, with the goal of letting users of the custom component interact with Ariakit, as well as any custom features added on top.
There are advantages to this approach, as it can result in less maintenance work and great flexibility and composability for users. However, since an important goal of design systems is to simplify the most common use cases for app developers, the "wiring" required for component stores can prove complex.
Component roots
Inspired by (and improving on) other UI libraries like Radix and Headless UI, the concept of a root component can be a good compromise to address this use-case.
The responsibility of a root component is to provide a context (specifically, a React context) for a component store that related components can consume, for example:
const menuStore = useMenuStore();
return (
  <MenuRoot store={menuStore}>
    <MenuButton />
    <Menu>
      <MenuItem />
    </Menu>
  </MenuRoot>
);

However, it can be taken a step further for much improved flexibility by adding another responsibility to root components: creating a component store if it's not provided.
This allows an API like this:
return (
  <MenuRoot>
    <MenuButton />
    <Menu>
      <MenuItem />
    </Menu>
  </MenuRoot>
);

There are a lot of cases where having control over the component store is not necessary. For example, in a simple menu, a developer won't usually care about controlling whether the menu is open or closed. This is somewhat (but not exactly) analogous to the concept of "uncontrolled components", in the sense that you don't need to create and pass the state for the component to work as intended.
Going further, the root component can take store creation options. This allows simpler customization, e.g:
<MenuRoot placement="top">
  ...
</MenuRoot>

And also simpler and finer control of state, e.g:
<MenuRoot open={open} setOpen={setOpen}>
  ...
</MenuRoot>

Breaking changes
Technically, nothing should break. However, there needs to be a minor API change: components that currently require a component store need to make the prop optional, to allow for the new context-based source. This means that the potential error when a store is not provided needs to be moved from "typecheck-time" to execution time.
Other than than, this change should be 100% retro-compatible and users won't be impacted by an upgrade.
Conclusion
This change adds on top of the (already awesome, IMHO) API and architecture of Ariakit, adding a very convenient option for users. It unlocks simpler implementations and abstractions, and provides familiarity to users coming from other popular UI libraries like Radix or Tailwind's Headless UI.
And it will make the life of design system developers (such as myself) much easier.
Usage example
return (
  <MenuRoot placement="top">
    <MenuButton />
    <Menu>
      <MenuItem />
    </Menu>
  </MenuRoot>
);

Requirements

Component roots are implemented. If a store is not provided to them, they create their own store with the provided store props. The store is then passed through React context.
Components use the store from the context if available (and if a store has not been explicitly passed to them).

Workaround
Manual wiring: implement your own root component and wrap Ariakit components to get it from the context.
Possible implementations
No response

Hey @DaniGuardiola! Thanks for posting the RFC.
It would be a great addition to the library. Here are some thoughts:
Naming
I see two issues with the Root suffix:

"root" sounds like something that should be required, which wouldn't be the case here. If a "root" component exists, rendering a component tree without it doesn't sound right.
It's not obvious that the root component won't render any element.

I believe Provider may be a better suffix as it's already a known concept in React.
Single top-level components
Some components like RadioGroup and Toolbar are already the root components in their modules. Do they need separate RadioProvider and ToolbarProvider components? For consistency, I believe they do. But maybe they should also accept the provider's props and render the provider themselves.
At the same time, I don't think Composite, used by RadioGroup and Toolbar, should follow the same pattern. Composite is also used by Combobox, which is not the single root component of the module. It would be weird to accept store props on it.
We will need to decide on each component individually.
Passing the store prop together with store props
Consider the following code:
<MenuProvider open={open} setOpen={setOpen}>

Let's say months later, I need to access the menu store to implement something else. If the provider supports either the store or the store props, I'd have to change it to something like this:
const store = useMenuStore({ open, setOpen });

<MenuProvider store={store}>

But, as a user, I'd like to change my code as little as possible by doing something like this instead:
const store = useMenuStore();

<MenuProvider store={store} open={open} setOpen={setOpen}>

Fortunately, this is already supported by the stores. We can pass another store as a prop to any component store hook, and the states will be synced:
const store = useMenuStore();
const menu = useMenuStore({ store, open, setOpen });

If both stores define open, the last one will take precedence. I expect this behavior to be the same with component providers (the props passed to the provider taking precedence), but it may be unclear. I don't know.
Dynamic store prop
With the pattern above, we could simply useMenuStore(props) inside the component provider, which would also account for the store prop. But, currently, the store prop on component store hooks doesn't support dynamic values. Only the initial store prop passed in the initial render will work.
I believe that can be supported, but will require more work.
Combining components with their stores
Some combinations like Select with Combobox require that we pass the combobox store as a prop to the select store. There's a specific combobox prop on the select store for this because we can't sync all states (we have to exclude value, for example).
How should we approach this? Here's a version that should be always supported anyway:
const combobox = useComboboxStore();

<SelectProvider combobox={combobox}>
  <Select />
  <SelectPopover>
    <ComboboxProvider store={combobox}>
      <Combobox />
      <ComboboxList>
        <ComboboxItem render={<SelectItem />} />

But maybe there's a way to support this without having to explicitly instantiate the combobox store?
<ComboboxProvider>
  <SelectProvider> {/* reads the combobox context to set its combobox prop */}
    <Select />
    <SelectPopover>
      <Combobox />
      <ComboboxList>
        <ComboboxItem render={<SelectItem />} />

mounted state
The mounted state is commonly used to dynamically render disclosure content components. Unless we add a setMounted prop or something, the component store hook will have to be used to access this state (store.useState("mounted")).

@diegohaz thanks for your response!

Naming: completely agree, let's go with -Provider.

Single top-level components:

One solution is just keeping it separate. It also favors consistency. It might feel a little weird to have ToolbarProvider > Toolbar but it's clearer and abstractions can still create a single root by composing the two in the same element.
For the above solution, there's a problem: if you combine the two, the props are also combined, and you now need to extract the provider props from the rest to properly forward them. Since the props might change across Ariakit versions, maybe Ariakit could expose something like useToolbarStoreProps that does this for you with proper types (e.g. using Pick and Omit).

Passing the store prop together with store props: feels like a simple and useful API. I think with good documentation this should be fine.

Dynamic store prop: agreed that this would be nice. Since it requires additional work, I think it's fine to release an initial version that just errors when the store changes, with a clear message. The dynamic part can be added later as a new feature.

Combining components with their stores: the suggested API seems right to me, as long as it's well documented. The only thing that stands out is that, again, this would require "splitting" the props so that they can be forwarded to their respective components, when combining both providers. I'd suggest a similar solution to the one I shared above.

mounted state: yep, this feels right to me. I would expect an Ariakit-exported useStoreContext (e.g. useMenuStoreContext) hook so that I can then do store.useState("mounted").

Something that comes to mind that might be problematic is the fact that components can now receive a store through context and as a prop. I'm curious how this is handled in components such as MenuItem where this already happens.
Thinking in terms of an abstraction, e.g. MyMenu, with this RFC you'd be able to do something like this:
function MyMenu(props) {
  const store = Ariakit.useMenuStoreContext();
  const mounted = store.useState("mounted");
  return mounted ?<Ariakit.Menu {...props} /> : null;
}

However, this doesn't seem right, because props.store might be set. In that case, you'd think to do something like this to fix it:
function MyMenu(props) {
  const store = props.store ?? Ariakit.useMenuStoreContext();
  const mounted = store.useState("mounted");
  return mounted ?<Ariakit.Menu {...props} /> : null;
}

But, of course, this is not valid React (conditional hook). The way we handle this in our userland implementation of providers is that we throw an error if props.store goes from having a value to not having a value or viceversa.
I guess this is related to the whole dynamic stores thing. Maybe the consumer hook exported from Ariakit could take an argument and handle this for the user?
function MyMenu(props) {
  const store = Ariakit.useMenuStoreContext(props.store);
  const mounted = store.useState("mounted");
  return mounted ?<Ariakit.Menu {...props} /> : null;
}

So, I've been doing some thinking on Ariakit's composition model specifically around forms and the context provider pattern that Ariakit.Form exemplifies.
In general, I like this idea of a component root to negate the need to manually wire up a component state store to multiple compositional elements. There are cases where you want the store in order to layer in additional logic, be it for user interactions or styling, etc, but I think those are an optional case not the norm. A Root element serves as a better model for this norm, where composition of the sub-elements is the thing users care the most about.
In my own use of Ariakit I've fallen into a pattern of taking the primitives it provides, applying styling to them, and then exposing that in my UI library as a component, which for most input elements results in me needing to provide two implementations: what I refer to as capital Inputs and Fields. Let's define some terms:

An Input is commonly a standalone html input element that follows some WAI-ARIA interaction pattern and is typically used as a "controlled component", meaning you pass it the value and setValue/onChange props. You might use a standalone input for something like a search box or a filter for a list. In these use cases, the application immediately does something with the value as it changes, there typically isn't a submit action by the user in order for the app to act on the value of the input.
A Field on the other hand is always part of a Form. Its state is wired up to the Form's state via a name prop and typically has supporting elements such as a Label, Description, and/or an Error message. Validation happens whenever the field's value changes, but a submit action is required for the Field's value to "do" something.
Because a common feature of a Field is the supporting elements, you would naturally want to create an abstraction in your codebase to cut back on repeated compositional code. In another library like Formik or React Hook Form, this might be handled with a render prop. If you tried to build out even a simple form without creating a Field abstraction, you'll very quickly repeat a lot of boilerplate code.
You might at this point assume you could use a slot pattern to plug an Input into a component containing these supporting elements, which unfortunately doesn't always work. What might work for a Text or Select input might not work with say, a Switch or a Radio. Here's an example from Discord's settings UI that shows a small variety of Fields, each having their own different styling and compositional hierarchy:

So that in mind, I think you would naturally need to create one or more bespoke Fields per Input your UI library might have.
Okay, so to tie all this back into the discussion at hand: I would like to see Ariakit's component API model here to better support the above, taking into account that there are multiple compositional layers at play here. Where this issue is brought up in the context of a single component pattern such as a Combobox, I want to draw attention to the fact that a Combobox is unlikely to exist in a void and likely will be used as a compositional element of a larger pater of your app, such as a Form.
What we're discussing here roughly breaks down the same way that Ariakit.Form works today, you're creating a compositional boundary and you want to represent that boundary with a Root component, which wires up child elements to a store context. What I would like to see is some thought put into nested compositional boundaries.
A pain point I have right now with all of the form components is that they necessarily have to live as children of an Ariakit.Form, meaning that if I want to have a standalone Input with similar supporting elements of a Field, I will need to create a third abstraction, a "standalone Field".
If we can get to a point with the component APIs such that I can write even less boilerplate code to use Inputs in different contexts that would be ideal. It would be ideal if I didn't have to write additional supporting code to wire up a Text input or a Combobox, or a Checkbox group to a parent Form. Nesting any of those within a Form's children should be enough for all of those to be automatically wired into the form's state. If anything, it would be more convenient to break out of this being the default behavior via say a standalone prop. Maybe a useful analogy here is to explicitly opt into absolute positioning to break out of a relative layout.
Hope this rambling give you some food for thought! I'm still thinking through the details of this myself, so if you have questions I'll try my best to answer them.

Here's an example sandbox I threw together for some coworkers a while back. It shows the abstractions I made for form fields, and the intent here was to demo that you needed very little in terms of JSX and props to build out a whole form.
https://codesandbox.io/p/sandbox/accessible-form-demo-e83s4q?file=%2Fsrc%2Fpages%2Fcomponents.tsx%3A1%2C1

I like this pattern, and it's actually something we've implemented in our component library at highlight.io. Has been a nice improvement to the DX and agree it would make sense to incorporate in Ariakit.
I agree "Provider" makes more sense than "Root" and fits well into the mental model React devs already have.

:tada: :tada: nice work @diegohaz


Reactivate the Language Filter

Once  the online system for Freecen2 is operational and stable reactivate the language filter. following these steps.
Write and run a rake task that converts the bilingual code used in the Individual collection to the new codes.
Replace the freecen search form with the content of the form included in the file _form_freecenwith_language filter.html.erb having first checked that no other changes have been made to the form

This will have been resolved when #1558 is completed
Geoff


FR: An option to delete empty folders

After cleaning out a huge number of assets (ripped out one site from a 25-site multisite), I'm now left with a ton of empty folders. No big deal, but it would be nice to have an option to delete empty folders too.

Great idea!


Where is this GWAS Catalog data

https://www.ebi.ac.uk/gwas/efotraits/EFO_0004582
our gwas catalog automat doesn't seem to have this identifier at all.

It also seems that there are no variant-phenotype edges? @EvanDietzMorris is that right?

It seems our current GWASCatalog automat is out of date and/or broken - the current version has 10-12 edges with EFO:0004582. I'm not sure I understand the second question - the source data is parsed as variant --DiseaseOrPhenotypicFeature but normalization can alter the type of the disease/phenotype nodes.

Yeah, for the second part, I ran this cypher:
{
  "query": "MATCH (n)-[x]->(p) RETURN labels(n),labels(p),count(*)"
}

And found that there are gene-variant edges, and a few gene-gene edges (don't know where those come from) but no gene-diseaseorphenotypic feature edges (or anything else)

So it seems like we need to push the new version to automat.

Oh wow - obviously that is not correct for any version of gwas catalog. The gene-variant edges come from supplementation (SNPEFF), and the gene-gene edges from OntologicalHierarchy (there should be disease-disease subclass edges as well unless they didn't load), but it appears the merge with OntologicalHierarchy did not work successfully when that Automat graph was made, and all of the actual gwas catalog edges were left out. That was done outside of Data Services and shouldn't happen again.


Failed to install the VS Code Server

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

VS Code Version: 1.88.1
OS Version: Darwin arm64 23.4.0

Steps to Reproduce:

Connect remotely via ssh

It seems the scp step failed
Logs:
[09:24:05.459] stderr> tar: code: Wrote only 512 of 10240 bytes
[09:24:05.668] stderr> tar: Exiting with failure status due to previous errors
[09:24:05.674] > ERROR: tar exited with non-0 exit code: 0
[09:24:05.676] > Trigger local server download
> 4eff05e05ef7:trigger_server_download
> artifact==cli-alpine-x64==
> destFolder==/home/harryzcy/.vscode-server==
> destFolder2==/vscode-cli-e170252f762678dec6ca2cc69aba1570769a5d39.tar.gz==
[09:24:05.676] > 4eff05e05ef7:trigger_server_download_end
> Waiting for client to transfer server archive...
> Waiting for /home/harryzcy/.vscode-server/vscode-cli-e170252f762678dec6ca2cc69aba1570769a5d39.tar.gz.done and vscode-server.tar.gz to exist
>
[09:24:05.676] Got request to download on client for {"artifact":"cli-alpine-x64","destPath":"/home/harryzcy/.vscode-server/vscode-cli-e170252f762678dec6ca2cc69aba1570769a5d39.tar.gz"}
[09:24:05.677] Downloading VS Code server locally...
[09:24:06.225] Downloaded VS Code server to /var/folders/m0/hpspqmy9229_k2zv0slp_9lw0000gn/T/264e37a2-7d1a-4863-a030-993e27c0e359
[09:24:06.227] Renamed VS Code server to /var/folders/m0/hpspqmy9229_k2zv0slp_9lw0000gn/T/vscode_server_1714742646225/vscode-cli-e170252f762678dec6ca2cc69aba1570769a5d39.tar.gz
[09:24:06.230] PATH: /Users/harry/.rbenv/shims:/usr/local/go/bin:/opt/homebrew/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Library/TeX/texbin:/Users/harry/go/bin:/usr/local/sbin:/opt/homebrew/opt/python/libexec/bin:/opt/homebrew/opt/libpq/bin:/Users/harry/.cargo/bin:/Users/harry/Library/Python/3.11/bin:/usr/local/smlnj/bin:/Users/harry/Projects/dotfiles/dot/bin
[09:24:06.231] Checking ssh with "ssh -V"
[09:24:06.243] > OpenSSH_9.6p1, LibreSSL 3.3.6

[09:24:06.243] Testing scp with "scp"
[09:24:06.249] scp exited with code: 1
[09:24:06.249] Got stderr from scp: usage: scp [-346ABCOpqRrsTv] [-c cipher] [-D sftp_server_path] [-F ssh_config]
           [-i identity_file] [-J destination] [-l limit] [-o ssh_option]
           [-P port] [-S program] [-X sftp_option] source ... target
[09:24:06.250] Copying file to remote with scp -o ConnectTimeout=15 'vscode-cli-e170252f762678dec6ca2cc69aba1570769a5d39.tar.gz' 'vscode-cli-e170252f762678dec6ca2cc69aba1570769a5d39.tar.gz.done' '***.cs.***.edu':'/home/harryzcy/.vscode-server'
[09:24:06.250] Using cwd: file:///var/folders/m0/hpspqmy9229_k2zv0slp_9lw0000gn/T/vscode_server_1714742646225
[09:24:06.747] >
> The Department of Computer Science ***.
> Unauthorized access to this system is prohibited.
>
[09:24:07.779] > vscode-cli-e170252f762678dec6ca2cc69aba157076   0%    0     0.0KB/s   --:-- ETA
[09:24:08.680] >
[09:24:08.706] > vscode-cli-e170252f762678dec6ca2cc69aba157076 100% 8457KB   8.9MB/s   00:00
[09:24:08.877] > vscode-cli-e170252f762678dec6ca2cc69aba157076   0%    0     0.0KB/s   --:-- ETA
[09:24:08.916] > vscode-cli-e170252f762678dec6ca2cc69aba157076 100%    9     0.2KB/s   00:00
> scp: write remote "/home/harryzcy/.vscode-server/vscode-cli-e170252f762678dec6ca2cc69aba1570769a5d39.tar.gz.done": Failure
[09:24:09.006] > scp: failed to upload file vscode-cli-e170252f762678dec6ca2cc69aba1570769a5d39.tar.gz.done to /home/harryzcy/.vscode-server
[09:24:09.298] "Copy server to host" terminal command done
[09:24:11.752] > Found flag and server on host
[09:24:11.753] > 4eff05e05ef7%%2%%
> tar --version:
> tar (GNU tar) 1.30
> Copyright (C) 2017 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
>
> Written by John Gilmore and Jay Fenlason.
[09:24:11.853] stderr> tar: code: Wrote only 512 of 10240 bytes
[09:24:12.061] stderr> tar: Exiting with failure status due to previous errors
[09:24:12.067] > ERROR: tar exited with non-0 exit code: 0
[09:24:12.067] > Already attempted local download, failing
> 4eff05e05ef7: start
> exitCode==37==
> listeningOn====
> osReleaseId==ubuntu==
> arch==x86_64==
> vscodeArch==x64==
> bitness==64==
[09:24:12.067] > tmpDir==/run/user/333500==
> platform==linux==
> unpackResult==error==
> didLocalDownload==1==
[09:24:12.101] > downloadTime==477==
> installTime==376==
> serverStartTime====
> execServerToken==a1aa111a-11a1-1111-1111-a1a11aa1aa1a==
> 4eff05e05ef7: end
[09:24:12.102] Received install output:
exitCode==37==
listeningOn====
osReleaseId==ubuntu==
arch==x86_64==
vscodeArch==x64==
bitness==64==tmpDir==/run/user/333500==
platform==linux==
unpackResult==error==
didLocalDownload==1==downloadTime==477==
installTime==376==
serverStartTime====
execServerToken==a1aa111a-11a1-1111-1111-a1a11aa1aa1a==

[09:24:12.102] Terminating local server
[09:24:12.104] Resolver error: Error: Failed to install the VS Code Server
	at g.ServerInstallError (/Users/harry/.vscode/extensions/ms-vscode-remote.remote-ssh-0.110.1/out/extension.js:2:499115)
	at d (/Users/harry/.vscode/extensions/ms-vscode-remote.remote-ssh-0.110.1/out/extension.js:2:492910)
	at t.handleInstallOutput (/Users/harry/.vscode/extensions/ms-vscode-remote.remote-ssh-0.110.1/out/extension.js:2:494728)
	at e (/Users/harry/.vscode/extensions/ms-vscode-remote.remote-ssh-0.110.1/out/extension.js:2:557639)
	at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
	at async /Users/harry/.vscode/extensions/ms-vscode-remote.remote-ssh-0.110.1/out/extension.js:2:579548
	at async t.withShowDetailsEvent (/Users/harry/.vscode/extensions/ms-vscode-remote.remote-ssh-0.110.1/out/extension.js:2:583207)
	at async /Users/harry/.vscode/extensions/ms-vscode-remote.remote-ssh-0.110.1/out/extension.js:2:554344
	at async T (/Users/harry/.vscode/extensions/ms-vscode-remote.remote-ssh-0.110.1/out/extension.js:2:552395)
	at async t.resolveWithLocalServer (/Users/harry/.vscode/extensions/ms-vscode-remote.remote-ssh-0.110.1/out/extension.js:2:553884)
	at async k (/Users/harry/.vscode/extensions/ms-vscode-remote.remote-ssh-0.110.1/out/extension.js:2:576765)
	at async t.resolve (/Users/harry/.vscode/extensions/ms-vscode-remote.remote-ssh-0.110.1/out/extension.js:2:580578)
	at async /Users/harry/.vscode/extensions/ms-vscode-remote.remote-ssh-0.110.1/out/extension.js:2:846687
[09:24:12.106] ------

[09:24:12.108] Local server exit: 15

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

Upgrade and the error is the same. The scp step failed


GTT additions

This draft PR starts some GTT extensions/additions to the L1Nano format, from some exploration a few weeks ago and re-testing things now. As of now, this is incomplete, and could use person-power in GTT to extend it more usefully, and decide on what's worth putting in now/later (e.g. see Vertex nTracksIn/Out: can be uncommented now, but we don't fill these in the VertexWord yet)

hw values for Vertices are added. Most values match current expectations (nTracksIn/Out are not filled, but the lines can be uncommented to add them if these hw values are desirable)
Vertex hwZ0 interpretation is wrong, would need to be filled to ensure signed-int value works as expected
Vertex hwSumPt interpretation seems to be the integer cast of the float value stored. Expectation was a factor ~4 difference, to account for the 2 float bits from the ap_fixed<12,10> being accounted for, but it looks like truncation or the float sumPt is getting the wrong value by a factor 4 too large.
FlatTableProducer for TkJets is added. A few test values are filled, but no validation is done
Et and Ht sums are added with partial fills. More work would be needed to finish filling what's currently written in the link data (see https://github.com/cms-sw/cmssw/blob/master/L1Trigger/DemonstratorTools/src/codecs_htsums.cc, https://github.com/cms-sw/cmssw/blob/master/L1Trigger/DemonstratorTools/src/codecs_etsums.cc). These are currently in the least-interfaceable state, as much of the logic is in codecs rather than in the Object classes. This is a big(ger) problem to be solved, and would need some person-power and/or cross-talk on approach in correlator
Whether hwValues are valuable additions to the format depends on use-cases, customizability, size constraints, etc. Storing the entire Word as long unsigned int would only work directly for vertices and sums (64 bits), Jets are encoded as 2 64-bit words (latter currently unfilled according to interface docs). This would also necessitate some interpretation machinery in e.g. a coffea schema or some utility functions (not out of the realm of possibility, but does make it a barrier to easy usage, so not pursued in this initial foray)

A GTTValidation script is added which does a few nigh-trivial tests of Vertices and checks for what branches have been successfully added to the nano format (presumes you create a few-event file with the current master configuration and append the postfix indicated by the 'forig' file open near the top). When things are complete, it could be left as an example or deleted to clean things up.

Thanks for this Nick! Just one (two) things I would like to add to what I said on mm:

We plan on moving to be cmsDriver compatible, thus allowing to modify the process via the customisation: #5
I would like to propose to split the "low-level"/TP inputs and the main GT-level objects to different files. E.g. one cff for  "final L1 /menu objects", one for GT objects, one for GTT low level etc . Not a showstopper, but maybe this could be taken into account already here?

Note here the refactoring of the cff files: https://github.com/cms-l1-dpg/Phase2-L1Nano/pull/8

Thanks, Artur. I will see about the refactor sometime in the next couple weeks. We still need to identify whom in GTT can work on further development beyond that point.
what are your thoughts on GTT vertices collection in GTT vs what to add for GT?

Closed in favor of PR#9 which rebases things. We still need to find person-power in GTT


[BUG] When attempting to load via Autosession search, it cannot find directory

Describe the bug
When running Autosession search I get to pick between my 2 currently existing session. Picking ether of them, however, errors out with the following:

Notably, this does not happen when using session-lens, so I feel like it may have potentially sneaked under the radar.
To Reproduce
Steps to reproduce the behavior:

Uninstall session-lens and disable the telescope plugin.
(Perhaps uninstall dressing as well, however, it repros for me with it too)
Restart vim
Go to a valid directory, open a few buffers, save a session
Run Autosession search and pick the new one
See error.

Expected behavior
The app restores the session smoothly.
Baseline (please complete the following information):

Result of set sessionoptions?: sessionoptions=blank,buffers,curdir,folds,help,tabpages,winsize,terminal,localoptions,winpos
OS. e.g uname -a: MSYS_NT-10.0-22621 PC-Name 3.3.6-341.x86_64 2022-09-05 20:28 UTC x86_64 Msys (win 11)
Neovim version nvim --version

NVIM v0.9.0-dev-417+g1390e97c2
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Compiled by runneradmin@fv-az153-379

Additional context
Also, Autosession delete does not delete the session for me ether. Feel like that might be related.

Hey, this is an interesting one. At first glance it looks to me like it's an error with your config regarding vim.ui.select but I'm not super sure how exactly this would happen

If I can provide and logs or further info, please do say 👍

Having the same with just this setup:
        require("auto-session").setup({
            log_level = "error",
            auto_session_enable_last_session = true,
        })

Does vim.ui.select itself work for any of you?
To check, put this code into a lua file and then run :luafile %
local M = {}

function M.select()
  vim.ui.select({ "Australia", "Belarus", "Canada", "Denmark", "Egypt", "Fiji" }, {
    prompt = "Select a country",
    format_item = function(item)
      return "I like to visit " .. item
    end,
  }, function(country, idx)
    if country then
      print("You selected " .. country .. " at index " .. idx)
    else
      print("You cancelled")
    end
  end)
end

M.select()

return M

Absolutely no problems at all
The ui is there for auto-session too:

Maybe a call to vim.fs.normalize() is needed somewhere?

Thanks for trying that out, just wanted to rule something out. I have also just realized that the windows path handling might not be working well. I also have no real way of testing this as I'm not a windows user myself, but I'd be happy to help someone with this if they've got the time to dig in. The hypothesis is that the issue is only around the parsing of the path from the real path to the escaped path and back.

I wouldn't mind trying - could you point me in the right direction? Any suggestions as to what should be checked where?

There are a couple of windows specific functions in this file you could start playing with to see what you get
https://github.com/rmagatti/auto-session/blob/04ccdac802200ecc363b251cf922b2b022bb515c/lua/auto-session-library.lua#L116

@rmagatti I think this can be closed now


Add DNS entry for ovsdbserver-sb- services

When the ovsdbserver-sb pod gets deleted we can't ensure that it will be recreated with the same internalapi IP, since that IP is popullated to the EDPM nodes during ansibleee-deployment_phase, if the IP changes during reboot of the pod EDPM won't know until user retriggers ansibleee-deployment_phase. This will mean that meanwhile ovn_controller and neutron-ovn-metadata won't have connectivity to the SB DB.
In order to fix this instead of using a string of IPs on the ovn-remote a single DNS entry will be used. Every service will add two entries to the openstack-dnsmasq:

ovsdbserver-sb-x.openstack.svc (where x = replica/service number)
ovsdbserver-sb.openstack.svc

The last one will be the one popullated to the EDPM node, as querying it will return one IP from all the SB pods initialized at that moment (dns will use sequential round-robin to fulfill the request).
TODO:

Fix "should delete the external config map when networkAttachment is detached from SB DB". It is failing since when NAD is detached from pod, GetExternalEndpoint still returns dns_hostname

/ok-to-test

I was under impression that the PR is close to be ready, hence I asked to remove draft tag from the PR. It's been two weeks and the PR is still not in shape; perhaps it's prudent to add the draft tag back to reflect reality.

Could you please list what's actually missing? Preferably an exhaustive list of todo items that should get the PR to mergeable state.

Please also rebase the PR frequently because 1) tests are not executed on your latest changes otherwise; and 2) it will be harder to rebase it later if you don't keep up as you progress.

Thanks.

kuttl tests fails because DNSData CRD is not registered in the operator controller
2024-01-09T15:00:53.006Z	ERROR	controller-runtime.source	if kind is a CRD, it should be installed before calling Start	{"kind": "DNSData.network.openstack.org", "error": "no matches for kind \"DNSData\" in version \"network.openstack.org/v1beta1\""}

See here

oops, it was not my intention to push anything into your repo (why do I even have permissions there?) I will revert to original.

kuttl failures still seem to suggest that the kind for DNSData is not known to the operator controller. This will have to be explored.

kuttl failures still seem to suggest that the kind for DNSData is not known to the operator controller. This will have to be explored.

https://github.com/openstack-k8s-operators/install_yamls/pull/686 will handle that. I posted some comments there, once it's ready i think can do Depends-On and that should  work

/test ovn-operator-build-deploy-kuttl

kuttl failures still seem to suggest that the kind for DNSData is not known to the operator controller. This will have to be explored.

openstack-k8s-operators/install_yamls#686 will handle that. I posted some comments there, once it's ready i think can do Depends-On and that should work

Depends-On not working with kuttl job, i validated this locally and approved other patch

/lgtm


GridTable Parser - wrong behavior if with space occurs in table borders

GridTable Parser - wrong behavior if with space occurs in table borders
Th with space leads into an inserted horizontal row:
Source:
#### Rendering Issue WithSpace
+ :-----: +--------------------+---------------------+
| No.     | component          | comp. no.
+=========+====================+=====================+
| 1       | component 1        | xxxx-xxxx-xxxx
+ --------+--------------------+
| 2       | component 2        | xxxx-xxxx-xxxx

Result:

<colgroup><col style="width:18%">
<col style="width:40%">
<col style="width:42%">
</colgroup>

No.
component
comp. no.

1
component 1
xxxx-xxxx-xxxx
xxxx-xxxx-xxxx

2

component 2

```^

![image](https://user-images.githubusercontent.com/36916361/221905448-e39e813b-9054-4760-b539-46a209e6d79d.png)

Could you elaborate which space exactly?

Its the one between the two table lines 1 & 2 - the separator gets an whitespace after the + sign + --.... and the dashes after the with space interpreted as horizontal row.
Hard to say what's wrong or right here as the grid table has kind of hard def. and this will break it...
from user perspective it could be good if this signs could be ignored in the row separation started by +, but honestly I'm not sure which side effects will follow if this would be accepted

Oh, ok, understood, thanks.
Let's say that it is by design and that it doesn't accept spaces between + 🙂
If you fell brave, PR welcome, the code is in GridTableParser.cs. As you said, there is no real standard for this. I haven't checked how e.g pandoc is behaving with such difference.


Update network-watcher-limits.md

Updating Limits for Network Watcher service.

@georgewallace - Would you review the proposed changes? Thanks.

#sign-off signing off as @mattreat made the updates. Will request this article be changed from me as I am no longer over network watcher content


[controller] Partial update only allows nullable union pair

[controller] Partial update only allows nullable union pair
This PR adds restriction on the UNION field for partial update schema generation.
Previously, any union type can be enabled partial update, except for multiple collection field scenario.
A/A requires null-value pair of union field:

[null, regular field] => long RMD timestamp
[null, collection field] => complex record RMD timestamp tracking each element in the collection
other => not supported, throw exception during schema generation.

In the future, all new hybrid store will by default enable A/A replication, it is good to align the requirement for UNION here so that all partial update stores can transition into A/A replication smoothly.
How was this PR tested?
new unit test
Does this PR introduce any user-facing changes?
User won't be able to enable partial update on store schema that contains union field that is not a null-value pair.
This is also the requirement from A/A replication and we are aligning it to make sure they will have a smooth transition into A/A replication.

[ ] No. You can skip the rest of this section.
[x] Yes. Make sure to explain your proposed changes and call out the behavior change.

Yeah, technically yes.
I don't have a context about why these are not supported in A/A though, I suspect there might be some earlier discussion for A/A implementation that leads to the decision to block it (maybe for simplicity in implementation?)
So in theory, there are all these types:
SCHEMA TYPE        CURRENT RMD TYPE

primitive - long
collection - [long, complex record]
[primitive] - long (wrong, should be [long, complex record])
[collection] - long (wrong, should be [long, complex record])
[null, primitive] - long
[null, collection] - [long, complex record]
[primitive1, primitive2] - long
[primitive, collection] - Not supported
[collection1, collection2] - Not supported

Union with 3 branches must have same judgement call as type 5-9.
For today, all of them are supported by WC converter, except 9.
Are you suggesting we should support all these, except 9 which leads to ambiguious RMD data for value?
My current understanding is, technically we can support that, but I feel like in real use case people usually have 2 branches union, and for all Fedex-backed schema, it is always [null, something]...

Let me close this for now. For what types of WC / AA collection schema to be support in Venice, I might need more time to think about it. Since this PR is stale and it is not top prioritized issue, let's close it and create one in the future.


feat: add support for offset

Description
Add support for Prometheus offset modifier in indicator metric expressions.
Use Case
AWS CloudWatch ELB metrics are reported with a 5-10 minute delay. A Prometheus recording rule is evaluated at the current time, at which you will never have AWS ELB metrics in your Prometheus.
This can be solved by applying an offset 10m to the metric. All PromQL statements that use the recording rules don't need to have the offset applied. When the offset is used in the metric for the recording rule, everything is already recorded with the defined offset.
The offset is not great for fast burning alerts but I prefer to have a slightly delayed but working SLO over no SLO. There can also be other use cases where users benefit from applying a (shorter) offset.
If no offset is provided, everything works as before.
This solves #1237

Closing. The maintainer prefers to not have this functionality in Pyrra. See https://github.com/pyrra-dev/pyrra/issues/1237.


iOS proxy not work!

I compile code, and install deb file manually. Set proxy host(my mac) and port and select proxy , iPhone connect WIFI network. APPs connect server correctly but my burpsuite has no HTTP(S) packets.

After setting proxy in Proxy Switcher, does the proxy show under Settings -> WiFi -> [Connected network] -> HTTP Settings?

After setting proxy in Proxy Switcher, does the proxy show under Settings -> WiFi -> [Connected network] -> HTTP Settings?

Same issues.I have download this deb from some source repo in cydia. The system showing "Settings -> WiFi -> [Connected network] -> HTTP Settings " have no change.


docs(usage/user-config): include the correct path for the schema

This broke the build:
https://github.com/cashapp/hermit/actions/runs/3938250783/jobs/6736724110

😭


Update dependency stylelint to v14

This PR contains the following updates:

Package
Type
Update
Change

stylelint (source)
devDependencies
major
13.13.1 -> 14.0.1

Release Notes

stylelint/stylelint
v14.0.1
Compare Source

Fixed: package size by excluding docs (#5643).
Fixed: overrides property ignoring dot directories (#5629).
Fixed: custom syntax require error handling (#5635).
Fixed: function-calc-no-unspaced-operator false positives for hyphenated functions (#5636).

v14.0.0
Compare Source
Migrating to 14.0.0 guide.

Removed: Node.js 10 support (#5303).
Removed: syntax option (#5297).
Removed: configOverrides option (#5530).
Removed: rules deprecated in 13.7.0 (#5295).
Removed: function-calc-no-invalid rule (#5296).
Changed: ignoreFiles to be extendable (#5596).
Security: addressed ReDoS issue with regex in indentation (#5539).
Added: TypeScript type definitions (#5582).
Added: customSyntax option as a property in the configuration object (#5538).
Added: overrides property to configuration object (#5521).
Added: disableFix as secondary option to rules property in the configuration object (#5460).
Added: quiet option to Node.js API (#5542).
Added: color-hex-alpha rule (#5316).
Added: custom-property-no-missing-var-function rule (#5317).
Added: function-calc-no-unspaced-operator autofix (#5273).
Added: ignoreFunctions: [] to length-zero-no-unit (#5314).
Added: ignoreAtRules: [] to no-invalid-position-at-import (#5520).
Added: ignoreProperties: [] to number-max-precision (#5421).
Fixed: "No files matching the pattern" when using backslash paths on Windows (#5386).
Fixed: function-url-quotes problem messages to be consistent with other *-quotes rules (#5488).
Fixed: length-zero-no-unit false positives for flex property (#5315).
Fixed: media-feature-name-no-unknown false positives for prefers-contrast (#5428).
Fixed: media-feature-name-no-unknown false positives for dynamic-range & video-dynamic-range (#5613).
Fixed: media-feature-name-value-allowed-list TypeError for spaceless condition (#5581).
Fixed: property-no-unknown false positives for Less maps (#5381).
Fixed: selector-class-pattern false positives for Less parametric mixins (#5378).
Fixed: max-empty-lines autofix for Less comments (#5507).
Fixed: named-grid-areas-no-invalid false negatives for grid and grid-template shorthand properties (#5514).
Fixed: unit-no-unknown false positives for nested property declarations (#5500).

Configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

Updated in https://github.com/mondeja/actix-react-starter-template/commit/4d94954cfc5c9e4ab84ee6d3a70bcdc4000a7482


Makefile: adapt for libftdi vs libftdi1 differences

Use the cflags and libs from pkg-config. This allows us to adapt to the distro differences. Also, make sure to autodetect if the distro provides libftdi or libftdi1, preferring the latter one.

You need to squash the commits, otherwise it is no really bisectable.

debian x86_32 doesn't compile now


PLY file loader

Hi,
Thank you for contributing very cool stuff! But I still have a little question: how to load point cloud files such as ply or obj? Plus, for some simple geometry that only contains point geometry, can the lb operator still handle that kind of file?
Thanks

Hi @bearinsuke currently only VTK OFF GMSH and FreeSurfer Surface files are supported. Should be easy to add ply or obj support, probably there are already python packages to load those files. All you need is the list of 3D points and triangles as 3 indices into that list (starting with 0). Or you can use any converter to one of the supported inputs.
Also this implementation cannot handle point clouds, you would need to create a geometry ( triangle or tetrahedral meshes) first.

Hi @m-reuter, thanks for your comments. Here is a further question I'd like to ask: since the information contained in the triangle is the indices of vertices, is it possible to use edge information so that LBO may handle simple geometry such as a 2d ring shape or something?
Thanks

It uses angles at vertices. It can only work on triangle meshes (or the 3d version on tet-meshes). It would be easy to implement a more simple graph laplacian at some point, that would work on any graph (basically vertices and edges).

Thanks for your help!


Android: How to get file extension of images selected using @nativescript/imagepicker

Hello, I am using @nativescript/imagepicker to select multiple images on android.
I would like to only keep the images which have .jpg, .jpeg, and .png extensions.
I am checking the URI using selection[0].android, but the result is:
content://com.android.providers.media.documents/document/image%3A52
It contains the image name, but not the file extension.
How can I get the file extension using imagepicker?
This is my implementaiton:
var context = imagePicker.create({
    mode: 'multiple',
    showsNumberOfSelectedAssets: true,
    mediaType: ImagePickerMediaType.Image
})

context
    .authorize()
    .then(function () {

        return context.present()
    })
    .then(function (selection) {

        fileURI = selection[0].android;
        console.log(fileURI);

...

I am using:
@nativescript/core: v8.0.2
@nativescript/imagepicker: v1.0.6

How to get the file extension?

In @nativescript/imagepicker 2.0, it now returns more information about your selection. You can get extension by doing
selection[0].filename.split('.').pop() for example.


Should this be used in place of hayes0724 / shopify-webpack-themekit?

There seems to be a lot of overlap between the two and I'm not fully understanding where one should take the place of the other?

Seems like hayes0724/shopify-webpack-themekit is more or less just a pre-defined theme type of setup whereas hayes0724/shopify-packer is trying to be a Slate replacement.

Seems like hayes0724/shopify-webpack-themekit is more or less just a pre-defined theme type of setup whereas hayes0724/shopify-packer is trying to be a Slate replacement.

shopify-webpack-themekit is a webpack setup I used for many years (pre Slate) where everything (build tools, theme, etc) are all in one repo. When Slate was released there were several features I liked and wanted to add to shopify-webpack-themekit. Installing as a global node module that can be configured in a separate repo was a key feature that required a complete rebuild of the project. I created shopify-packer for this purpose and maintain both. shopify-webpack-themekit receives backports from hayes0724/shopify-packer since they are mostly compatible.
hayes0724/shopify-packer

Drop in replacement for Slate (good for team projects where other members have Slate experience)
Build tools are separate from theme (@hayes0724/packer-blank-theme)
Easier to update existing projects
Easy to use with existing themes
Base theme is separate and not required
CLI tools for common tasks (theme create, list, init, download, zip)

hayes0724/shopify-webpack-themekit

Single repo for build and project
Receives backports from packer
Easier to edit build directly
Harder to update previous build portion projects (since build and project are in the same repo)
Hard to work with existing sites
No CLI Tools

shopify-webpack-themekit is a webpack setup I used for many years (pre Slate) where everything (build tools, theme, etc) are all in one repo. When Slate was released there were several features I liked and wanted to add to shopify-webpack-themekit. Installing as a global node module that can be configured in a separate repo was a key feature that required a complete rebuild of the project. I created shopify-packer for this purpose and maintain both. shopify-webpack-themekit receives backports from hayes0724/shopify-packer since they are mostly compatible.
hayes0724/shopify-packer

Drop in replacement for Slate (good for team projects where other members have Slate experience)
Build tools are separate from theme (@hayes0724/packer-blank-theme)
Easier to update existing projects
Easy to use with existing themes
Base theme is separate and not required
CLI tools for common tasks (theme create, list, init, download, zip)

hayes0724/shopify-webpack-themekit

Single repo for build and project
Receives backports from packer
Easier to edit build directly
Harder to update previous build portion projects (since build and project are in the same repo)
Hard to work with existing sites
No CLI Tools


[Feature request] Allow capture text to the bottom of active file

Capture text to the bottom of active file

Added 0.2.9 :)


Issue project upload on current directory

How to reproduce
$ neoload login <your_token>
$ neoload test-settings use <your_test_settings>
$ cd ~/neoload_projects/v7.7/Sample_Project
$ neoload project up
Actual Results:
Error: Error 400 during the request: POST https://neoload-files.saas.neotys.com/v2/tests/f5a3ea7f-c509-4437-8228-b818bac341ed/project
Expected Results:
{
"projectId": "602fb38ad9ded72fd411634e",
"projectName": "Sample_Project",
"projectVersion": "8.2",
"asCodeFiles": [],
"scenarios": [
{
"scenarioName": "WANImpact Local",
"scenarioDuration": 600,
"scenarioVUs": 35,
"scenarioSource": "Sample_Project.nlp"
}
]
}

Issue fixed and released in CLI v1.2.1 See pypi.org.


Potential DB connections starvation issue in DBKoverExecutor

Describe the bug
Right now the current implementation of core/src/main/kotlin/io/dbkover/DBKoverExecutor.kt can lead to a connection pool starvation in case the provider function annotated with @DBKoverConnection doesn't make sure of providing a reusable connection.
This happens because both beforeTest and afterTest functions invoke getDatabaseConnection(schema), which invokes the @DBKoverConnection function. If such function is implemented as:
@DBKoverConnection
fun dbConnection() = datasource.getConnection()

that might result in a new DB connection being created every time, with at least 2 connections being opened for tests annotated with both @DBKoverDataSet & @DBKoverExpected. This means that the running test environment, in this case, must be able to provide a connection pool of at least size 2.
To Reproduce
Steps to reproduce the behavior:

You can set up an integration test that uses DBKover and has the following:

A provider function annotated with @DBKoverConnection implemented as above
A test function that is both annotated with @DBKoverDataSet & @DBKoverExpected
A test runtime that is configured to rely on a DB connection pool of just 1 connection
Set a reasonably short connection timeout for DB connection

Execute the test
The test should fail with a connection timeout

Expected behavior
I would expect such example test not to fail. The executor should rely on a shared single connection to the DB. Such connection instance might even be added to the test execution context and be available for injection in the test.
This way a test can be implemented/executed by relying on a single connection.
Ideally it shouldn't be a responsibility of the library consumer to take care of providing a reusable connection to the @DBKoverConnection function.
Screenshots
N/A
Desktop (please complete the following information):
N/A
Smartphone (please complete the following information):
N/A
Additional context
N/A

Hi @nicola-auriti. Thanks for reporting this issue.
The intention was never to use a datasource for providing connections in tests. Nevertheless I think it's important for DBKover to manage the connections it needs internally. For that reason, I've changed the behaviour of how DBKover uses db connections, so it's now only required to provide connection details like jdbc url and username/password. (see https://github.com/dbkover/dbkover/pull/27 for reference) I believe this will resolve this issue, if it doesn't, please report back 😊


Deploy this to Heroku

Would be nice to either have a heroku deployment YAML or instructions on how to properly deploy this repo to Heroku, same goes for suggestions on how to integrate this to be production ready on AWS.

@ajmal-parta I think you would need at least two Heroku instances, one for the back-end and other for the front-end
or you can try a simpler project with a built in front-end like this that you can easily deploy  on heroku

See https://github.com/tiangolo/full-stack-fastapi-postgresql/issues/322 for AWS deployment


Useless makedepend wget

In the PKGBUILD, there is, on line 10

makedepends=('wget')

Since wget is not used anywhere else in the PKGBUILD, it is not necessary as a makedepend.

do it yourself

idc

Don't care fix it youself

Don't care fix it youself


Right Prompt Components Contains Extra Space

The right prompt component contains an extra space between the modules. This issue happens due to how the echo of an array works in shell scripting: if a module, in this case, the jobs module, returns an empty output, it will be printed as an extra space.

Also, the time_elapsed's module icon can look bugged depending on the font in use and can also be replaced by an emoji if the right Noto Font family is installed.

Fixed by 7f2ddb42e648b0bc0ac118b1c48ee863d6c88224.


Add a note about the Tailwindcss cdn when using a CSP

I am using a CSP in my router and noticed that the mailbox preview was missing all its styling.
I had to adapt my CSP to allow the use of the cdn.

💜


Expose 'Blob.kms_key_name' as read-only property

Backed by _properties.

@frankyn PTAL

@tseaver review now.

Creating a destination key w/ kms_key_name allows rewrite to set / rotate the key for an existing blob.


imap connections must be closed on errors or nothing to do

see the catch block in Imask.prototype._retrieveFromImap

Thanks, should be fixed now.


Fix: Ensure Content-Type is set based on header value if not explicit…

Fixes #1697
This PR ensures that the Content-Type is set based on the header value if it is not explicitly set by the user.

Modified the prepareRequestSpecs method to check if contentType is still ContentType.ANY.
If ContentType is not explicitly set by the user, it now retrieves the Content-Type from sessionHeaders and applies it directly to the RequestSpecBuilder.
This change ensures that the request uses the exact Content-Type provided in the headers, preventing encoding and serialization issues.

.


Typescript + styled-components/primitives

I'm trying to do universal rendering in Sketch using the primitive components available under styled-components/primitives.
This is a very basic component I'm trying to render. I should add that a jsx equivalent of this component works just fine:
import * as React from 'react';
import styled from 'styled-components/primitives'

const StyledParent = styled.View`
  background: red;
  padding: 10px;
`;
//
const StyledChild = styled.View`
  width: 10px;
  height: 10px;
  background: green;
`;

class Button extends React.Component<{}> {
  public render() {
    return (
      <StyledParent>
        <StyledChild />
      </StyledParent>
    )
  }
}

export default Button;

However, the TypesScript complier results in the following type error:
Type '{ children: Element; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<Component<ThemedOuterStyledProps<View, any>, Compo...'.
  Type '{ children: Element; }' is not assignable to type 'Readonly<ThemedOuterStyledProps<View, any>>'.
    Property 'measure' is missing in type '{ children: Element; }

I want to end with an open question to anyone who have experience with Sketch rendering and if it's worth pursuing.
Neither react-sketchapp or react-primitives seams to have found wide adaptation, and I'm struggling to find fresh articles on people using these libraries in 2018.
Please correct me if I'm wrong, I really do think these libraries and the ideas behind them look very promising and I would really like to find motivation to include them in my workflow.

Solved it using https://github.com/jacob-ebey/styled-components-ts.


codeium#Chat does not work at the first time we call it

I tried to map Alt+Enter to open Codeium chat, but the first time I called it, nothing happened; it only opened at least on the second try.
This is my config with lazy.nvim package manager, each method below for mapping Alt+Enter do not work.

FYI @vphantom

This looks like a NeoVim usage, whereas this is the Vim extension.  I don't have experience with NeoVim.  Chat support has been added to the NeoVim extension as well recently (just not workdir support yet, AFAIK).

Ah apologies, got my wires crossed with the repos :)

I don't think that Alt Enter is a legal (or possible) key in neovim


新版UI感觉不如旧版更有Mac风格，希望能够优化下

旧版更Mac风，新版第一眼看上去windows风更明显，请问作者是计划要做跨平台吗

If TailwindCSS 4 supports plugins, I will modify UI.

The new version has been released, so it is closed.


Feature request: don't autocomplete the same thing twice in a row.

To be clear:

I like enter as an autocomplete button. I don't want to give it up.
I don't want this to be an enforced default, just an option

What happens today:

I type "test"
"testing" shows up in the autocompletions, since it's defined earlier in this file
I hit enter, and testing is autocompleted
I wanted only test, so I backspace 3 times and hit enter again (attempting to go to the next line)
testing is autocompleted again
I backspace three times, then hit <esc> o (vim mode for enter normal mode > open a new line below this one)

What I would like to happen:

I type "test"
"testing" shows up in the autocompletions, since it's defined earlier
I hit enter, and testing is autocompleted
I wanted only test, so I backspace 3 times and hit enter again.
No autocompletions are triggered when I'm backspacing, and enter takes me to the next line.

How to do it:
(I would PR this myself if I was fluent enough in .coffee)
The naive way to implement this fix is to disable autocompletions while backspacing. That covers my 90% case.
A better way is to remember the substring that was used for the last autocompletion (test in this case) and not autocomplete for it or any substring of it until a cursor motion (other than backspace) has happened (left, right, up, down, forward word, back word, etc). This still means I could type testi and complete testing, but that t, te, tes, and test won't trigger autocompletions.

The naive way to implement this fix is to disable autocompletions while backspacing

This can be disabled in the settings. It's a bad default, and I'd like to have it disabled by default.

It's a bad default

I'm just going to change the default and we can tally the bug reports. #137 and #145 were put in place to allow backspace to trigger autocomplete. But perhaps my perception of the issues associated with changing the default for backspaceTriggersAutocomplete from true to false don't match reality.


Fixing script for Java8/Java11 docker container push

Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

r: @lostluck

r: @lostluck

merging as these tests do not exercise the code we modified.

merging as these tests do not exercise the code we modified.


[SPARK-47976][Python] Add Python UDTF DataFrame API to return result of 'analyze' method as output table

What changes were proposed in this pull request?
This PR adds a Python UDTF DataFrame API to return the result of calling the 'analyze' method as the output table, instead of the 'eval' and 'terminate' methods.
For example:
val udtfRunAnalyzeMethod: UserDefinedPythonTableFunction =
  udtf.copy(returnResultOfAnalyzeMethod = true)
val df = udtfRunAnalyzeMethod(spark, lit("abc"))
  .select("schema")
  .collect()

This should return the 'analyze' method result schema, with something like:
{
  "schema": {
    "fields": [
      {
        "metadata": {},
        "name": "partition_col",
        "nullable": true,
        "type": "integer"
      },
      {
        "metadata": {},
        "name": "count",
        "nullable": true,
        "type": "integer"
      },
      {
        "metadata": {},
        "name": "last",
        "nullable": true,
        "type": "integer"
      }
    ],
    "type": "struct"
  },
  "withSinglePartition": "False",
  "partitionBy": [
    {
      "name": "partition_col"
    }
  ],
  "orderBy": [
    {
      "name": "input",
      "ascending": "True",
      "overrideNullsFirst": "None"
    }
  ],
  "select": [
    {
      "name": "partition_col",
      "alias": ""
    },
    {
      "name": "input",
      "alias": ""
    }
  ]
}

Why are the changes needed?
This can be useful for moving this computation from drivers to executors if the Python is expensive.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
This PR adds SQL query golden file test coverage.
Was this patch authored or co-authored using generative AI tooling?
No.

cc @allisonwang-db @ueshin 👀 ❓

cc @allisonwang-db @ueshin friendly ping, this is ready for review

I am going to close this since I am getting no response on the PR; will reopen later if we want to implement this feature.


Replace dotnet runtime with SDK

ResX compilation works by creating a .csproj with the resx file as an embedded resource. When compiled (using GenerateResourceTask), it will create the .resources file that can then be embedded in the csharp lib/binary. To compile the csproj, we need the dotnet sdk.
Downloading the dotnet SDK on windows (dotnet-sdk-windows) takes around 86 seconds, and goes from ~45 MB (runtime + compiler) to ~110-150 MB (depending on OS).
Related to #10 and #96

@omsmith you cool with this?


radium/node_modules/babel/index.js didn't return a function

When using "radium": "^0.15.3" with "webpack": "^1.12.9", Webpack cannot bundle my React component, and show the following error:
Version: webpack 1.12.9
Time: 7891ms
   [0] multi main 52 bytes {0} [built]
    + 70 hidden modules

ERROR in Loader /Users/andyccs/Codes/sqat-stylechecker/website/node_modules/radium/node_modules/babel/index.js didn't return a function
 @ ./~/radium/lib/index.js 9:16-37

ERROR in Loader /Users/andyccs/Codes/sqat-stylechecker/website/node_modules/radium/node_modules/babel/index.js didn't return a function
 @ ./~/radium/lib/index.js 17:33-74

ERROR in Loader /Users/andyccs/Codes/sqat-stylechecker/website/node_modules/radium/node_modules/babel/index.js didn't return a function
 @ ./~/radium/lib/index.js 21:23-52

ERROR in Loader /Users/andyccs/Codes/sqat-stylechecker/website/node_modules/radium/node_modules/babel/index.js didn't return a function
 @ ./~/radium/lib/index.js 25:16-38

ERROR in Loader /Users/andyccs/Codes/sqat-stylechecker/website/node_modules/radium/node_modules/babel/index.js didn't return a function
 @ ./~/radium/lib/index.js 29:17-39

ERROR in Loader /Users/andyccs/Codes/sqat-stylechecker/website/node_modules/radium/node_modules/babel/index.js didn't return a function
 @ ./~/radium/lib/index.js 33:21-48

ERROR in Loader /Users/andyccs/Codes/sqat-stylechecker/website/node_modules/radium/node_modules/babel/index.js didn't return a function
 @ ./~/radium/lib/index.js 13:15-35

To solve this problem, I have to manually remove ./node_modules/radium/node_modules/babel folder from ./node_modules/radium.
Why "babel": "^5.8.23" is included in dependencies section of package.json?

Note: This commit has replace babel dependency with a list of babel 6 dependency.

Babel is in dependencies so that Radium works fine when npm installed directly from git, because the lib directory then needs to be built in postinstall. Can you provide a minimal repo with your setup so that I can reproduce the issue? Thanks!

Here is the minimal repo: https://github.com/Andyccs/radium0.15.3issue484
To reproduce the bug
npm install
webpack

To resolve the bug
rm -rf node_modules/radium/node_modules/babel
webpack

# In MAC OSX
open public/index.html

In you webpack.config.js you need to exclude node_modules/ directory:
var node_modules_dir = path.resolve(__dirname, 'node_modules');
...

module.exports = {
  ...
  module: {
    loaders: [{
      test: /\.js$/,
      exclude: [node_modules_dir], // I miss this line!
      loaders: ['babel']
    }, ...]
  },
  ...
};

Alternatively, only include your source directory:
include: path.join(__dirname, 'src')


server-settings.json missing

root@mc:/opt# service factorio update
Could not find factorio server settings file: /opt/factorio/data/server-settings.json
Update your config and point SERVER_SETTINGS to a modified version of data/server-settings.example.json
I just revived my old Factorio 0.12.30 headless server to update it to 0.13.x
To make things easy, I first updated your init-script (git pull) and then tried to update my "old" Factorio installation "service factorio update". But that only gave me the above error message. I assume that file is new with 0.13.x ? If so, how would be the correct update path? Can't I use your script together with the update in this case?

My bad, found all information here:
https://wiki.factorio.com/index.php?title=Multiplayer#How_to_List_Your_Server-Hosted_Game_on_the_Matching_Server


use nalgebra library

switch to use getitem/setitem instead of x/y
use nalgebra vector2 internally

Thank you!


The definition and discussion around "default array index data type" is missing

The context is when returning indices and/or counts of array elements the unique_*() APIs may have to promote the data type of the returned array (=default integer type) depending on the situation, so they should have been using "default array index data type" instead.
IIUC the term "default array index data type" is still referred to by some functions like argsort(), but

it's never defined properly (originally added in #57)
I could be wrong but the discussion around its behavior (specifically, when to promote) is still missing
it's removed from the "Data Types" section in #206 and becomes a lingering term

Copying @kgryte from https://github.com/data-apis/array-api/pull/317#discussion_r744323060:

Originally, when writing the unique specification, the output dtype was the "default index data type". I wonder if we need to revive that distinction. Namely, that an array library should have three default data types:

floating-point data type
integer data type
index data type

Here, having a default index data type makes sense, as counts should align accordingly (i.e., a count should never exceed the maximum array index).
Furthermore, while it may often be the case that indices will have the same dtype as the default integer dtype, this need not be the case. For example, indices may be int64, while the default integer dtype could be int32 due to better target hardware support (e.g., GPUs).

Relevant part of NumPy docs here: "The native NumPy indexing type is intp and may differ from the default integer array type. intp is the smallest data type sufficient to safely index any array; for advanced indexing it may be faster than other types."
Overview of integer types I always refer to: https://github.com/scikit-learn/scikit-learn/wiki/C-integer-types:-the-missing-manual
This has always been quite confusing. NumPy doesn't really explain it in its docs, and without making it a first-class concept and just saying "returns integer array" it will be unclear for example in what cases a function returns 32-bit integers rather than 64-bit.

I could be wrong but the discussion around its behavior (specifically, when to promote) is still missing

I would recommend that it does not become a separate type, rather than it's either int32 or int64. With the only difference being that the "indexing default" may be something like "int32 on 32-bit platforms, 64-bit otherwise".
If it's done like that, no separate casting rules are needed.

@rgommers Agreed. I'll submit a PR with the proposed specification guidance.


USD to SDF: Apply rigid body to Model not to Link

Signed-off-by: ahcorde<EMAIL_ADDRESS>🦟 Bug fix
Summary
Applied rigid body to Model not to Link. Without this fix the link will update the position and not the model generating wrong behaviour in Issac Sim Physics
Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[x] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

Codecov Report

Merging #889 (6129764) into sdf12 (17764dd) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##            sdf12     #889      +/-   ##
==========================================
- Coverage   88.16%   88.16%   -0.01%
==========================================
  Files         100      100
  Lines       14636    14635       -1
==========================================
- Hits        12904    12903       -1
  Misses       1732     1732

Impacted Files
Coverage Δ

usd/src/UsdTestUtils.hh
99.00% <ø> (-0.01%)
:arrow_down:

usd/src/sdf_parser/Link.cc
61.84% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 17764dd...6129764. Read the comment docs.

@osrf-jenkins retest this please

This pull request has been mentioned on Gazebo Community. There might be relevant details there:
https://community.gazebosim.org/t/new-ignition-releases-2022-04-13-fortress-edifice/1367/1


test: mock enquirer in typescript tests

Types of changes

[x] Bug fix (a non-breaking change which fixes an issue)
[ ] New feature (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description

This resolves an issue with enquirer during testing (see here: https://github.com/enquirer/enquirer/issues/116)
Although the enquirer team are working on that issue, I think its still better to just completely mock enquirer in our tests. Unfortunately we cant use auto mocking here, due to some export magic in enquirer the prompt fn is not available in the automock
Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly. (PR: #)
[ ] I have added tests to cover my changes (if not applicable, please state why)
[ ] All new and existing tests are passing.

Codecov Report

Merging #5025 into dev will decrease coverage by 0.08%.
The diff coverage is n/a.

@@           Coverage Diff            @@
##            dev    #5025      +/-   ##
========================================
- Coverage    95%   94.91%   -0.09%
========================================
  Files        72       72
  Lines      2400     2400
  Branches    607      607
========================================
- Hits       2280     2278       -2
- Misses      100      102       +2
  Partials     20       20

Impacted Files
Coverage Δ

packages/vue-renderer/src/renderer.js
94.81% <0%> (-1.04%)
:arrow_down:

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 21e7936...87923f6. Read the comment docs.


Question on Backwards Mode

I aim to solve a final value problem. As I read the implementation, the backward mode would solve a final value problem, right? I need to ensure that t_start > t_end and t_eval go in descending order. Or have I misunderstood something, and I would need more significant modifications?

Hey, to solve a final value problem, you apply torchode as normal in forward mode, just making sure that the conditions you name hold. Backward is for backpropagation, i.e. computation of gradients, and has nothing to do with the direction in which you solve the ODE.
Best,
Marten


Add features to the individual rating tile component

Showing " I recommend this product" line.
Showing seller response if there is any.
Limit review body to 250 characters, and button to expand/collapse to review full review body.
Add thumbnail of review photos if there is any.
When click on photo, open a modal with full-resolution photo showing.
Trello ticket with gif attached: https://trello.com/c/FaThnbLf

@mutton808 @c4mino Feel free to take a look

Go Yina!! Awesome work.


How to remove a participant from an online meeting

Hello,
I would like to if it is possible to remove a participant from an online meeting?
I have an online meeting between 3 persons. The first one use the skype web control, the second one use your SDK in an UWP app and the last one use the skype mobile app.
I want to be able to remove the participant that use the smartphone skype application.
Is it possible? I try to get the participant and call eject or reject but it does not fire ParticipantDeleted event.
Thanks for your help
Jocelyn

According to the documentation it should remove the person from the conversation.
If you look at the http calls, are you getting any error? Any trace you could provide?

close for now with no update


seg fault on initial capture

Startup Camera Connector
Startup Camera Connector
Detected 1 camera! Connecting to camera 1
PORT INFO::
	type: 0
	name: (null)
	path: (null)
PORT INFO::
	type: 4
	name: Universal Serial Bus
	path: usb:001,019

Camera info:
Manufacturer: Sony Corporation
Model: ILCE-6000
  Version: 3.0
  Serial Number:<PHONE_NUMBER>0000003282681206708509
Vendor Extension ID: 0x11 (1.0)
Vendor Extension Description: Sony PTP Extensions

Capture Formats:
Display Formats: JPEG, Unknown(b301), ARW

Device Capabilities:
	File Download, No File Deletion, No File Upload
	No Image Capture, No Open Capture, Sony Capture

Connection Successful!
   camera getfile of capt0000.jpg
Segmentation fault

Happening on
https://github.com/BYU-AUVSI/a6000_ros/blob/4b11b349c5349a405d4662b95e948422de2eaa8d/src/camera_connector.cpp#L251
Something with exif retrieval. or the incoming buffer is empty...

yea the array is empty

HELLO:
https://github.com/BYU-AUVSI/a6000_ros/blob/d70071ab52c0941414b67f0f4240651a12b1e215/src/driver/trigger_capture.c#L81
file_free invalidates the buffer to the file. how the crap this was working before I have no idea....


Tags applied to schema fields are not indexed

Reporting on behalf of a community member.
Describe the bug
I was trying to use the latest tagging feature introduced in v7. Wanted to check whether the tag indexing is done both on the dataset level as well as on the attribute level?
I applied the same tag on both dataset and attribute. But when I searched with tag filter, it returned just the dataset linked to it. This states the indexing happened just on the dataset level and not on attribute. Is my understanding correct?
To Reproduce
Steps to reproduce the behavior:

Add a tag to a schema field on a dataset
Search for the tag
Notice that dataset is not returned in list of results

Expected behavior
Datasets with their fields tagged should be searchable through the tag.
Screenshots

Solved!

fixed via #2491


10 % Android crash report

10 % of my downloads on the Play store are reporting this. Just released the app so we are talking about 200DL.
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

pid: 0, tid: 0 >>> com.blabla.mygame <<<
backtrace:
#00  pc<PHONE_NUMBER>015d90  /vendor/lib64/egl/libGLESv2_mtk.so
#00  pc<PHONE_NUMBER>01598c  /vendor/lib64/egl/libGLESv2_mtk.so (glBlitFramebuffer+5320)
#00  pc<PHONE_NUMBER>59a960  /data/app/com.blabla.mygame-Xolq8RmvNqlgg==/lib/arm64/libgodot_android.so
#00  pc<PHONE_NUMBER>e3b9d4  /data/app/com.blabla.mygame-Xolq8RmvNqlgg==/lib/arm64/libgodot_android.so
#00  pc<PHONE_NUMBER>e1a040  /data/app/com.blabla.mygame-Xolq8RmvNqlgg==/lib/arm64/libgodot_android.so
#00  pc<PHONE_NUMBER>183ab8  /data/app/com.blabla.mygame-Xolq8mvNqlgg==/lib/arm64/libgodot_android.so
#00  pc<PHONE_NUMBER>155434  /data/app/com.blabla.mygame-Xolq8mvNqlgg==/lib/arm64/libgodot_android.so (Java_org_godotengine_godot_GodotLib_step+184)
#00  pc<PHONE_NUMBER>03d1d0  /data/app/com.blabla.mygame-Xolq8RmvNqlgg==/oat/arm64/base.odex (offset 0x3d000) (org.godotengine.godot.GodotLib.audio [DEDUPED]+144)
#00  pc<PHONE_NUMBER>002298  /dev/ashmem/dalvik-jit-code-cache (deleted)
Godot version:
3.2.3
OS/device including version:
Oppo A1k  Android 9 (SDK 28)
Huawei Honor 8A Android 9 (SDK 28)
Issue description:
NA
Steps to reproduce:
Not sure but the app contain one particle system and uses GLES3
Minimal reproduction project:
NA

Not sure but the app contain one particle system and uses GLES3

Use the GLES2 renderer and CPUParticles on Android. Lots of Android devices have poor support for the current GLES3 renderer.
I'll close this since we can't do anything without a minimal reproduction project. The backtrace isn't useful as it doesn't contain debug symbols.

ok I will switch to GLES 2 and report back thank you so much for the prompt reply !!!


fix serialized_existing_memories dump field bug

Fixes # (issue)
fix serialized_existing_memories dump field bug

Fixes #1648  #1645

Hey @boss-mao Can you please sign the CLA?

Hey @boss-mao Can you please sign the CLA?

I have already signed CLA

Hey @boss-mao Can you please sign the CLA?

sign the CLA

@boss-mao Thanks for your contribution.


Page down allows editor to go into uneditable space

For a short file (less that E.screenrows), PAGE_DOWN allows the cursor to go to uneditable lines. In some cases, writing to these lines causes a segmentation fault.

Thanks! Another nice catch.


SELinux integration to infra client

Adding SELinux resources to core chef infra client
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[x] I have read the CONTRIBUTING document.
[x] I have run the pre-merge tests locally and they pass.
[x] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
[x] All commits have been signed-off for the Developer Certificate of Origin.

@neha-p6 can you fix the linting and spellchecking issues too?


[misc] Add Table of Contents

README.md :

should get Table of Contents
links insted of e.g. "see Caching"

done.


Add Mutation APIs Proto-Related Materials

This PR adds the related proto messages and service APIs to allow monitors interaction.
Partial #59.

Codecov Report

Merging #570 into master will decrease coverage by 0.22%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #570      +/-   ##
==========================================
- Coverage   59.94%   59.72%   -0.23%
==========================================
  Files          30       30
  Lines        2142     2150       +8
==========================================
  Hits         1284     1284
- Misses        589      597       +8
  Partials      269      269

Impacted Files
Coverage Δ

core/keyserver/keyserver.go
41.17% <0%> (-2.58%)
:arrow_down:

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 a966ba3...910e841. Read the comment docs.

Let's setup a 1:1 to chat.

PR is updated to address the comments. PTAL.


Add header line obs-folding option to C API

Add a connection option to allow HTTP/1 obsolete line folding of headers in the C API. This option already exists in hyper, the task is simply to expose it on the C API side. This will help with curl tests 1274 and 1940.

This was done in #2918.


[Fix] Testimonials Dark Mode

Testimonial text disappears in dark mode.

Hi @brittneypostma, I'd like to solve this bug. Can you please assign it to me?

Fixing it.


Error using clang-format to format C code

Description
Running beautify on a C file results in the following error:
EACCES: permission denied, open '.atom-beautify.undefined'

Only happens when I set the beautifier to use clang-format instead of uncrustify.
Steps to Reproduce

Configure settings to have atom-beautify use clang-format as the default beautifier for C.
Run command Atom Beautify: Beautify Editor

Debug
Here is a link to the debug.md Gist: https://gist.github.com/8ea99e9ec77ff7450e8288233698a55f
Checklist

[x] I have tried uninstalling and reinstalling Atom Beautify to ensure it installed properly
[x] I have reloaded (or restarted) Atom to ensure it is not a caching issue
[x] Searched for existing Atom Beautify Issues at https://github.com/Glavin001/atom-beautify/issues
so I know this is not a duplicate issue
[x] Generated debugging information and added link for debug.md Gist to this issue

Here is a link to the debug.md Gist: https://gist.github.com/8ea99e9ec77ff7450e8288233698a55f

2016-12-15T18:28:19.936Z - debug: [beautifiers/beautifier.coffee] dumpToFile .atom-beautify.undefined { Error: EACCES: permission denied, open '.atom-beautify.undefined'
at Error (native)
errno: -13,
code: 'EACCES',
syscall: 'open',
path: '.atom-beautify.undefined' } undefined

Looks like the applicable code is:

https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/clang-format.coffee#L67
https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/clang-format.coffee#L25-L38

This was implemented in Pull Request https://github.com/Glavin001/atom-beautify/pull/546.
@ProgramFan may be the best person to assist with debugging this issue.
The simple answer is Atom does not have the appropriate permissions to the directory.
Try changing the permissions: http://stackoverflow.com/a/38324155/2578205

chmod a+w <folder>

I can not reproduce the issue on macOS with atom 1.12.7. When the file is not saved, atom-beautify complains about no beautifiers. When the file is saved as test.c, the beautifier works correctly.
I don't know why your file get an name of 'undefined'. Maybe you have not created any project in atom yet? Even in that case, '.atom-beautify.undefined' shall be created correctly if you have write permission on the working dir.
So would you check your environment as in @Glavin001's reply?

I'm closing this for now. It can be reopened once @anandsuresh replies to above comments.


Don't display the full list of hospitals by default

The complete hospital list isn't useful. It's just waaaay too long now (which is awesome, that there are so many). In some states (like DE), it's still short enough to be worthwhile when filtered by state, but in CA even the filtered list is way too long.
I think what makes more sense is to automatically filter the list to display what is shown on the map at its current zoom level. Adding a button to the filter selector for "Match map" is also an option, though since the whole "list matches map" paradigm is so common, I think that might be too much UX cruft.
Here's how to get the currently displayed points out of the map:
https://stackoverflow.com/questions/2906427/how-to-get-all-visible-markers-on-current-zoom-level

Hold off on this one for now. Let's figure out a solution for better sorting (by nearest to me), search, or filters before we start trimming the list.

Filters based on "Use my Location", "City, State" & "Zip Code" work reasonably well IMHO.

The Map View adjusts automatically to show donation sites even though they may be far away.
-- I checked a few locations and even for (say) Montezuma, IA or St. Croix, IN the map view was zoomed out to show the nearby donation sites

Additional filter widgets for consideration:

Move the State filter option to "State" pulldown next to the "Use my location" option. Even remove the State option as I am not sure how it helps the donor
"Filter by Accepted Items" is the other important filter (other than City, State or Zip code) but is getting lost below the "State" filter
"Use my Location" & State filters are are working at the same time. Should be mutually exclusive
Couldnt find a way to uncheck the state after I clicked on one
Add "Find Nearest Donation point" link next to the "Use my Location" link which will give the nearest locations based on distance IF "Address, City, State" or "Zip Code" was provided

Additional actions can be provided there including "Address", "Get Directions" & Filter based on "Type of PPE accepted"

Add a "Reset filters" link

Other considerations:

Remove the full list of hospitals. Only show donation points based on the filters

Will think of the UI/UX a bit more. The single page works great at the moment

I am closing this issue as we have infinite scroll which seems to be working well and improving performance! 🚀


Add libunwind to Heroic and Steam FHS envs

Description of changes
In recent bleeding-edge versions of Wine and Proton, ntdll.so needs libunwind.so.8.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

nixpkgs-review produces an error for steam-run, but I can build it with nix-build -A steam-run, and it runs just fine.
error: build log of '/nix/store/4v2xr2k4k5wzlrzf3mn1sn7d9ld8g6w3-steam-run.drv^*' is not available

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/2848

Result of nixpkgs-review pr 262184 run on x86_64-linux 1

2 packages marked as broken and skipped:

heroic
itch

15 packages built:

game-rs
kodiPackages.steam-launcher
lutris
minigalaxy
minigalaxy.dist
playonlinux
protontricks
protontricks.dist
steam (steamPackages.steam-fhsenv)
steam-run
steam-small (steamPackages.steam-fhsenv-small)
steam-tui
steamPackages.steam-fhsenv-without-steam
steamcmd (steamPackages.steamcmd)
xivlauncher

heroic is stuck on an EOL'd Electron version until upstream updates to work with current Electrion, and Itch is pinned to Electron 11 for some reason.

seems heroic build fails for everything except x64-linux. though the failures do not appear to have anything to do with libunwind.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/1198


[FEATURE] Add Harvester API extension to the Rancher API

Is your feature request related to a problem? Please describe.
Add Harvester API extension to the Rancher API, so that Rancher can do reverse proxy of the Harvester API
Describe the solution you'd like
Uses Rancher APIExtension mechanism to provide rancher and Harvester API integration
Describe alternatives you've considered
N/A
Additional context

These are the issues I've found so far

I'm trying to register an apiRoot with id v1/harvester, so that APIs are served under /v1/harvester/some.apigroup.io.resources while the rest like schemas is compatible.
The X-API-URL-Prefix header is added in https://github.com/rancher/rancher/blob/92b822fb2e1437a7bacb7a5a65ab5fc02608a7f3/pkg/api/steve/aggregation/aggregation.go#L103
Then it becomes the prefix in https://github.com/rancher/apiserver/blob/f943376c4b42cd1c38acc4bd085aa7bf44305b64/pkg/urlbuilder/base.go#L14
As a result, the /v1/harvester path is duplicated.

(Should we remove the header in aggregation.go#L103?)

I run an aggregation client in a downstream cluster and apply the following apiservice

kind: APIService
apiVersion: management.cattle.io/v3
metadata:
  name: harvester
spec:
  secretName: harvester-aggregation
  secretNamespace: harvester-system
  pathPrefixes:
    - /v1/harvester

The aggregation client reports
time="2021-06-21T03:29:18Z" level=error msg="Failed to dial steve aggregation server: x509: certificate is valid for <IP_ADDRESS>, not <IP_ADDRESS>"

As a workaround if TLS validation is skipped then the aggregation works.

I try to import harvester with embedded rancher to a central Rancher to test how that works. Cluster importing is not working on master-head(blocked by https://github.com/rancher/dashboard/issues/3120)

cc @ibuildthecloud

To test:

Install Harvester. Set the rancher-enabled setting to true. Check that Harvester APIs are served under both <Rancher_URL>/k8s/clusters/local/v1/harvester and <Rancher_URL>/v1/harvester
Install Harvester. Install an external Rancher(master-head). Import the Harvester cluster to the external Rancher. Check that Harvester APIs are served under <Rancher_URL>/k8s/clusters/<cluster-id>/v1/harvester
Do sanity check on the extension Harvester APIs. Check that CRUD virtualmachines/calling VM actions works.
Check authn/z on the APIs. Create Rancher users with different roles(admin,cluster member, project owner/member,readonly, etc.) and check that their access to the APIs comply with their permissions.
Check that basic operations in the UI are not broken.

@gitlawr On test step 4: does it apply to both embedded Rancher and MCM (Multi-Cluster Management/external) Rancher?

Tested with Rancher at master-head and harvester at master-ff3c1994-head. Import of harvester backend rancher was imported successfully into separate rancher install done via Docker install on rancher/rancher:master-head.  Tested at

<Rancher_URL>/k8s/clusters/local/v1/harvester`  on harvester rancher
<Rancher_URL>/v1/harvester on harvester rancher
<Rancher_URL>/k8s/clusters/<cluster-id>/v1/harvester on separate rancher

Created new VMs and verified that they showed up properly in both rancher instances.

To clarify, step 4 refers to the external Rancher users/APIs. Per discussion, we only support a single admin user in embedded Rancher.

Tested with Rancher at master-head and harvester at master-ff3c1994-head.

<Rancher_URL>/k8s/clusters/local/v1/harvester and <Rancher_URL>/v1/harvester OK

With External Rancher:
curl to https://<External_Rancher_URL/k8s/clusters/c-m-d6802fa2/v1/harvester with API token

TBD
TBD
TBD


Documentation correction for create container error

[x] The purpose of this PR is explained in this or a referenced issue.
[x] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[x] Updates to module CHANGELOG.md are included.
[x] MIT license headers are included in each file.

Tests for this already check for "ContainerAlreadyExists" error, so no need to change the tests, only the documentation change is required.
https://github.com/Azure/azure-sdk-for-go/blob/ba0c64bdf015f2e5a96ecfb18cd0e1ca9920431c/sdk/storage/azblob/container/client_test.go#L158


Add tests for DemandApi endpoints

Description
This PR adds unit tests for the DemandApi class and covers various endpoints related to demand data, including actual total load, daily outturn, and streaming data. The new tests cover scenarios including successful API calls, empty responses, error handling, and parameter validation.
Changes
Added following  test methods in the TestDemandApi class:

test_demand_actual_total_get
test_demand_outturn_daily_get
test_demand_outturn_daily_stream_get
test_demand_outturn_daily_stream_get_empty
test_demand_outturn_daily_stream_get_error
test_demand_outturn_get
test_demand_outturn_get_empty
test_demand_outturn_get_error
test_demand_outturn_get_with_parameters

Testing
To run the new tests:

Navigate to the project directory
Run python -m unittest test_demand_api.py

Checklist:

[X] My code follows OCF's coding style guidelines
[X] I have performed a self-review of my own code
[X] I have checked my code and corrected any misspellings

Also, could you run the tests with pytest please

Ill close this, as we decided to do it a different way


fixes #40

records is 1 or 0 and not the document updated, that's why we can't access _id
Check if we got an error and if yet log it
Then check if result is 1, which indicates the document was updated, and if yes write the response

Superseded by #45


Create GitHub workflow for Project Management 🎠

Description
There are a growing number of contributors and issues, and sometimes issues that are picked up by contributors are left unworked on for extended periods of time. We'd like to more easily manage how long issues are left assigned without any updates. The solution? Let's implement a GitHub Actions workflow that will leave warnings and unassign issues.
Acceptance Criteria
The bot should

leave a warning message on any issues that have not had any activity in the past 2 weeks
unassign issues that have not had any activity in the past 3 weeks (excluding the 2-week warning message)
the bot should never close issues-only unassign

Additional Context
There are a few existing GitHub actions that can be useful for implementing this bot:
Close Stale Issues
Unassign contributor after days of inactivity
See an example of implementing a (somewhat) similar workflow here.
Testing: testing workflows can be tricky to do directly from this repository. The best way to test this would be to work on this from within your forked repo, where you can then have infinite test runs of the workflow without requiring any approvals or affecting the existing issues in the main repo.

mine @tomas-salgado