How do I remove all files associated with a specific .git repository?

So I've been testing out Git-LFS for game development related needs and it seems pretty good, but there's a few issues I've been having.
I'm using GIT-LFS with a locally hosted GitLab server which contains all of the versioned content files. This is great, but when I remove remove a project from GitLab it will apparently keep a lot of those files sitting around on my harddisk leading to wasted resources.
For this reason, I've been trying to find if there's a way to remove all files associated with a git repository before I remove it from my repository server. This is kind of a deal breaker for our use case because game assets can take up a large amount of space and the idea of prototype builds taking up hard drive space while they are no longer being managed is just not feasible on our (relatively) small hard drives.
So my question: Is there a way to completely remove all LFS objects associated with a specific .git repository? Or maybe even (ideally) a way to archive them temporarily? I tried navigating to my LFS object container folder in hopes that the files would first be sorted by project, and then by hex pointer ids, but it turns out that there's not a single human readable folder there for managing the files associated with a specific git repository. Would lfs purge remove files that are no longer referenced by any .git repository?

You can run git lfs prune to remove objects from your local .git/lfs/objects directory. Here are the rules it uses to decide what to delete: https://github.com/github/git-lfs/blob/master/docs/man/git-lfs-prune.1.ronn

I may understand this incorrectly, but git prune only seems good when it comes to removing old files that exist in previous commits. This is useful, but it doesn't help with removing all files associated with a specific project.
Unless, of course, I could untrack all of the objects, add them to a git ignore instead, commit, and then prune to remove all the objects that existed previously?

Currently, LFS expects there to be objects to go with all of the blobs that you checkout. So currently, the only way to deal with this is rebasing your repository (https://help.github.com/articles/remove-sensitive-data/), and hoping your LFS server has a way to purge the objects.
I can see this being rather inconvenient though. This actually came up a couple times talking to devs at GDC a couple weeks ago. I have some ideas on a proposal that I'll post soon. I'd like to get some feedback from you though.

How would you, as a user, want to purge LFS objects?

Would you purge a specific version of a file?
Would you purge ALL versions of a file?
Would you want to purge a range of versions? Maybe keep weekly checkpoints of active files or something.

Do you want the ability to set policies on files, file types, or directories?

Keep n versions of a file.
Keep periodic (daily/weekly/monthly) checkpoints of files

What would you expect Git LFS to do if it can't download a file that's been purged?

Pointer file
Nothing

What would you expect Git LFS to do if it can't download a file due to some server issue?

Halt current checkout/clone/pull command
Pointer file
Nothing

Thanks for posting this feedback!


Re-Global Dynamics - no change seen

Hi Alexis, I feel really dumb having to ask how-to, I appreciate the time your taking.
As I could not get it working on my test project, I did a fresh install of everything,
then as using your example, I simplified it, to see what's going on.
I'm not seeing any changes when dynamically adding CSS properties in the Global Scope.
In my example, if I replace the const values with hardcoded values all is good.
import { css, StyleRegistry } from "solid-styled";

function ToggleButton() {
  const globalButton = "blueviolet";
  const localButton = "yellowgreen";
  css`
    :global(button) {
      width: 50vw;
      padding: 0.5rem;
      border: none;
      color: white;
      font-size: 2rem;
      border-radius: 0.5rem;
      background-color: ${globalButton};
    }
    button {
      background-color: ${localButton};
    }
  `;
  return <button type="button">Local Button</button>;
}

function Main() {
  css`
    :global(body) {
      display: flex;
      align-items: center;
      justify-content: center;
    }
  `;

  return (
    <>
      <ToggleButton use:solid-styled />
      <br />
      <button type="button">Global Button</button>
    </>
  );
}

export default function App() {
  return (
    <StyleRegistry>
      <Main />
    </StyleRegistry>
  );
}

What have I missed here? Thanks.
P.S. I used the vite plug-in, not the unpluggin. (Thanks for the peer updates)

I mentioned it in the release notes. https://github.com/lxsmnsyc/solid-styled/releases/tag/v0.10.0

Since :global and @global are still declared in a "local sheet", their behavior will remain as-is. In the future, this behavior might be fixed for consistency.

Ok that was a big misunderstanding as you said "Great that I found a workaround. Wait for a new minor release in a couple of days." Why was the thread closed, if there was no fix?

OK I will leave this alone now. Thanks for your time though.

The original thread was about <style jsx global>. With the attribute, it's easier to decide what to do with it and so the issue was indeed fixed.
css has a different mechanism compared to the jsx counterpart. Of course, the feature set might be similar however there was no way for me to actually extract which styles are global vs which isn't, which is why I added the reminder that the behavior would remain the same (regardless if it was the style element or the tagged template).

Thank you, sorry for getting frustrated, <style jsx global>  does work as intended, I was blind but now I see.


NssGrid should write to FITS files appropriately

The NssGrid object is currently optimized for HDF5 data files, but It will need to read and write to/from FITS files for compliance with HEASARC.
This should be doable, since NssGrid is an extension of Astropy Tables, which have robust support for writing to FITS files (and other formats).

[x] NssGrid writes to FITS for pexit
[x] NssGrid writes to FITS for tauCDF

Convert to fits / hdf5 / text other formats supported by default for pexit & cdf


Fix  #724

Fix error when plot Gene with 0 mutations in one group #724  & add a showLegend option.

Wait until the regarding issue closes.


Document empties when new user joins the room with y-websocket

I have bumped into weird behaviour where document goes empty when new user joins the room. This happens with valtio-yjs and y-websocket. I have following state:
import { proxy } from "valtio";
import { bind } from "valtio-yjs";
import * as Y from "yjs";
import { WebsocketProvider } from "y-websocket";

export const state = proxy<{
  someArray: { id: number; value: number }[];
  counter: number;
}>({ someArray: [], counter: 1 });

const ydoc = new Y.Doc();
const provider = new WebsocketProvider(
  "wss://demos.yjs.dev",
  "cat-123",
  ydoc
);

const ymap = ydoc.getMap();

bind(state, ymap);

I also have a simple UI with single button which pushes objects to that someArray. Lets say I click three times the button and there will be three objects now on the array as expected. Now open another browser (this is critical, completely another browser). Open the same page and array content will disappear, both from new browser and old one. If it does not disappear try refreshing the new browser. Sometimes it magically starts to work and it become harder to reproduce, but if you change the room id you will be able reproduce this again.
I tried to make as simple as possible example here https://codesandbox.io/s/cranky-meadow-d0jleb
I guess this doesn't happen if I use object instead of array (someArray: [] => someObject: {})? Is ok to use arrays with nested objects inside ymap?

I guess this doesn't happen if I use object instead of array (someArray: [] => someObject: {})?

Then, it sounds like a bug... cc @PhilGarb

Is ok to use arrays with nested objects inside ymap?

Yeah, it should be.

Ok, It might has something to do with the way I initialize the proxy state:
export const state = proxy<{
  someArray: { id: number; value: number }[];
  counter: number;
}>({ someArray: [], counter: 1 });

If I initialize proxy state with empty object it seems to work (although I cannot be 100% sure since reproducing this is sometimes difficult)
export const state = proxy<{
  someArray: { id: number; value: number }[];
  counter: number;
} | {}>({});

Probably, something doesn't work well for bind() initialization.

Published: https://www.npmjs.com/package/valtio-yjs/v/0.4.1


[request] Downloading

Hello, is any way to could use it without need of know nodejs nor need to install it?
I mean an app or web where one can easily download?
Do you know any way to extract and inject them on our  dream copy?
Thanks!

This is a proxy that gets around the auth restrictions on the indreams.me website to fetch details about the levels, it can't get the level data itself. It's a technical tool, therefore it doesnt make sense to provide an "easy" version - it wouldn't have any use for non technical people.
I dont know of any way to inject levels into the game and haven't poked around with it for a long time


Bad completions for string literal type as indexed access type object

Found while reading over #39697
let x: ""["bar"]

Request completions inside of "" and you'll get the names of every propery on String. What's happening is that we're not checking to see if the current string literal type is the argument type (as opposed to the object type itself).
Learning how this works might be a bit involved, but the fix is easy: add fourslash tests, add a single if check at https://github.com/microsoft/TypeScript/blob/d75894d85b8fd5f83116d3c02b5ba30a62af4348/src/services/stringCompletions.ts#L117-L124

@DanielRosenwasser I would like to take this issue as my first issue. Here are the fourslash tests I have currently: fourslashTests. Am I going in the right direction? Thank you

I haven't used the array versions of marker, but if that test is currently failing on the first verify call, I think you're on the right track!

Has the issue been resolved?

Has the issue been resolved?

@denismaxim0v No, I am still on it

Thanks @Vboivin!


Feature/better autoloader handling

These commits achieve several things:

First, they omit autoloaders and the superluminal module from caching, which corrects some errors I was seeing.
Second, they munge DIR in cached file contents to resolve to the directory the original class file occurred in (fixes issues with retrieving module configuration and/or classmaps).
Third, the code now allows appending the cache, which means you can gradually build the cache over a number of requests.
Finally, the require_once for the cache file should now occur after the autoloader factory runs, in order to ensure that classes referenced by cached files but not cached themselves may be discovered. (edge case)

I've tested on a local copy of my site, and all is working correctly now. I'm only seeing ~10% gains, but even a 10% gain is worthwhile.

Merged. Great additions, thanks!


scmpuff: init at 0.3.0

scmpuff is a tool to make working with git easier by making it possible
to refer to filenames using numeric shortcuts

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

pinging @worldofpeace for merging :)


Think minor import error due to case 'b' to 'B'

Error with line 18
Traceback (most recent call last):
File "./booLet12.py", line 18, in
from src.booLetLib import *
Need to either change the bootLet12.py code to src.BootLetLib  or change the python script in ./src/bootLetLib
Making the change fixed the problem for me.

Additionally in line 224 of bootLet12.py another case sensitivity "L" to "l"
fichier=script_path+"/booLet_extres/ASLlist.txt"
In the ./bootLet_extres directory the file is ASNlist.txt

Tied today, I've the same issue :
$ python booLet12.py --import /path/to/files/access*
Traceback (most recent call last):
File "./booLet12.py", line 18, in
from src.booLetLib import *
ImportError: No module named booLetLib

oops sorry, I missed your comments. I fix it asap


Travis often hangs on ttw tests

Not infrequently, a build will fail at Travis due to the 10 minute timeout. Restarting the build generally fixes it. From what I've observed, the tests hang on the ttw tests. I think I've been able to observe this behavior locally as well, so perhaps this is debuggable. In the mean time ... restart build!

Ah! We do have an AWS S3 dependency: the GitHub ribbon.
AWS is having an issue with S3 right now:

Update at 10:33 AM PST: We're continuing to work to remediate the availability issues for Amazon S3 in US-EAST-1. AWS services and customer applications depending on S3 will continue to experience high error rates as we are actively working to remediate the errors in Amazon S3.

(Their status reporting is terrible, so I can't link to a specific incident report.)

GitHub failed to post my screenshot of our S3 dependency, leading me to wonder whether they have an S3 dependency as well. ;-)

Yeah, ttw tests proceed with normal slowness when I remove the ribbon.

Sounds to me like another reason to have a knob to turn off report-uri.io in development/CI.

This is really slowing me down.

Would host github ribbon on our own help?

I don't think it's the ribbon that is slowing us up, I think it's report-uri.io. Need to confirm though ...

The thing is that we want to test report uri, but maybe not all the time.

But really it's not like we ever want to block page loading on report-uri.com. Is there something wrong with our implementation?

Perhaps related to #4322?

Looks like in #4390 this is not due to the CSP violation from the GitHub ribbon. That actually makes sense, since that was affecting Firefox only, and we use PhantomJS (WebKit ~= Chrome) at Travis.

I usually run the ttw tests locally using Chrome. Can I repro w/ PhantomJS?

Hmm ... different than hang. :thinking:
Traceback (most recent call last):
  File "/Users/whit537/personal/gratipay/gratipay.com/tests/ttw/test_trim.py", line 14, in test_trim_strips_all_unicode
    assert self.trim('Úaø¶') == 'a'
  File "/Users/whit537/personal/gratipay/gratipay.com/tests/ttw/test_trim.py", line 10, in trim
    return self.js("window.Gratipay.trim('{}')".format(val))
  File "/Users/whit537/personal/gratipay/gratipay.com/gratipay/testing/browser.py", line 73, in js
    return self.evaluate_script(code)
  File "/Users/whit537/personal/gratipay/gratipay.com/env/lib/python2.7/site-packages/splinter/driver/webdriver/__init__.py", line 199, in evaluate_script
    return self.driver.execute_script("return %s" % script)
  File "/Users/whit537/personal/gratipay/gratipay.com/env/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 465, in execute_script
    'args': converted_args})['value']
  File "/Users/whit537/personal/gratipay/gratipay.com/env/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "/Users/whit537/personal/gratipay/gratipay.com/env/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
    raise exception_class(message, screen, stacktrace)
WebDriverException: Message: {"errorMessage":"Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: \"script-src 'self' assets.gratipay.com 'unsafe-inline'\".\n","request":{"headers":{"Accept":"application/json","Accept-Encoding":"identity","Connection":"close","Content-Length":"129","Content-Type":"application/json;charset=UTF-8","Host":"<IP_ADDRESS>:63194","User-Agent":"Python-urllib/2.7"},"httpVersion":"1.1","method":"POST","post":"{\"sessionId\": \"737b2390-10be-11e7-a20f-6d0e1704f4cf\", \"args\": [], \"script\": \"return window.Gratipay.trim('\\u02daa\\u00f8\\u00b6')\"}","url":"/execute","urlParsed":{"anchor":"","query":"","file":"execute","directory":"/","path":"/execute","relative":"/execute","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/execute","queryKey":{},"chunks":["execute"]},"urlOriginal":"/session/737b2390-10be-11e7-a20f-6d0e1704f4cf/execute"}}
Screenshot: available via screen

================================= 13 failed, 7 passed in 48.98 seconds ==================================
[gratipay] $

[gratipay] $ phantomjs --version
2.1.1

Latest.

Moving to a PR in #4391 ...


add NHC-Link042

NHC-Link is flash programming tool.
Firmware based on STM32F042F6P6.

This PR is a very large PR for this repo.  I would love to support this programming mechanism one way or another.  That would be great, but I would rather interface to it, rather than be the host of the specific programmer.
Do you have code to show interfacing to it via USB?
Charles

you can see on https://github.com/NgoHungCuong/ch32v003fun/blob/master/NHC-Link042/main.cpp
and firmware https://github.com/NgoHungCuong/ch32v003fun/blob/master/NHC-Link042/Firmware/User/NHC_WCH_SDI.c
It is easy to use:
I use STM32F042 as USB to 1-wire adapter:

Init protocol: setup pin PA13 to output open drain ---> connect to CH32V003
Write 0xA0 to EP1
Deinit: setup pin PA13 to input
Write 0xA1 to EP1
Read debug register:
Write 0xA2 + register address (1 byte) to EP1
Read EP 0x81
Write debug register:
Write 0xA3 + register address (1 byte) + data (4 bytes) to EP1
Read memory location:
Write 0xA4 + address (32 bits) + bus width (8 bits, 16 bits, 32 bits...) to EP1
Read EP 0x81
Write memory location:
Write 0xA5 + address (32 bits) + data (32 bits) + bus width (8 bits, 16 bits, 32 bits...) to EP1
Detail in file https://github.com/NgoHungCuong/ch32v003fun/blob/master/NHC-Link042/main.cpp
Line 105 to 206

Firmware processing USB data:
https://github.com/NgoHungCuong/ch32v003fun/blob/master/NHC-Link042/Firmware/LibUSB/LibUSB.c
Line 358 to 405

Do you use Discord, @NgoHungCuong ?  I would like to discuss this.
Today I wrote an ESP32-S2 USB-based programmer.  I would like to support an STM32F042 programmer!
After my experiments today, a few things stood out to me:

I am much happier with the USB device being lower-level, in that it allows for scripted read / write and delays.
Are you able to use your device in Windows without any drivers or admin access?  I notice you are using a bulk endpoint instead of feature requests, I've never noticed that working?  Do you have an example of how to access it?
Side-note: In order to make get/set requests in Windows without a driver or admin access, you can add specific feature reports to your descriptor, see this: https://github.com/cnlohr/esp32s2-cookbook/blob/master/ch32v003programmer/components/tinyusb/tinyusb/src/class/hid/hid_device.h#L339-L357
I am still a little uncomfortable hosting a programmer inside this repo.  I am mostly interested:
a. In making a tool that can conveniently use any programmer, and expose a port to openocd, and/or GDB.
b. Supporting a tiny build environment/library for the CH32V003 so you don't need to haul around a mountain of HAL.
c. Maintaining a library that can use low-level commands ( NHC_WchSdi_Write/NHC_WchSdi_Read) to expose high-level functionality.
I really like one of the features of your code, that you have a sort of high-level "please do these things."  I like that it can be separated out from the underlying NHC_WchSdi_Write/NHC_WchSdi_Read.  And I think this would be wise.

What are your goals submitting the programmer to this project instead of having the programmer be its own?

Yes, @cnlohr
I would like to discuss this.

my discord id is ngohungcuong#6211


No-op pr to trigger image scan

Signed-off-by: Anxhela<EMAIL_ADDRESS>Related Issue:  stolostron/backlog#22453
Description of changes
No-op pr to trigger image scan

/approve
/lgtm


Don't set language prefix to url if there is only one locale

It will be great if url will not change if locales will have only one languag

It's a sensible request generally.
However, if you have only one locale, why use localize-router in the first place?

in my case, user can set up one or more langs in your profile
so, it is locales is dynamic

Well you still need to support n languages in this case, which means there should be multiple routes to the same page based on the language, right? :)

but if user set up only one language, I think it will be more correctly if url will still without lang prefix :)

Okay, let's see it from the point of a route.
Let's say you have for example /my-profile. In english it will stay the same, for german it would be /mein-profil and in french it would be /mon-profil.
It does not matter if your user has only set French for example, as the other possibilities still can be used by other users.
Or could you give an example?

Said user, I did not mean person that use application
I've mean user who set up you own application (like CMS)

Well, I can say that such functionality would most likely never be implemented because there are multiple unclear (and potentially breaking) scenarios:

if user goes to www.yoursite.com/person  which language should the application be rendered in if this word exists in both German and English language?
in order for application to apply translation and localization it has to load the correct translation file. If you provide only text e.g. mon-profil, we need to load all the languages to distinguish which one of them has this text (and then manually run route checking to see if it's even possible route) and then translate all the routes. All this while application is waiting in bootstrap loop. I can't even try to explain how (almost) impossible this is. Of course this only works in case scenario one does not happen
no link sharing would be possible, unless two users share the same language
etc.

Just from the top of my head, I'd say that quite a lot of good reasons to justify "annoyance" of language prefix.

Beside of that, if you as the user (setting up the application) decide to have just one language, why using localize-router? You decide the spectrum of languages so you should decide as well if the module is needed.

@Chuvisco88 so, you suggest check number of languages before bootstrapping of application?

@thebarada Just checked the code quickly... There is a possibility to enable this functionality if only single locale is provided in the config.
However, you have to understand that at the moment this has low priority and would require some additional changes which are planned only for the future version (spoiler: fully configurable localize-router).

@meeroslav ok, I've see you
if you'll include this functionality to future version - it will be great)
will waiting for update)


Make flutter upgrade handle hotfixes

We believe (though this is untested) that flutter upgrade will fail if it's not possible to fast-forward to the new state. This means it'll fail if we ever do a hot fix.
This is complicated by the way that we want to encourage people to make local changes to debug or work around bugs.
Proposed changes:
flutter upgrade should check to see if the current commit is a tag. If so, it should stash local changes (with a name like "flutter-upgrade-v1.1.1-to-v1.8.2), reset to the new state, and attempt to pop the stash. If the pop fails it should report it. If it's not a tagged commit it should fail. The failure should check the channel. If the channel is master or not a recognized branch name, then it should explain that to avoid the risk of destroying commits it has done nothing, and should encourage using git directly. If it's one of the recognized branch names it should explain that it is avoiding doing any damage but that if it's ok to remove local changes flutter upgrade --force can work around the issue.
flutter upgrade --force would bypass the check for a tag but otherwise work the same way. It would be documented as being dangerous if you have local commits.
cc @jonahwilliams @tvolkert @kf6gpe

Since it looks like you're working on this now, I'm going to put it in the April milestone. Thanks!!

This was reverted because not all of the git versions on cirrus support stash pop

We've confirmed that the tool changes are sufficient to upgrade to/through hotfixes. The changes to the process to accommodate the required force-pushing are being tracked by @kf6gpe

The process documentation has been updated with the necessary steps.
On Fri, Mar 29, 2019 at 2:00 PM Jonah Williams<EMAIL_ADDRESS>wrote:

We've confirmed that the tool changes are sufficient to upgrade to/through
hotfixes. The changes to the process to accommodate the required
force-pushing are being tracked by @kf6gpe https://github.com/kf6gpe
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/28898#issuecomment-478148268,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABXoRNGX0w04vn0-m8R0S-scfy2fHbNhks5vbn8HgaJpZM4bfML6
.


[basics] Explain a typical ink! Cargo.toml

Walk through a typical ink! Cargo.toml and explain the individual entries and dependencies.
There is already a placeholder site under basics/cargo-toml.

Already present in https://use.ink/basics/contract-template


Use SecRandomCopyBytes

This PR is a fix to #39 , which will remain open until things go live upstream and can be pulled into this codebase.
The fix allows enabling of tvOS and watchOS targets.
It modifies the SQLite3MultipleCiphers amalgamations to use SecRandomCopyBytes for darwin targets, in line with the fix expressed HERE.

ld: warning: object file (/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/konan_temp362426486075783839/result.o) was built for newer iOS Simulator version (14.0) than being linked (9.0)
Undefined symbols for architecture arm64:
  "_SecRandomCopyBytes", referenced from:
      _entropy in result.o
  "_kSecRandomDefault", referenced from:
      _entropy in result.o
ld: symbol(s) not found for architecture arm64

:thinking:


Default namespace is available to users when they dont have access to it.

What kind of request is this (question/bug/enhancement/feature request):
bug
Steps to reproduce (least amount of steps as possible):
In Rancher UI:
Create a cluster.
Create a cluster member and give access to cluster in Rancher UI.
Create a project and namespace as cluster member.
In dashboard:
Create a secret as type certificate as cluster member in default namespace.
Result:
By default, the Namespace field is the default namespace in the current cluster:

Once Namespace is clicked, Default disappears and dropdown has only accessible namespaces:

If one of these are selected, the default namespace cannot be returned to.
If Default namespace is left alone, secret creation errors with:
{ "type": "error", "links": {}, "code": "Forbidden", "message": "secrets is forbidden: User \"u-npwb2\" cannot create resource \"secrets\" in API group \"\" in the namespace \"default\"", "status": 403 }

This is expected to fail.
But the default namespace should not have been pre selected if the user can not access it.

Observed that cluster member has access to Default namespace [Cluster member should not have access to the Default namespace]
If a secret is created in the default namespace the following error is seen which is expected
{ "type": "error", "links": {}, "code": "Forbidden", "message": "secrets is forbidden: User \"u-d87mt\" cannot create resource \"secrets\" in API group \"\" in the namespace \"default\"", "status": 403 }

Observed the same issue when testing configmaps too. Default namespace is preselected in the form for users who do not have access to it.

The bug fix is verified with Rancher server rancher\rancher:master-head version df306e720
When a user does not have access to default namespace, an available namespace will be chosen starting with the first alphabetically.


Fix/universal resolver

The https://dev.uniresolver.io/1.0/properties endpoint which is the default url for the universal resolver changed recently and acapy failed to handle the response.
The patterns are now the keys of the json payload.

I need to figure out how to turn off the https check in sonarcloud. Doesn't really apply to this project very often.
Looks like the interop tests are working now...

I just realized that if a deployment is using a different universal resolver that hasn't changed then this would probably break it.
I'm going to change it to have compatibility support.


IATK deployment issues

When deploying IATK, two errors occurred:
（1） The type or namespace named "LinearDriveFacade" was not found in the Assets\IATK-master\Assets\IATK\Scripts\Controller\VRVisualisation.cs file.
（2）There is no type or space named "Interactions" in the "Tilia" namespace in the Assets\IATK-master\Assets\IATK\Scripts\Controller\VRVisualisation.cs file.
How to solve these?

Have you tried following the documentation at https://github.com/MaximeCordeil/IATK/blob/master/Documentation/VR_TUTORIAL.md ?
That has a little bit more detail on how to get it up and running.
If that doesn't work can you give more info on when the errors occur and if you can get things working in editor play mode

I deployed according to this document. I used Unity 2021.3.4f1 to open the IATK-master project, downloaded and installed the MapBox Unity plug-in v2.1.1, and after modifying the problems in the MapBox Unity plug-in v2.1.1, there will be two An error is reported. The error message is:

错误信息：

The error message are:
Error 1: Assembly 'Assets/UnityVS/Editor/UnityVS.VersionSpecific.dll' will not be loaded due to error: Unable to resolve reference 'SyntaxTree.VisualStudio.Unity.Bridge'. Is the assembly missing or incompatible with the current platform? Reference validation can be disabled in the plugin inspector.
Error 2: The file "Assets/IATK/Scenes/BrushingScene.unity" appears to have a merge conflict. Please open it in a text editor and fix the merge.


[BUG] Thermostat SystemModeEnum kDry and kSleep returns fail

Reproduction steps
Using chip-tool to write system-mode with SystemModeEnum kDry or KSleep  (e.g., ./chip-tool thermostat write system-mode 8 1 1), returns 0x87 (CONSTRAINT_ERROR).
Seems that it is because of https://github.com/project-chip/connectedhomeip/blob/master/src/app/clusters/thermostat-server/thermostat-server.cpp#L447, where the Enum is larger than kFanOnly, it returns invalidvalue = constrainterror.
And when using SystemMode::Set(), it will also return constraint error, as in endpoint_config.h, the maxvalue is 0x7.
Bug prevalence
always
GitHub hash of the SDK that was being used
83f8665f0177906a66b927b1a24e8ac038861c86
Platform
ameba
Platform Version(s)
No response
Anything else?
No response

I ran into this as well, I assume that's not the intended behavior?

Created #32859. One thing I don't understand is how other devices are supposed to know whether Fan Only and Dry options are supported on a device, since they aren't tied to a feature bit.

I've created issue  #36846. It proposes finding a method to detect supported operating modes for room air conditioner devices using the Thermostat cluster in Matter.


channel: support recalibrating force data

Why this PR?
It is good to be able to recalibrate your force data.
By providing an API to do this, you basically end up with a force slice that can be treated as any other force slice (with a calibration item attached that conforms to a common API).
For instance, a recalibrated force slice can now directly be fed to the piezo tracking API (which reads from the calibration item).
Prior to implementing the new functionality, I removed some old cruftiness from the API that didn't really gel well with the new API. I left this as a separate commit.
Usage example:
  import lumicks.pylake as lk
  f = lk.File("passive_calibration.h5")
  calibration = f.force1x.calibration[1]  # Grab a calibration item for force 1x

  # Slice the data corresponding to the calibration we want to reproduce.
  calib_slice = f.force1x[calibration]

  # De-calibrate to volts using the calibration that was active before this slice.
  previous_calibration = calib_slice.calibration[0]
  calib_slice = calib_slice / previous_calibration.force_sensitivity
  calibration_params = previous_calibration.calibration_params()
  new_calibration = lk.calibrate_force(calib_slice.data, **calibration_params)
  new_calibration.plot()

  # Make a new calibration, but change the amount of blocking
  less_blocking_params = calibration_params | {"num_points_per_block": 200}
  less_blocking = lk.calibrate_force(calib_slice.data, **less_blocking_params)
  less_blocking.plot()

  # Recalibrate the force channels
  recalibrated_force1x = f.force1x.recalibrate_force(less_blocking)

Very nice addition, this is much easier and cleaner way to recalibrate.
The example you mention would fit well in the force calibration docs. I guess you do that in a separate PR?

Yeah. I was considering that too, but I figure, with the big shuffle, it doesn't make a lot of sense to add it now.
However, I could rebase this one on the docs rewrite and just add it there.


create an endpoint for the hello function and a health check endpoint tested the end points with postman

create an endpoint for the hello function and a health check endpoint
tested the end points with postman

integrate python logging into your service


Larger compilation results in TeaVM 10.0.0-SNAPSHOT

I noticed that the compilation results are larger in TeaVM 10.0.0-SNAPSHOT, compared to 0.9.0 and earlier versions.
To investigate, I disabled obfuscation and compared multiple functions. One thing I noticed is, that TeaVM 10.0.0-SNAPSHOT creates a lot of code to simulate multithreading which was not present in earlier versions. For example (see $rt_resuming() blocks):
let jur_PossessiveCompositeQuantifierSet_matches = ($this, $stringIndex, $testString, $matchResult) => {
    let var$4, $min, $max, $i, $shift, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        let $thread = $rt_nativeThread();
        $ptr = $thread.pop();$shift = $thread.pop();$i = $thread.pop();$max = $thread.pop();$min = $thread.pop();var$4 = $thread.pop();$matchResult = $thread.pop();$testString = $thread.pop();$stringIndex = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$4 = $this.$quantifier;
        $min = var$4.$min5;
        $max = var$4.$max5;
        $i = 0;
        while (true) {
            if ($i >= $min) {
                a: {
                    while (true) {
                        if ($i >= $max)
                            break a;
                        if (($stringIndex + $this.$leaf.$charCount() | 0) > $matchResult.$rightBound0)
                            break a;
                        $shift = $this.$leaf.$accepts($stringIndex, $testString);
                        if ($shift < 1)
                            break;
                        $stringIndex = $stringIndex + $shift | 0;
                        $i = $i + 1 | 0;
                    }
                }
                var$4 = $this.$next8;
                $ptr = 1;
                continue main;
            }
            if (($stringIndex + $this.$leaf.$charCount() | 0) > $matchResult.$rightBound0) {
                $matchResult.$hitEnd = 1;
                return (-1);
            }
            $shift = $this.$leaf.$accepts($stringIndex, $testString);
            if ($shift < 1)
                break;
            $stringIndex = $stringIndex + $shift | 0;
            $i = $i + 1 | 0;
        }
        return (-1);
    case 1:
        $tmp = var$4.$matches0($stringIndex, $testString, $matchResult);
        if ($rt_suspending()) {
            break main;
        }
        $stringIndex = $tmp;
        return $stringIndex;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $stringIndex, $testString, $matchResult, var$4, $min, $max, $i, $shift, $ptr);
};

There are cases in my program (especially switch statements over Strings) which get much longer (and difficult) by this transformation. I am not using any multithreading at all. Is there any possibility to disable this kind of code generation?
On top of that TeaVM creates large reflection tables (including real class names and method name tables, even for lambdas). This has already been the case in earlier versions and is not a new problem, but I wonder why this is done. It should be possible to disable this functionality (or restrict it to runtime classes). I know that the class name is required for toString() of native java/lang/Object. But besides exceptions there is no real need for them in release mode in any codebase which is not relying on reflection.

But why does it generate reflection data for lambdas then? And what type of code is considered to use class names? Everything which uses class references like "MyClass.class"? Because I am not using any Class.forName("...") or related methods and the data is created for most (if not all) classes...

But why does it generate reflection data for lambdas then

Because TeaVM decided that some of your code takes names of lambda classes. This may be not necessarily be true, but AOT compiler can only act in a conservative way. For example, you can have code like this in one method:
var list = new ArrayList<Object>();
list.add((Runnable) () -> {});

and in some other method something like this
list.get(i).getClass().getName()

then TeaVM MAY think that lambda class in the first snippet requires metadata, even if at run time it's never the case. This depends.

And what type of code is considered to use class names?

For example, o.getClass().getName() requires class name to be encoded somewhere.
I don't want to introduce a switch to control this behaviour. In you case you perhaps don't need this, but someone else would need this feature. Then someone else notices that there's another sort of code that can be thrown away. And TeaVM ends up with 1000 of flags and switches, which are quite hard to document properly.

Okay, thank you for the explanation.
But maybe at least the obfuscated method name arrays, like ["yJ",E(Gf),"yL",D(YU),"xH",D(BM),"xv",D(Dp),"xE",D(BDi),"xG",D(BWR)] could be omitted. I mean anyone relying on calling these methods would not be able to do so anyways when they are obfuscated, right?

Okay, I found a reference to Thread. This indeed caused the issue. Maybe this should be documented. Can be closed. Thank you again!

One last question: I do not use any getClass() calls except in equals() implementations where i often write:
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        // ...

Will this already cause reflection data to be generated?

Not sure about this. I think you need to call getName to cause full metadata generation, but I don't remember actual implementation details.

You can try to attach debugger to the TeaVM compiler process, set breakpoint at ClassMetadataRequirements constructor and watch/evaluate following: dependencyInfo.getCallGraph().getNode(GET_NAME_METHOD);. Then by traversing the call graph back you can find out what causes inclusion of metadata.

But I want to warn you that according to my measures class names never contribute significant amount to size of the resulting JS.


db.exists() no longer a function?

Not sure what's going on, there is supposedly a db.exists but there isn't?
Documentation
code
   1 Database = require("arangojs").Database;
   2 db = new Database();
   3 db.exists();

Output
/app/node/test.js:4
TypeError: db.exists is not a function
    at Object.<anonymous> (/app/node/test.js:3:4)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47

Node.js v18.16.1

<EMAIL_ADDRESS>| Apache-2.0 | deps: 5 | versions: 120
The official ArangoDB JavaScript driver.
https://github.com/arangodb/arangojs

keywords: arango, arangodb, aql, nosql, client, driver, api, http, rest

dist
.tarball: https://registry.npmjs.org/arangojs/-/arangojs-8.4.0.tgz
.shasum: b1269c4db45d0f1f032a40af02801edadb6f24eb
.integrity: sha512-WHirnoGL0cHZt/qw3gR/SPXc19SJ0UANYZL90wBWIFnxO/itzN/N8Ss9ylXnCBi8Iz34XmUAvMCjF4C90AKW2A==
.unpackedSize: 2.2 MB

dependencies:
@types/node: >=14       path-browserify: ^1.0.1 xhr: ^2.4.1
multi-part: ^4.0.0      x3-linkedlist: 1.2.0

maintainers:
- nikhilvarma<EMAIL_ADDRESS>- fceller<EMAIL_ADDRESS>- pluma4345<EMAIL_ADDRESS>- jsteemann<EMAIL_ADDRESS>- hkernbach<EMAIL_ADDRESS>
dist-tags:
latest: 8.4.0     next: 8.0.0-rc.1

published 5 days ago by pluma4345<EMAIL_ADDRESS>
Many Thanks

I have moved to golang driver since. But you are correct, it is 5.8 which is strange since I used npm i iirc, expecting the latest.


Removed second variable definition

index was redefined, probably a mistake

Not a bug, just fix for compiler warning.


Excpetion when 'await Task.WhenAll()' is used

I use emulator in Visual Studio 2013, solution Windows Phone 8.
When I use 'await Task.WhenAll()' to create my tables I get a sqlite exception: "Busy".  Can you check this code below?
The other thing is that I do some async CRUD operations for a while after run my application and if I deactivate and activate it during these operations I get exception 'Database is locked'. Is it something because any sqlite resource is not disposed/closed when application goes into the deactivated state?
public class SQLiteDataService : IDataService
{
    private ISQLitePlatform _sqlitePlatform;
    private IStorageService _storageService;
    private SQLiteAsyncConnection _connection;
    private static readonly string DB_FILE_NAME = "database.db";

    public SQLiteDataService(ISQLitePlatform sqlitePlatform, IStorageService storageService)
    {
        _sqlitePlatform = sqlitePlatform;
        _storageService = storageService;
        InitializeAsync();
    }

    private async Task InitializeAsync()
    {
        if (_connection == null)
        {
            string databaseFile = await _storageService.GetPathForFileAsync(DB_FILE_NAME);
            _connection = new SQLiteAsyncConnection(() => new SQLiteConnectionWithLock(_sqlitePlatform, new SQLiteConnectionString(databaseFile, false)));

            await Task.WhenAll(new Task[]
               _connection.CreateTableAsync<Table1>(),
               _connection.CreateTableAsync<Table2>(),
               _connection.CreateTableAsync<Table3>(),
               _connection.CreateTableAsync<Table4>(),
               _connection.CreateTableAsync<Table5>(),
               _connection.CreateTableAsync<Table6>(),
            });
         }
    }
}

One error I noticed is that you call InitializeAsync from the constructor, calling async methods from a constructor is not good.
What happens if you call (and await) InitializeAsync outside the constructor?
If you want the initialization to happen synchronously in the constructor, just call CreateTable directly on the connection, without using an async connection.

I've tried your suggestion so have removed InitializeAsync from the constructor and call this function explicity when my object is created and I get the same exception. The error is gone only when I don't use Task.WhenAll.

I've investigated this issue again and it seems VS emulator doesn't dispose/close a process/task which block access to a database file and then an exception is thrown ("Busy" or "Database is locked"). My scenario is as follows:

Run application using emulator
Async CRUD operations are performed, it takes up to 1 min.
Close emulator during operations from point 2.
Run application again
Exception is thrown

This does not sound like a problem with sqlite.net.


Add skaffold for debugging

When we want to modify the space-agon and try our original logics, we have to build and deploy by ourselves currently. This PR enables us to run the cluster with skaffold command.

Changed Dockerfiles to reduce their image size
Created make skaffold-setup for skaffold
Canged README.md
Updated Open Match  to v1.4.0

Closes (#5)

Thanks !


Fix Cursor Pagination Errors

Fixes the error raised by sentry.io bot about the invalid cursor in #5199 ( the main pr ) for the fix of #5195

Added validation for params[:after] and params[:before] to ensure cursors are in the correct format.
Handled InvalidCursorError with a fallback to the first page and logging for debugging.
This fixes potential issues with malformed or invalid cursor inputs and improves robustness of the recent circuits view.

Summary by CodeRabbit

New Features

Enhanced pagination handling with improved cursor parameter validation.

Bug Fixes

Added error handling for invalid cursor parameters to prevent crashes and improve user experience.

Documentation

Updated internal documentation to reflect changes in pagination logic and error handling.

@tachyons please review if the error handling i have added correctly addresses the invalid/malformed cursors error flagged by sentry.io bot and @coderrabbitai in #5199


tsdx seems unmaintained now, replace it with something else?

🙋♂ Question
As seen in https://github.com/formium/tsdx/issues/1058 would you consider replacing it?
Link to repro
Please provide a CodeSandbox demo to clarify your question if possible. Typically, questions without minimal codesandbox demo won't be answered.
Environment
We only accept questions against the latest Immer version.

Immer version:
[ ] Occurs with setUseProxies(true)
[ ] Occurs with setUseProxies(false) (ES5 only)

Works fine for now, so, no.


Add option to greyscale() to enable grayscale output

This pr adds an options object to the grayscale() command to enable output of a single color channel image. The default remains to convert grayscale images to RGB images in sRGB colorspace.

Coverage increased (+0.002%) to 99.016% when pulling 975c352155029ee9643d496a6dc2d975fde5320b on mhirsch:output_color_depth into 2d500554c190f74d24ae27046a6610c6b161ac34 on lovell:master.

Hi Matt, would the proposed toColourspace operation in #218 provide a more generic/powerful method of achieving this?

It would certainly be more powerful to be able to assign arbitrary color profiles. I think something like that ought to be in the API. It was one of the things I was considering working on. However because of the near impossibility, for most people, of creating custom color profiles and the difficulty of finding color profiles that do exactly what is wanted, I think it would be frustrating to create an API where you have to find a color profile for a grayscale color space to get an image with a single channel out. Also, as it is now, you can put an unmanaged image into sharp and get an unmanaged image out -- sometimes you want to know that a red pixel value of 123 in the input maps to a gray pixel value of 123 in the output -- also nearly impossible using managed colorspaces, even with saturation intent.

Coverage increased (+0.002%) to 99.016% when pulling c369620e7c818f27cb053147f32e9e569be6a353 on mhirsch:output_color_depth into 15a577863a7efacb371de8f4b2424aebff20b821 on lovell:master.

Coverage increased (+0.002%) to 99.016% when pulling 0aad3b0b7582f9be177d8aedfec0d50c911ed733 on mhirsch:output_color_depth into c39a9b8de9156d8c04a2bfff06fe6f5ac278f340 on lovell:master.

This is obviated by #513.


Fix ambiguous keyboard shortcut to stop local server

Why:)

What's being changed:

Fix ambiguous keyboard shortcut to stop local server
link to nodenv docs
Fix typo lib/lanuages.js -> lib/languages.js
use  tag to show keyboard keys.

Check off the following:

[x] I have reviewed my changes in staging (look for the latest deployment event in your pull request's timeline, then click View deployment).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

title: Working with the Docker registry
intro: '{% ifversion fpt or ghec %}The Docker registry has now been replaced by the {% data variables.product.prodname_container_registry %}.{% else %}You can push and pull your Docker images using the {% data variables.product.prodname_registry %} Docker registry, which uses the package namespace https://docker.pkg.github.com.{% endif %}'
product: '{% data reusables.gated-features.packages %}'
redirect_from:

/articles/configuring-docker-for-use-with-github-package-registry
/github/managing-packages-with-github-package-registry/configuring-docker-for-use-with-github-package-registry
/github/managing-packages-with-github-packages/configuring-docker-for-use-with-github-packages
/packages/using-github-packages-with-your-projects-ecosystem/configuring-docker-for-use-with-github-packages
/packages/guides/container-guides-for-github-packages/configuring-docker-for-use-with-github-packages
/packages/guides/configuring-docker-for-use-with-github-packages
versions:
fpt: ''
ghes: ''
ghae: ''
ghec: ''
shortTitle: Docker registry

{% ifversion fpt or ghec %}
{% data variables.product.prodname_dotcom %}'s Docker registry (which used the namespace docker.pkg.github.com) has been replaced by the {% data variables.product.prodname_container_registry %} (which uses the namespace https://ghcr.io). The {% data variables.product.prodname_container_registry %} offers benefits such as granular permissions and storage optimization for Docker images.
Docker images previously stored in the Docker registry are being automatically migrated into the {% data variables.product.prodname_container_registry %}. For more information, see "Migrating to the {% data variables.product.prodname_container_registry %} from the Docker registry" and "Working with the {% data variables.product.prodname_container_registry %}."
{% else %}

{% data reusables.package_registry.packages-ghes-release-stage %}
{% data reusables.package_registry.packages-ghae-release-stage %}
{% data reusables.package_registry.admins-can-configure-package-types %}
About Docker support
When installing or publishing a Docker image, the Docker registry does not currently support foreign layers, such as Windows images.
Authenticating to {% data variables.product.prodname_registry %}
{% data reusables.package_registry.authenticate-packages %}
{% data reusables.package_registry.authenticate-packages-github-token %}
Authenticating with a personal access token
{% data reusables.package_registry.required-scopes %}
You can authenticate to {% data variables.product.prodname_registry %} with Docker using the docker login command.
To keep your credentials secure, we recommend you save your personal access token in a local file on your computer and use Docker's --password-stdin flag, which reads your token from a local file.
{% ifversion fpt or ghec %}
{% raw %}
$ cat ~/TOKEN.txt | docker login https://docker.pkg.github.com -u USERNAME --password-stdin

{% endraw %}
{% endif %}
{% ifversion ghes or ghae %}
{% ifversion ghes %}
If your instance has subdomain isolation enabled:
{% endif %}
{% raw %}
$ cat ~/TOKEN.txt | docker login docker.HOSTNAME -u USERNAME --password-stdin

{% endraw %}
{% ifversion ghes %}
If your instance has subdomain isolation disabled:
{% raw %}
$ cat ~/TOKEN.txt | docker login HOSTNAME -u USERNAME --password-stdin

{% endraw %}
{% endif %}
{% endif %}
To use this example login command, replace USERNAME with your {% data variables.product.product_name %} username{% ifversion ghes or ghae %}, HOSTNAME with the URL for {% data variables.product.product_location %},{% endif %} and ~/TOKEN.txt with the file path to your personal access token for {% data variables.product.product_name %}.
For more information, see "Docker login."
Publishing an image
{% data reusables.package_registry.docker_registry_deprecation_status %}
{% note %}
Note: Image names must only use lowercase letters.
{% endnote %}
{% data variables.product.prodname_registry %} supports multiple top-level Docker images per repository. A repository can have any number of image tags. You may experience degraded service publishing or installing Docker images larger than 10GB, layers are capped at 5GB each. For more information, see "Docker tag" in the Docker documentation.
{% data reusables.package_registry.viewing-packages %}

Determine the image name and ID for your docker image using docker images.

$ docker images
> <&nbsp>
> REPOSITORY        TAG        IMAGE ID       CREATED      SIZE
> IMAGE_NAME        VERSION    IMAGE_ID       4 weeks ago  1.11MB

Using the Docker image ID, tag the docker image, replacing OWNER with the name of the user or organization account that owns the repository, REPOSITORY with the name of the repository containing your project, IMAGE_NAME with name of the package or image,{% ifversion ghes or ghae %} HOSTNAME with the hostname of {% data variables.product.product_location %},{% endif %} and VERSION with package version at build time.
{% ifversion fpt or ghec %}

$ docker tag IMAGE_ID docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION

{% else %}
{% ifversion ghes %}
If your instance has subdomain isolation enabled:
{% endif %}
$ docker tag IMAGE_ID docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION

{% ifversion ghes %}
If your instance has subdomain isolation disabled:
$ docker tag IMAGE_ID HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION

{% endif %}
{% endif %}
3. If you haven't already built a docker image for the package, build the image, replacing OWNER with the name of the user or organization account that owns the repository, REPOSITORY with the name of the repository containing your project, IMAGE_NAME with name of the package or image, VERSION with package version at build time,{% ifversion ghes or ghae %} HOSTNAME with the hostname of {% data variables.product.product_location %},{% endif %} and PATH to the image if it isn't in the current working directory.
{% ifversion fpt or ghec %}
$ docker build -t docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION PATH

{% else %}
{% ifversion ghes %}
If your instance has subdomain isolation enabled:
{% endif %}
$ docker build -t docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION PATH

{% ifversion ghes %}
If your instance has subdomain isolation disabled:
$ docker build -t HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION PATH

{% endif %}
{% endif %}
4. Publish the image to {% data variables.product.prodname_registry %}.
{% ifversion fpt or ghec %}
$ docker push docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION

{% else %}
{% ifversion ghes %}
If your instance has subdomain isolation enabled:
{% endif %}
$ docker push docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION

{% ifversion ghes %}
If your instance has subdomain isolation disabled:
$ docker push HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION

{% endif %}
{% endif %}
{% note %}
Note: You must push your image using IMAGE_NAME:VERSION and not using IMAGE_NAME:SHA.
{% endnote %}
Example publishing a Docker image
{% ifversion ghes %}
These examples assume your instance has subdomain isolation enabled.
{% endif %}
You can publish version 1.0 of the monalisa image to the octocat/octo-app repository using an image ID.
{% ifversion fpt or ghec %}
$ docker images

> REPOSITORY           TAG      IMAGE ID      CREATED      SIZE
> monalisa             1.0      c75bebcdd211  4 weeks ago  1.11MB

# Tag the image with OWNER/REPO/IMAGE_NAME
$ docker tag c75bebcdd211 docker.pkg.github.com/octocat/octo-app/monalisa:1.0

# Push the image to {% data variables.product.prodname_registry %}
$ docker push docker.pkg.github.com/octocat/octo-app/monalisa:1.0

{% else %}
$ docker images

> REPOSITORY           TAG      IMAGE ID      CREATED      SIZE
> monalisa             1.0      c75bebcdd211  4 weeks ago  1.11MB

# Tag the image with OWNER/REPO/IMAGE_NAME
$ docker tag c75bebcdd211 docker.HOSTNAME/octocat/octo-app/monalisa:1.0

# Push the image to {% data variables.product.prodname_registry %}
$ docker push docker.HOSTNAME/octocat/octo-app/monalisa:1.0

{% endif %}
You can publish a new Docker image for the first time and name it monalisa.
{% ifversion fpt or ghec %}
# Build the image with docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION
# Assumes Dockerfile resides in the current working directory (.)
$ docker build -t docker.pkg.github.com/octocat/octo-app/monalisa:1.0 .

# Push the image to {% data variables.product.prodname_registry %}
$ docker push docker.pkg.github.com/octocat/octo-app/monalisa:1.0

{% else %}
# Build the image with docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION
# Assumes Dockerfile resides in the current working directory (.)
$ docker build -t docker.HOSTNAME/octocat/octo-app/monalisa:1.0 .

# Push the image to {% data variables.product.prodname_registry %}
$ docker push docker.HOSTNAME/octocat/octo-app/monalisa:1.0

{% endif %}
Downloading an image
{% data reusables.package_registry.docker_registry_deprecation_status %}
You can use the docker pull command to install a docker image from {% data variables.product.prodname_registry %}, replacing OWNER with the name of the user or organization account that owns the repository, REPOSITORY with the name of the repository containing your project, IMAGE_NAME with name of the package or image,{% ifversion ghes or ghae %} HOSTNAME with the host name of {% data variables.product.product_location %}, {% endif %} and TAG_NAME with tag for the image you want to install.
{% ifversion fpt or ghec %}
$ docker pull docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME

{% else %}

{% ifversion ghes %}
If your instance has subdomain isolation enabled:
{% endif %}
$ docker pull docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME

{% ifversion ghes %}
If your instance has subdomain isolation disabled:
$ docker pull HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME

{% endif %}
{% endif %}
{% note %}
Note: You must pull the image using IMAGE_NAME:VERSION and not using IMAGE_NAME:SHA.
{% endnote %}
Further reading

"{% ifversion fpt or ghes > 3.0 or ghec %}Deleting and restoring a package{% elsif ghes < 3.1 or ghae %}Deleting a package{% endif %}"

{% endif %}


feat: (PURCHASE-2759) Empty state for saved addresses page

The type of this PR is: Feature

This PR resolves PURCHASE-2759 Empty state for saved addresses page
Description

This adds a Saved Addresses screen (behind ff) as well as configures the route. Followup work can be found in this epic.

NOTE: The figma designs include button style from V3 which Eigen does not yet support. See slack comment.
NOTE: There has been some changes on the copy side regarding casing. See slack comment.

https://user-images.githubusercontent.com/29984068/124326893-3acabb80-db55-11eb-94bd-7875465dbb71.mov
PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have tested my changes on iOS and Android.
[x] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a CHANGELOG.yml entry or my changes do not require one.

Changelog updates

Cross-platform user-facing changes

add a minimal Saved Addresses screen which sits behind a feature flag

Reviewers do I also need to update the AndroidManifest file as part of this PR?

Nice 🎉

Reviewers do I also need to update the AndroidManifest file as part of this PR?

Yes Please @ovasdi . Once you add it there file please feel free to merge this if @jo-rs also approves

@MounirDhahri, Joel is actually out this week. I've updated the manifest and just want to make sure that the change is correct.


Fix issue with double period in output (interpolated) filenames

Fix issue with double period in output (interpolated) filenames:
public1:/home/p1d/141231_metrics/test> ls -al metrics_output_path/Interpolation_Output/sampletest/
total 14400
drwxr-xr-x 2 p1d b   6144 Dec 31 22:55 ./
drwxr-xr-x 3 p1d b   2048 Dec 31 22:54 ../
-rw-r--r-- 1 p1d b 504336 Dec 31 22:55 GFDL-CM4.historical.r1i1p1.mo..pr.ver-1.01-12.interpolated.linear.2.5x2.5.AC.nc
-rw-r--r-- 1 p1d b 504328 Dec 31 22:55 GFDL-CM4.historical.r1i1p1.mo..psl.ver-1.01-12.interpolated.linear.2.5x2.5.AC.nc

@doutriaux1 this issue is related to the %(table_realm) variable not being defined and therefore returning a blank in the file (leading to double delimiters)..
Should %(table_realm) actually be %(table)? I wonder if we should define what variables are what somewhere - probably in the parameter file:
So this should include:
model_version
table_realm/table
variable
level
period
regridMethod
targetGridName
ext

This issue was due to a bad parameter file (and wrongly defined table info).. @doutriaux1 before closing this should my comments above (RE: better documenting param file) be dealt with somewhere? Or should we create a new issue which includes template parameter file tweaks along with tweaks to the wiki?

@durack1 you're right we should document this. In the paramter files we provide would be a good start point. But it probably also needs to be documented somewhere more "official". Like in the actual documentation.

@doutriaux1 ok well to start I think we need to agree on which existing parameter file becomes our go to default (from which all others are based).. I spent a fair bit of time cleaning up  pcmdi_metrics/doc/parameter_files/pcmdi_input_parameters_test.py which now includes a whole whack of verbose descriptions.. Maybe that also needs some of your custom keys stuff? And then of course listing the variables (model_version, variable.. as listed above https://github.com/PCMDI/pcmdi_metrics/issues/200#issuecomment-69061025)

@durack1 nope this one has pretty much nothing in it...
A more complete is at:
https://github.com/PCMDI/pcmdi_metrics/blob/master/test/pcmdi/basic_test_parameters_file.py
but some param tweakfor sftlf handling are also found  in:
https://github.com/PCMDI/pcmdi_metrics/blob/master/test/pcmdi/gensftlf_test.py

@doutriaux1 ok I think these two need to be merged, so that we have a single demo param file that contains all the options..

@doutriaux1 I'll finalise this tomorrow so we can finish and retag v1.0.0.. Can you tell me where all the input variables (the software knows about) can be found in a list?


Saqeeb and Abdul work on creating the API keys

I have completed the API key to get the current currency values
I now need to work on getting the previous currency values


Add Transaction handling

As a test designer, I want to be able to specify test scenarios for transactions including exceptions on commit, to be able to verify the transaction behavior of my application.

First of all, this feature will be implemented in the embedded version of citrus-db and not within the standalone one

Reolved with 03673fa


dark mode compatibility with ko-fi floating button

Describe the Bug
Hello, I am reporting a compatibility issue. I also contacted ko-fi support about it. Ko-fi has this floating button widget that I managed to embed into my wiki page. The embed code is an inline script and the widget itself should appear in a transparent iframe in the lower corner of the viewport. It looks fine as long as I keep BookStack in light mode but when I switch to dark, a white opaque rectangle appears around it. Any idea why?
Steps to Reproduce

register at ko-fi as 'a-ko-fi-profile-name'
add the ko-fi embed code to $BOOKSTACK/themes/ultimatetheme/layouts/parts/base-body-end.blade.php

activate ultimatetheme in $BOOKSTACK/.env
enable content scripts in $BOOKSTACK/.env
add ko-fi.com as frame-src to the CSP in $BOOKSTACK/.env
open your wiki in the browser
activate dark mode from the web UI

Expected Behaviour
the button should look as good as before in the light mode, take as little overlapped space as possible, not hurting the eye with white areas
Screenshots or Additional Context

Browser Details
Chrome 131.0.6778.86 (Official version) (64-bit)
Exact BookStack Version
v24.05.4

Hi @kekcsi,
This is due to default browser behaviour with differing color schemes, which applies a white background to iframes by default since the inner frame indicates a light scheme, but the outer page (BookStack) is using a dark scheme.
Here's some code you could add to the "Custom HTML Head Content" customization setting which should align the themes for this element to avoid this extra background:
<style>
[id^="kofi-widget"] { color-scheme: light; }
</style>

Note: If you'd prefer, you could use the KoFi code via the "Custom HTML Head Content" customization setting, rather than via a custom theme, with just a small tweak to the code:
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script>
<script nonce type="module"> window.kofiWidgetOverlay.draw('a-ko-fi-profile-name', { 'type': 'floating-chat', 'floating-chat.donateButton.text': 'Adomány', 'floating-chat.donateButton.background-color': '#7e3574dd', 'floating-chat.donateButton.text-color': '#fff' }); </script>

Great!


is this configurable?

IF the answer is no to any/all of these questions do you think they would be cool features for a more extensive animation library?
Disclaimer: I havent tried it yet so no idea how it works just responding to the README.,
Can/could I configure a default transition at the root level?
Can /could I configure transitions per route e.g. on the <Link>?
Can/could I configure transitions per Component?

Hey Laurence,
I've been able to set a default transition at the root level using vanilla CSS. Here's an example tweaked based on one from MDN:
@keyframes move-out {
  from {
    transform: translateY(0%);
  }

  to {
    transform: translateY(-100%);
  }
}

@keyframes move-in {
  from {
    transform: translateY(100%);
  }

  to {
    transform: translateY(0%);
  }
}

::view-transition-old(root) {
  animation: 1s ease both move-out;
}

::view-transition-new(root) {
  animation: 1s ease both move-in;
}

I would imagine you could override as needed by writing CSS with greater selector specificity.
From what I gather, next-view-transitions is a wrapper for compatibility with the Next.js App Router and the <Link> component, rather than a Next-specific implementation of View Transitions. Could be wrong / Shu and team could have plans for that, so don't quote me on it :)
Hope this helps,
Edward

@edwardshturman  its always the move-in keyframe that is trigger , it is normal ?


Nested set Parent relation

Hello to everyone, I really need parent relation in nested set Yii2, I done this in Yii1.0.1, but how I can do this in second version. If developers read it, pls make a chance to do Eager loading parent in Yii2

Please elaborate. We don't have nested set support so you're probably using an extension. If it's true, please specify which one it is and what's missing exactly.

Sory, I use NestedSetBehavior. https://github.com/creocoder/yii2-nested-sets . I am missing "parent" relation. I mean, that I can not do Eager loading in relation ( I canno't write such relation )

Report this issue to the extension author.


fluent property wrappers

Updated to latest Fluent 4 alpha 2 with property wrappers.

Hey @tanner0101, you just merged a pull request, have a coin!
You now have 1327 coins.


Deferred conditional in value position of mapped type is not re-evaluated when sufficient information is available to pick a branch

Bug Report
Per the docs on conditional types, deferred conditionals are expected to be resolved once sufficient context is provided (e.g. at a call-site) such that the compiler can evaluate a single branch of the conditional.
It appears that when the conditional type is in the value position of a mapped type, this does not occur.
🔎 Search Terms
deferred conditional types, mapped types
🕗 Version & Regression Information

This is the behavior in every version I tried (all versions on playground), and I reviewed the entire FAQ

⏯ Playground Link
Playground link with relevant code
💻 Code
interface Targets<A> {
    left: A
    right: A
}
type Target = keyof Targets<any>
type Result<F extends Target, A> = Targets<A>[F]

type LR<F extends Target, L, R> = [F] extends ["left"] ? L : R

interface Ops<F extends Target> {
    _f: F
    str: Result<F, string>
    num: Result<F, number>
    lr<I, O>(a: Result<F, I>, o: Result<F, O>): Result<F, LR<F, I, O>>
    dict: <P>(p: {[k in keyof P]: Result<F, P[k]>}) => Result<F, P>
}
const left: Ops<"left"> = {} as any
const right: Ops<"right"> = {} as any

const ok = <F extends Target>(at: Ops<F>) => ({lr: at.lr(at.str, at.num)})
const orphaned = <F extends Target>(at: Ops<F>) => at.dict(ok(at))

const leftOk = ok(left)
const leftOrphaned = orphaned(left)

const rightOk = ok(right)
const rightOrphaned = orphaned(right)

🙁 Actual behavior
Note that the assignments of leftOk and rightOk properly evaluate the conditional type to the branches dictated by the respective arguments passed to ok, with leftOk taking type {lr: string} and rightOk taking type {lr: number}.
However with the same information available (same exact arguments, just passed through one extra layer of call-stack, and a mapped type), leftOrphaned and rightOrphaned do not evaluate the conditional type, both remaining at type {lr: LR<F, string, number>} despite F being determined by the respective arguments passed to orphaned.
🙂 Expected behavior
The types of leftOrphaned and rightOrphaned should match the types of leftOk and rightOk respectively. Application of a type argument to a type parameter (in this case "left" or "right" to F) should apply to sub-expressions in a function body, and those applications should hold under a mapped type.

Glad to see your response, thanks. @RyanCavanaugh got any pointers where I might look to familiarize myself if I wanted to take a crack at this particular issue?

Glad to see your response, thanks. @RyanCavanaugh got any pointers where I might look to familiarize myself if I wanted to take a crack at this particular issue?

Without knowing the root cause yet, I would still say this is very, very likely to require expertise beyond what we're capable of documenting. Probably there's a type mapper that needs to get passed around somewhere and that's not happening, but I could be way off.

Without knowing the root cause yet, I would still say this is very, very likely to require expertise beyond what we're capable of documenting. Probably there's a type mapper that needs to get passed around somewhere and that's not happening, but I could be way off.

Thanks very much @weswigham for the quick turnaround on resolution. @RyanCavanaugh I wonder if per your processes this means the fix might make it in sooner, or is the milestone assignment an imposed constraint on timeline? Anything I can do to help see this fix merged and released as soon as it could be?

Thanks very much @weswigham for the quick turnaround on resolution. @RyanCavanaugh I wonder if per your processes this means the fix might make it in sooner, or is the milestone assignment an imposed constraint on timeline? Anything I can do to help see this fix merged and released as soon as it could be?

If the PR gets merged before the 4.2 RC date (seems likely), it'll be in 4.2. For a long-standing issue with only one report, we wouldn't apply any extra prioritization effort beyond that.

If the PR gets merged before the 4.2 RC date (seems likely), it'll be in 4.2. For a long-standing issue with only one report, we wouldn't apply any extra prioritization effort beyond that.


Cosmetic fixes in tests: naming/capitalization conventions

cleaning up artifacts of the conversion from Java

Hi @martinsawicki, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (marcins). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@martinsawicki please reset your branch


gcloud-cli-persistence slowed my Codespaces to a crawl

I'm not sure why, but when I introduced this feature into my devcontainer.json features, I ended up running into issues getting my docker compose setup to fully start up. It'd hang at create, and wouldn't let me tear down either.

By removing the feeature and doing a rebuild, or spinning up new Codespaces, I was not seeing this issue. And upon re-adding this feature, I saw the issue again.
Sorry to not be able to provide much detail around why this might be happening, but figured it was worth capturing.

Hey @dkordik, thanks for letting me know about the issue! Are you using the latest version of the feature (1.0.2)?
In that version we chmod -R the google cloud CLI folder inside a post create script which might be causing the slowdown. Maybe you can check how many files/how big the /dc/github-cli and ~/.config/gcloud folders are for a start.
You also mentioned that you're using a Docker compose setup - I've only used my features with a regular Docker container so I'll have to play around with this as well.


Provide documentation online

Will go to http://pythonhosted.org/endocal
See the instructions on the PyPI endocal page.

Detailed instructions are provided in the main README file.
Those are also replicated on the PyPI page: https://pypi.org/project/endocal/
endocal is not an API.
So the above instructions and information should suffice for the time being.


New package: MosiBase v0.1.0

Registering package: MosiBase
Repository: https://github.com/sunoru/MosiBase.jl
Created by: @sunoru
Version: v0.1.0
Commit: 638d6d62749fbeed9d5508ef6c3336a05a3d0b42
Reviewed by: @sunoru
Reference: https://github.com/sunoru/MosiBase.jl/commit/638d6d62749fbeed9d5508ef6c3336a05a3d0b42#commitcomment-69206313
Description: Some basic and utility functions for molecular simulation.

I have changed the package name to meet the distance requirement. Can anyone help me close this PR? Thanks.


Can't find near locations

BEFORE POSTING AN ISSUE, PLEASE MAKE SURE THE PROBLEM IS NOT ADDRESSED IN THE README!
Expected behavior
Are able to find near
Actual behavior
Getting the error "exception": "#<ActiveRecord::RecordNotFound: Couldn't find Test with 'id'=near>",
Steps to reproduce
My model
class Test < ApplicationRecord

	reverse_geocoded_by :lat, :long
	after_validation :reverse_geocode  # auto-fetch address
end

My action
 def near
   @near = Test.near([22.844279, -43.306174], 20, :units => :km)
   render json: @near
  end

Environment info

Geocoder version: 1.4.5
Rails version:  5.1.4
Database (if applicable): sqlite

This might be related to #1178. Could you try using < ActiveRecord::Base instead of ApplicationRecord ?

@alexreisner I solved this...
It was a route problem. /tests/near trying to get tests by id beacause of  resources :tests in the routes.
So now, I'm facing another problem. A blank array
Got this in database:
  "id": 2,
        "name": "sogra",
        "lat": "-22.833695",
        "long": "-43.313411",

This is my action using the same coordenates
 def near
   @near = Test.near([-22.844279, -43.306174], 100, :units => :km)
   render json: @near
  end

This is my model:
class Test < ApplicationRecord
	reverse_geocoded_by :lat, :long
end

It's returning blank array. Help pls


tests-ci : net: socket: mgmt test No Console Output(Timeout)

**Describe the bug**
mgmt test is No Console Output(Timeout) on zephyr-v3.2.0-2490-ga1b4896efe46 on mimxrt1170_evk_cm7

see logs for details

**To Reproduce**
1.
```
scripts/twister --device-testing --device-serial /dev/ttyACM0 -p mimxrt1170_evk_cm7      --sub-test net.socket
```
2. See error

**Expected behavior**
test pass

**Impact**

**Logs and console output**

```
W: You have 1 IPv6 net_if addresses but 2 network interfaces

W: Consider increasing CONFIG_NET_IF_MAX_IPV6_COUNT value.
E: ***** USAGE FAULT *****
E:   Illegal use of the EPSR
E: r0/a1:  0x00000000  r1/a2:  0xe000ed00  r2/a3:  0xfffffff8
E: r3/a4:  0x800087ac r12/ip:  0x40460000 r14/lr:  0x30011441
E:  xpsr:  0xa0000000
E: Faulting instruction address (r15/pc): 0x00000000
E: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
E: Current thread: 0x80000a58 (main)
E: Halting system
```

**Environment (please complete the following information):**
 - OS: (e.g. Linux )
 - Toolchain (e.g Zephyr SDK)
 - Commit SHA or Version used: zephyr-v3.2.0-2490-ga1b4896efe46

@dleach02 , @mmahadevan108 , in rt11xx series almost all net socket related cases have the same fault.

can we bisect these...

git bisect found the issue is same root cause of #53035 with below commit
commit https://github.com/zephyrproject-rtos/zephyr/commit/b5708e273b5f34a74e26ec60ac05c759ad0717ce


Updates aggregate functions to return scalar values

In laravel versions >= 5.1 the eloquent pluck method returns a collection instead of a scalar.
So this fix updates the averageRating, countRating, sumRating and ratingPercent methods of the ReviewRateable trait to return the actual values instead of the collection.

I think the PR need to be merged, I got the same issue, and to resolve it I added an override to the ratingPercent() function into my model using the trait ReviewRateableTrait

What about
 $total = $ratings->selectRaw('SUM(rating) as total')->value('total');
instead of
$total = $ratings->selectRaw('SUM(rating) as total')->pluck('total');


Wireguard ip doesn't appears on deployment list table

but if we open the deployment details:

This happens on VM, Full VM, and Umbrel, not sure if there are any other solutions affected by this bug

verified
env used : devnet
wire guard ip is now appearing in the deployment list

testlodge:
https://app.testlodge.com/a/26076/projects/40893/suites/234374?expand_section=422332#case_4157424

Verified:

Devnet
ec2ed3d


Helper to get PeerInfo from Host

Trivial change to make this easier based on user feedback.
go-libp2p-host already imports the go-libp2p-peerstore, so no strings attached.

This should probably get a test.

@Stebalien didn't think it would add much value, since the function just creates a struct, but I pushed it in 4474f22a8ae25bcb4f0440b51481d9e3580c5d17. Couldn't think of a way other than creating a mock host, or importing another module (which we don't want to do). LGTY?

Alternatively we could have an interface that's a partial view on Host with only ID() and Addrs(), but I really don't want to do that as it also reduces discoverability by the libp2p newbie.

Oh, nevermind. I'm just working on a knee-jerk needs-test reaction. The test is more likely to break than the code.

@Stebalien I feel you; I'll rm this test.

Why does this new function return a *PeerInfo when methods like Host.Connect take a concrete PeerInfo?  This seems strange.

@lthibault for consistency with pstore.InfoFromP2pAddr() and pstore.InfoToP2pAddrs(), both of which use pointers.

@raulk

We do return a concrete PeerInfo, just allocated in the heap.

Are you using the term "concrete" to mean "not an interface"?  If so, this is just semantics :)
More to the point, shouldn't Host.Connect() take a pointer, then?  Again, this makes the API feel quite inconsistent from the outside.

@lthibault it could, but i don't really see the value. Pointers don't make an API feel inconsistent; they're used for technical reasons. The actual types are the same.
That said, these structs are small enough that copy-on-return wouldn't hurt. But this change is not worth the breakage.

Yeah, in most places we try to return these by value but it's really not that much of an issue (and I agree with being consistent).


What is the purpose of AbstractTOMLDict?

The documentation reads:
"""
    AbstractTOMLDict{FT <: AbstractFloat}

Abstract parameter dict. One subtype:
 - [`ParamDict`](@ref)
"""

Indeed, there is only one subtype and the rest of the package is implemented around this type.
Maybe we can we remove this extra layer in the next breaking release?

There used to be an additional subtype, but now this abstract type is unneeded. I can remove it soon.


ROX-19021: Feature-flag for asynchronous connections special treatment

Description
The specific handling around asynchronous connections can lead to unadvertised (while successful) connections.
This flag reverts to advertise them by default even though we don't know if they will be successful.
Checklist

[ ] Investigated and inspected CI test results
[ ] Updated documentation accordingly

Automated testing

[ ] Added integration tests

Should the set_track_connection_status be also hidden behind the flag?


[IOTDB-3360] Fix precision loss bug due to float converted to double

More details: https://issues.apache.org/jira/browse/IOTDB-3360

Revert the change about checkstyle.xml?

Spotless made the change automatically. Fixed.


dep: add basic tests

~This doesn't check that the shellouts work (because I wasn't sure how to
do that*) -- but at least it asserts he right info formats, and checks
repo_path() and packages_path().~ (This is only some rather shallow unit tests; integration tests for stable fetch are tracked in #28.)
The tag-related "complete" info cases are there for completeness' sake
more than functional implications -- as the checkout isn't tested, they
have little effect.
*how to do that using only pony -- I suppose we could resort to setting up some per-test $PATH pointing to shell script stubs for git, etc

Updated for #69 ✔

@mfelsche I'm merging this, hope you don't mind. Optimistically assuming to have answered your question -- happy to revisit this if it's not the case. :)

Everything is cool @srenatus


Wrap numeric terms in parens, closes #454

Basically, wrap any numerical operation in parens. Maybe it's now over–paren-ing in some spots (it's not immediately clear how to safely dedupe), but the bug is fixed and the resulting SQL from the issue becomes:
SELECT
   ((((base.product_retail_price-base.cost)))/(nullif(base.product_retail_price,0))) as gross_margin_pct_good,
   ((base.product_retail_price-base.cost)/(nullif(base.product_retail_price,0))) as gross_margin_pct_bad
FROM `malloy-data.ecomm.inventory_items` as base

I've been slow to fix this one because I want to keep the SQL readable.  Looking to get some paren hints from the parser.

/gcbrun
but probably won't merge.  Thanks for the effort and raising the importance.
@mtoy-googly-moogly , perhaps we can talk about knowing about fragment complexity?

Thanks for taking a look!
I'm curious to learn, if you have a moment. What's the ultimate solution?

"Wrap all numeric math in parens" and "dedupe unnecessary parens"
"Add parens only when mathematically necessary"
Something else?

No. 1 would add parens to all math, but maybe that's ok? The "dedupe unnecessary parens" part seems doable and maybe beneficial for all queries?
I think No. 2 would require a lot more state passed around and more complexity (adding five columns together requires no parens, but a multiplication needs to know if it's surrounded by operations lower on the order of operations, etc.).

My thinking is that the parser knows the complexity of an expression subtree.  An expression can know if it would need to be parenthesized if it were used as part of another expression.  I will know for sure with a conversation with @mtoy-googly-moogly .
Of course, what you wrote will work, but I'd like the SQL code to be as readable as possible and we haven't really tried yet.

Hey @greg-finley welcome to malloy! Thanks.
Here's my thinking.
Some of the oldest code in the translator is hidden in the fragment generation and I've made a lot of experiments with parens and learned a bit. If I could rewind time, I would always compose fragments with functions and never by hand, and I would enforce parens rules in the composition functions.  The function "does this need parens" or "de-dup parens" requires you to re-parse the string, which you really can't do because the fragments might contain quoted strings with parens in them. It is kind of too late, at fragment time, to look for paren rules. I know this because I went down this road.
So this code is wanting a spring cleaning and I have two plans. One is essentially what I mentioned above, to always compose fragments with functions, and make those functions smarter about parens.
The other, and the likely actual plan, is to have the source code-to-data translator write expression trees to the JSON intermediate instead of fragment trees, and the write a smarter tree walker/expression writer in the SQL generation step.
In the meantime, just write extra parens to keep things correct is the right answer.

The extra parens bug me a lot. By the way. Another possible solution would be to just parse and then pretty-print the resulting SQL. This parser wouldn't have to parse the full sql language, just the subset that malloy generates. I don't know if this idea is brilliant or horrible.

Awesome, thanks for all the explanation! I am new to AST stuff so need a bit of time to grok it.
Feel free to ditch this PR if it's not heading in the right direction, though I would say "query gives the right answer" might trump extra parens for the short term.

OK, I've looked at the PR. I feel like I have found a friend. Yes, the parens bug me, yes, you wanted the same thing to work that I did. No, that doesn't quite work. I'm going to suggest not taking the PR as it stands, but I feel horrible because you are so on the right track.

No need to feel horrible! I just looked for a quick solution but you're right to consider these more holistic plans.

Fixed another way, see #483


Azure Blob Storage Checkpoint Store Readme Issue

Section link:

Reason:
The link address is inaccurate.
Suggestion:
Update link to: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/src
@sandeep-sen , @joshfree , @ronniegeraghty , @ellismg and @antkmsft  for  notification.

The link accurately points to https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob which is a root folder for all the code (including pom.xml, readme, changelog).
We use the same pattern for all other libraries.


Update Python 3.5 to version 3.5.3.

Signed-off-by: David Black<EMAIL_ADDRESS>

We seem to be having some issues where https://www.python.org/ftp/python/3.5.3/ is being over-aggressively cached in some places (my office here used to be affected, but appears to be updated now, while our CI server is still affected).
The end result of that over-aggressive caching is that if we merge this now, @docker-library-bot will turn right around and undo the change in a few hours until that cache clears and it sees the update. :disappointed:

Looks like that cache is finally cleared as of today :+1:

@tianon Thanks for quick reaction! Can we get the image to show on the Docker Hub - https://hub.docker.com/r/library/python/ ? Python 3.5.3 is still not available there.

We just made a PR to official images https://github.com/docker-library/official-images/issues/2571

See a change merged here that doesn't show up on the Docker Hub yet? Check the "library/python" manifest file in the docker-library/official-images repo, especially PRs with the "library/python" label on that repo. For more information about the official images process, see the docker-library/official-images readme.
- README.md


Allow Chunk to disable preserving keys

Allow Collection chunk to take a second optional parameter for preserving keys.

There are cases where you want to chunk your collection and reset the keys instead of preserving it. The default PHP array_chunk function has this second argument.

By default, it will break the method signature

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


Notification icon is the wrong colour

Rules
To report a bug and help us to provide the solution as fast as possible, please follow the instructions below:
1 - Describe the bug
When the notification is displayed, the colour of the icon is black, instead of white. I am using a png with a transparent background and a white logo, but for some reason the white logo is black.
2 - Provide us as much information as possible
To help us to understand your issue, provide with your bug report all the relevant informations, such as:

Your plugins list inside the file pubspec.yaml (at least all notification plugins)
N/A
What platform did you found the issue
Android
What devices did you found the issue
PIxel 6 Pro
How are you initializing the plugin

      'resource://drawable/app_icon',
      <NotificationChannel>[
        _notificationChannelReminders,
      ],
      channelGroups: <NotificationChannelGroup>[
        NotificationChannelGroup(
          channelGroupkey: kNotificationsChannelGroupKey,
          channelGroupName: kNotificationsChannelGroupName,
        )
      ],
      debug: true,
    );

How are you creating the notification

final NotificationContent _notificationContentReminders = NotificationContent(
    id: 1,
    channelKey: kNotificationChannelKeyReminders,
    title: 'Celebrate your Little Victories!',
    body: 'Celebrating your Victories daily will help your wellbeing.',
    wakeUpScreen: true,
    category: NotificationCategory.Reminder,
  );

_notifications.createNotification(
      content: _notificationContentReminders,
    );

The output of flutter doctor command

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.0.4, on Microsoft Windows [Version 10.0.19044.2006], locale en-GB)
[√] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[√] Chrome - develop for the web
[X] Visual Studio - develop for Windows
    X Visual Studio not installed; this is necessary for Windows development.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components
[√] Android Studio (version 2021.1)
[√] VS Code (version 1.71.0)
[√] Connected device (4 available)
    ! Device emulator-5562 is offline.
[√] HTTP Host Availability

! Doctor found issues in 1 category.

3 - How To Reproduce the Error
Steps to reproduce the behavior:

Add a png with a white image and transparent background.
Use this in the notification initialization.
Fire a notification.

4 - Expected behavior
I expected to see the icon being white.

5 - Screenshots

6 - Additional context
Add any other context about the problem here.

Can you post a screenshot of the problem?
I have a suspicion of what it might be, but I need to see some image to confirm.

Updated with more information. Hope that helps!

This is a feature from Android 12. Im trying to find the android documentation now to send to you.
But I recommend you check how your icon looks in versions lower than Android 12.

This is the work mode/ bedtime. It's a mode added in Android 12 that is supposed to help you avoid distraction (and notifications), removing colors. I tried to find a way to deactivate it, but i didn't found any.

It's interesting that the icon is black though, right? Shouldn't it be white?

I've figured it out. It's all about the light/dark theme. I don't know if there's a way to ignore that but I doubt it. This can be closed, thanks for looking into it!


Fix missing translations

Describe the bug
Buffering & connecting does not appear on the screen
To Reproduce
Steps to reproduce the behavior:

Go play a video
There is only a title, no "Connecting..."

Fixed in release v0.6.3


Make TextBlock not panic if full, or allow query if it is room

On Rust: 1.49.0
OS: Arch Linux
Hi, I'm working with TextBlock to draw a log for a project I'm working on. I submit several TextBuilders to this to compose the
visible log entries. However, the log has limited space defined by the block. The issue occurs when the text builders add text beyond the available space of the block. The program simply panic!'s with no reasonable way to recover as far as I can tell. I see three possible solutions:

Let me query the remaining size of the block to see if it can fit the text in the builder, ala: TextBlock.can_fit(builder)
Return a Result<Ok, OutOfSpace> from the block.print(...) so I can at least avoid the panic and handle it myself
Allow Text Block's to have an scroll region. This probably needs to work in union with the previous two

I can possibly try to do a PR if you are busy, but I would still like an opinion on which you prefer. Perhaps another option already exists that I don't know about (still new to bracket)? I couldn't find it in the documentation or by googling at least. If there are other options in bracket_lib that let me easily print multiple colors in the same string I'd be open to change my approach too.
Thanks for the great library!

Sorry for slow replies, real-life has been hitting hard (I got ill, my mother ended up hospitalized - ack). Catching up now. I'll take a look at this now.

I believe the patch I just posted will take care of your needs. Let me know if there's any issues with it. Thanks for reporting the panic!

That worked great! Thanks for looking a it, hope you and your family are doing better! Appreciate your work on the library.


Diagram overview of processes

Hi, I was wondering whether a diagram showing an overview of how chains works would be useful to include in one of the READMEs? This is something I've had a go at putting together (it is based on the getting started and signed provenance tutorials).

Hey @mtcolman thanks for making this, it's really cool 🎉 ! I think this could be useful linked in the signed provenance tutorial since it's a nice diagram of what that tutorial is doing 😄  I just have a couple suggestions:

could you move things related to chains setup as the first couple setups? This would include step 5 (editing chains config) and step 6 (setting up cluster auth). that way the flow of reading what chains is actually doing won't get interrupted by setup.
Rekor should be moved out of the cluster since it's running as a separate service

@priyawadhwa how about these?

Getting Started Tutorial

Signed Provenance Tutorial

Hey @mtcolman thanks for updating the diagrams! Just a couple more thoughts and then we should be good:
Getting Started Tutorial:

This tutorial builds the gcr.io/foo/bar image but never actually pushes it to a registry (that way we don't have to worry about setting auth and stuff like that). so maybe we remove the push to the remote registry, and just say that the image was built?

The diagram for the signed provenance tutorial looks great!

@priyawadhwa here you go, updated "Getting Started Tutorial" diagram:

Amazing! If you have time to open a PR adding these to the tutorials I can get it merged in. I think this is gonna be really useful for people 😄

Closed by #294


How to sort by _id?

HI, My _id looks like this
"1", "2", "3" ... "9", "10", "11", "12" ...
If I try to sort by _id, but it always get such a result,
"1", "10", "11", "12" ... "2", "3", "4" ...
However, This is not what I want.
And, I know _id should only be string type in pouchdb.
Any help?

@yssource this is working as expected for javascript and strings. If you do ["2","1", "10"].sort(); you will get the same result.

@yssource if you care about order then add a field ( something like seq) and have its value be integers, not strings


Cap&U split up capture_infra_targets to allow tuning

Purpose or Intent
Scheduled job perf_capture_timer is responsible for kicking off Cap&U for the system.
It is split up into 2 parts:

Determine which resource (i.e.: Host, Storage, Vm) need Cap & U. this pr #9447
Submits them into the queue for further processing. #9477

This PR focuses part 1 and the themes are based upon 2 pain points from the past year:
a. Ensure the resources have an Ems assigned.
b. Make performance measurement easier.
This work makes it more explicit which data is loaded and available for part 2, (i.e.: submitting into the queue).
Currently, part 2 is the main bottleneck but non-trivial to fix.
Details

Explicitly use Zone.ems to fetch records. This ensures that all records will all have anEms assigned.
Extract a method for each resource type from capture_infra_targets. This simplifies the process and makes it easier to track down performance issues.
Calculate enabled hosts up front and store in it's own variable. This makes it unnecessary to run further host selection logic.
Extract convenience method to determine supported storage types.
Merged all preload logic into a single call (for minor savings).

/cc @jrafanie This is from a conversation we had. I just need this to get in so I know which tags are available for part 2. Ok to pawn off on someone else once you have a one over
Results
While this is attempting to organize code, it does have performance impact.
For 1 ems, 100 VMs, 10 hosts, and 13 storages. It ran 50 (6%) fewer queries resulting in 2% fewer objects allocated (~4MB of memory savings).

ms
objects
queries
query (ms)
rows
comments

2,798.3
1,997,671
961
684.9
11,202
before

2,546.1
1,961,437
908
556.1
11,149
after

@kbrock Please change the PR title to not use the auto-generated title

pushed again to pull out preload host data section

rebased to master. added in code to work around how rails pre-populates associations.
Also allowed targets with bad ems references to flow through the pre-population, so it could be ejected later in the process.

LGTM if we have tests that cover it.  👍

@jrafanie just rebased onto the tests that cover this.

LGTM

@kbrock can you cleanup the whitespace in a followup PR?  This one is already hefty.