Formatter changes the code after {} are removed from use::

Related Component
forc-fmt
Problem
library;

use std::{vec::*};

pub fn aggregate_results(results: Vec<Vec<u256>>) -> Vec<u256> {
    let mut aggregated = Vec::new();

    aggregated
}

is formatted to
library;

use std::vec::*;
pub fn
 aggregate_results(results: Vec<Vec<u256>>) -> Vec<u256> {
    let mut aggregated = Vec::new();
    aggregated
}

Steps
Use the file and format it :)
Possible Solution(s)
It should be formatted to
library;

use std::vec::*;

pub fn aggregate_results(results: Vec<Vec<u256>>) -> Vec<u256> {
    let mut aggregated = Vec::new();

    aggregated
}

Notes
No response
Installed components
active toolchain
----------------
testnet-aarch64-apple-darwin (override) (default), path: /Users/lukaszkalbarczyk/Devel/redstone-oracles-monorepo/worktree-cr/packages/fuel-connector/sway/fuel-toolchain.toml
  forc : 0.61.2
    - forc-client
      - forc-deploy : 0.61.2
      - forc-run : 0.61.2
    - forc-crypto : 0.61.2
    - forc-debug : 0.61.2
    - forc-doc : 0.61.2
    - forc-explore : 0.28.1
    - forc-fmt : 0.61.2
    - forc-lsp : 0.61.2
    - forc-tx : 0.61.2
    - forc-wallet : 0.8.1
  fuel-core : 0.28.0
  fuel-core-keygen : 0.28.0

fuels versions
--------------
forc : 0.64.0
forc-wallet : 0.64.0

Thanks for the issue!


Remove debug logging

Codecov Report

Merging #192 into master will decrease coverage by 0.03%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #192      +/-   ##
============================================
- Coverage     46.63%   46.60%   -0.04%
  Complexity      898      898
============================================
  Files           135      135
  Lines          3718     3714       -4
  Branches        503      503
============================================
- Hits           1734     1731       -3
+ Misses         1793     1792       -1
  Partials        191      191

Impacted Files
Coverage Δ
Complexity Δ

.../chopchop/logic/commands/AddIngredientCommand.java
63.82% <ø> (-0.88%)
12.00 <0.00> (ø)

Continue to review full report at Codecov.

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


Feature/doc improvements

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: ashvayka:x: ikulikovYou have signed the CLA already but the status is still pending? Let us recheck it.


Update the versions of the VS SDK NuGet packages used to build the VSIXs

With the move to building with VS 2022, this is causing some build pain.

/azp run


Enable discussions on this repo

Some of these issues seem like they should be discussions.
opinion time I use discussions to discuss ideas and then issues to track todos. In the spirit of this, around the time where I get "maybe consider this idea"-type posts/ideas, I usually enable the discussion tab. GitHub also has great integration for this workflow with a "Create Issue from Discussion" button!
p.s. also consider disabling the Projects tab if you're not using it? That's my ocd speaking.
I know you have your own workflow; if you prefer to keep all these text posts in Issues tab instead, that's OK too. ❤

Done :+1:

Would you also be so kind as to transfer #14 #11 and any other "consider X" issues to discussions? 🙏


Select

Hi, Can you provide a kind of feature that sets the default value of a select command?
That would be great

For that reason i created a pull request
https://github.com/manifoldco/promptui/pull/225


automatically active environment in Python Debug Console

Win7, Vscode insider, Anaconda distribution 2019.5, python extension version 2<IP_ADDRESS>6.
Issue:
using "Python: Current File" launch configure to debug python script does not recognize the python environment. When do the same thing using python extension version 2019.5.17517, the environment can be recognized after pushing F5 twice. (this is because version 2019.5.17517 automatically run command conda active base in the first F5 debug session after debug failed.
Feature desired:
automatically active environment when invoke python Debug console.

Duplicate of #5664


[Bug]: element disappears when cross the bound of the PDF footer

Minimal, reproducible example
import puppeteer from 'puppeteer';

(async () => {
  // Launch the browser and open a new blank page
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  // Navigate the page to a URL
  await page.goto('https://developer.chrome.com/', {
    waitUntil: 'networkidle2',
  });

  await page.emulateMediaType('screen');

  await page.pdf({
    path: 'hn.pdf',
    displayHeaderFooter: true,
    printBackground: true,
    footerTemplate: `

Footer

    `,
    margin: {
      bottom: 200,
    }
  });

  await browser.close();
})();

Error string
no error
Bug behavior

[ ] Flaky
[X] PDF

Background
I've been trying to adjust some dynamic footer element positions. The CSS includes a negative margin. At some point between Puppeteer v18.2.1 and v21.7.0 an element started to disappear even while 1px out of the Footer space.
Footer margin: 0

Footer margin: -1px

Expectation
A visible part of the element to be displayed
Reality
An element completely disappears
Puppeteer configuration file (if used)
No response
Puppeteer version
21.7.0
Node version
20.11.0
Package manager
npm
Package manager version
10.2.4
Operating system
macOS

I believe styling the footer this way relies on the internal implementation of the footer so you need to expect the default styles https://source.chromium.org/chromium/chromium/src/+/main:components/printing/resources/print_header_footer_template_page.html;l=13;drc=f6529c7990744370869e4ab2794caae6c46ba044
To make sure, it does not break in the future, I'd recommend only styling the content inside the footer.

Tested, it doesn't make a difference as long as at least a part of an element is caught outside of the footer area.
           #footer {
              margin: 0;
              ...
           }
           #footer div {
              /* margin bottom: 0; /* Big and nice DIV, completely visible */
              margin-bottom: -1px; /* no DIV at all */
              ...
          }

I am able to reproduce and I not sure why PDF printing excludes the negative margins. Could you report it to crbug.com/new please? (it is an issue in the browser implementation it seems).

Submitted at https://issues.chromium.org/issues/336164418
My theory is the rendering engine tries to preserve an element in one piece, and pushes it to the "next page" which may work for the regular content, but fails for the footer. But I'm not common with the internals to say how realistic this assumption is.

The upstream issue is marked as fixed, so closing this issue.

If any of you are having a hard time debugging Puppeteer, I'm creating a new service to make it easier: Buglesstack. It's currently in beta, so I'd be glad if any of you try it out!


fix(build): add ascProvider

:tada: This PR is included in version 1.5.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[QUESTION]  how i can set selectedOptionColor as hexa

i am try to set hexa color  ( #E8F3FE  ) on selectedOptionColor  but i got the following css:
background:  E8F3FE.500
what is wrong ?

So the name of the prop selectedOptionColor is kind of a misnomer. It should really be selectedOptionColorScheme because it applies a color from your theme depending on whether your app is in light or dark mode.  If you want to set the color to a specific hex color, you should use the chakraStyles prop to customize it.
Here's an example of how you could accomplish that: https://codesandbox.io/s/chakra-react-select-selected-option-color-1k9ob3?file=/example.js
import { Select } from "chakra-react-select";

const Example = () => (
  <Select
    name="colors"
    options={groupedOptions}
    placeholder="Select some colors..."
    closeMenuOnSelect={false}
    chakraStyles={{
      option: (provided, { isSelected }) => ({
        ...provided,
        ...(isSelected && {
          backgroundColor: "#E8F3FE",
          color: "black"
        })
      })
    }}
  />
);

I'm going to close this because an answer has been provided, if you still need help feel free to reach out!


Improve autoscaling configuration to support VPA & HPA and separates deployments

👋
As we are migrating to v3, I was surprised to find that the autoscaling configuration was the same for both worker and web components.
While I was at it I used the opportunity to update the README part for autoscaling while adding support for VPA.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Cache-Control / CORS for assets

add cache control headers and CORS for assets handler

Added with https://github.com/kynrai/gofs/pull/5


Migrate away from Tortoise ORM

I started this project with Tortoise ORM, as a first time using it and to try it out.
While writing this, I've realized that Tortoise ORM doesn't deal with queries and relationships as nicely. This leads to a lot of questionable code which requests something, checks for the request succeeding with is not None and then requests the next thing.
To clean that up, I would like to switch to SQLAlchemy.
If you've got some time on your hands and want to have a try at this issue, comment on this before starting work.

I've just found out about Prisma and prisma-client-py, which is very appealing to me due to its nature of fully supporting type-checking.
https://prisma-client-py.readthedocs.io/
i'm going to play around with it a bit, and likely change this issues focus to prisma instead - likely followed by migrating the code over myself.

i'm going to start working on this in the prism-models branch


Refactor

I think this is in a position I like it to be in. Going to post this to reddit and get some feedback.
Breaking changes
Module name
The package name for formatter.nvim has changed from format to formatter.
Update the require statement to the following
- local formatter = require("format")
+ local formatter = require("formatter")

Formatter setup
Before formatters were a key/value table, which could run out of order. Instead, they should now all just be index-based tables (arrays,lists).

- javascript = {
-     prettier = function()
-       return {
-         exe = "prettier",
-         args = {"--stdin-filepath", vim.api.nvim_buf_get_name(0), '--single-quote'},
-         stdin = true
-       }
-     end,
-     jsBeautify =   function()
-       return {
-         exe = "js-beautify",
-         args = {"--indent-size", 2}
-       }
-       end
-   }
- },

+ javascript = {
+   function()
+     return {
+       exe = "prettier",
+       args = {"--stdin-filepath", vim.api.nvim_buf_get_name(0), "--single-quote"},
+       stdin = true
+     }
+   end,
+   function()
+     return {
+       exe = "js-beautify",
+       args = {"--indent-size", 2}
+     }
+   end
+ }

Setup config
The last major change was how the setup function works. Instead of passing the formatters directly, there's now a new filetype key that should be used
require('formatter').setup({
  logging = false,
  filetype = {
    javascript = {
        -- prettier
       function()
          return {
            exe = "prettier",
            args = {"--stdin-filepath", vim.api.nvim_buf_get_name(0), '--single-quote'},
            stdin = true
          }
        end
    },
    rust = {
      -- Rustfmt
      function()
        return {
          exe = "rustfmt",
          args = {"--emit=stdout"},
          stdin = true
        }
      end
    }
    lua = {
        -- luafmt
        function()
          return {
            exe = "luafmt",
            args = {"--indent-count", 2, "--stdin"},
            stdin = true
          }
        end
      }
  }

Oh, I found an issue with this branch. Are you able to make prettier work with a file that has a filename like [slug].js? It throws an error but I don't know where to trace that error. It only says 'Formatter: Error running prettier. Tried to set logging` to true but it does nothing.

Mm, not sure. Is the file name exactly [slug].js? a quick way to validate your settings is to try to run them through the command line directly
cat [slug].js | prettier --stdin-filepath {path to file}

Ok, I think I found the issue. I need to wrap the filename with quote. e.g cat '[slug].js' | prettier --stdin-filepath '[slug].js'
Maybe formatter didn't wrap the filename with quote? So it fails to format it.

the plugin doesn't really process the buffers name in any space except from the users defined formatters. What's probably happening is that the [] in the file name are getting treated as shell escape sequences, so the job never starts.
2 options I see:

don't name files like that? Kind of a drastic change if you already have them, but I could see this being problematic with any tool that would run on that kind of a codebase.

escape the file name  in your config?

ok gotcha! I found the solution which is adding the quote in my config. Thanks :)

Oh, I found an issue with this branch. Are you able to make prettier work with a file that has a filename like [slug].js? It throws an error but I don't know where to trace that error. It only says 'Formatter: Error running prettier. Tried to set logging` to true but it does nothing.

This issue was fixed in prettier 2.0


allow f to not return x when x=None

def f(tau):
    blah blah
   return y
interactive_plot(f, tau = np.linspace...)

could be equivalent to plt.plot(f(tau[0])). .I think this would sacrifice the case where f returns both x and y but only a single point for both and not as numpy arrays. which like, whatever... that does not seem like a terrible thing to lose

should f be allow to return a variable number of values? that's the fully general solution but seems way more annoying to create


Unable to load videos from Android Assets folder

Bug
I am unable to reference videos in the Android assets folder.
I am passing through a uri object using the asset protocol i.e:
{ uri: asset:/videos/2019-06/TEST_VIDEO.mp4 }
There is no error, but the video is not loaded.
Platform
Android ExoPlayer
Environment info
Using version 5.0.2 react-native-video.
Using version 0.61.1 of react-native.
React native info output:
There is no error.
Library version: 5.0.2
Steps To Reproduce

Reference a mp4 file from the android assets folder.
Build app
View video

Expected behaviour

The video loads and can be played.

@Darren-Ivey did you solve the problem?)

I am looking into this myself. I know that the regex will fail within the video.js file.

Ok so the regex should fail... sort of... the code expects assets or resources placed in the drawable and raw directories to be named verbatim. Currently I am looking into the code's form of getting the identifiers. This would be line 322 and 328 (I am using 329 currently through the raw resource directory) within ReactNativeVideo.java.
The identifier returned is always erroneous, throwing a silent error and causing the eventless black screen.
Current workaround is to replace line 334 with a static format. R.raw.name_of_asset or R.drawable.name_of_asset within the code.
setRawData(R.drawable.video.mp4)
For example.

Bug
I am unable to reference videos in the Android assets folder.
I am passing through a uri object using the asset protocol i.e:
{ uri: asset:/videos/2019-06/TEST_VIDEO.mp4 }
There is no error, but the video is not loaded.
Platform
Android ExoPlayer
Environment info
Using version 5.0.2 react-native-video.
Using version 0.61.1 of react-native.
React native info output:
There is no error.
Library version: 5.0.2
Steps To Reproduce

Reference a mp4 file from the android assets folder.
Build app
View video

Expected behaviour

The video loads and can be played.

Just Read this comment-157237650

@TFlexSoom @HessiPard excellent thank you both! I will try adding the videos to the raw folder.


Support index method on tuples

Closes gh-2826.

Codecov Report

Merging #2836 into master will decrease coverage by <.01%.
The diff coverage is 84.37%.

@@            Coverage Diff            @@
##           master   #2836      +/-   ##
=========================================
- Coverage    86.1%   86.1%   -0.01%
=========================================
  Files         324     325       +1
  Lines       67518   67549      +31
  Branches     7585    7588       +3
=========================================
+ Hits        58138   58164      +26
- Misses       8167    8172       +5
  Partials     1213    1213

Thanks for the patch. I've added a comment on the code directly that will hopefully allow the patch size to be shrunk. I'm of the view that the High-level extension API it is really useful and worth a look? Feedback welcomed. Thanks again.

Thanks for the help @stuartarchibald, that makes the changes much simpler.

Changes made.

Thanks for the fixes, looks good. Will merge shortly.


Warning: Experimental feature "module_variable_optional_attrs" is active

Just FYI
No roadblock so moving on
╷
│ Warning: Experimental feature "module_variable_optional_attrs" is active
│
│   on .terraform/modules/ibm-vpc-subnets/version.tf line 10, in terraform:
│   10:   experiments = [module_variable_optional_attrs]

@balasgit Can this issue be closed?

@balasgit This is by design. What is the problem?


Add help to the Settings in the Save Definition dialogue

Mockup:

Add information on hover

Thanks @RichardFrangenberg <3


[BUG] COMPUTE-SANITIZER due to "invalid argument" on CUDA API call to cudaFreeHost

Describe the bug
nightly build failed on : COMPUTE-SANITIZER due to "invalid argument" on CUDA API call to cudaFreeHost
details of sanitizer_for_pid_20945.log
========= COMPUTE-SANITIZER
========= Program hit cudaErrorInvalidValue (error 1) due to "invalid argument" on CUDA API call to cudaFreeHost.
=========     Saved host backtrace up to driver entry point at error
=========     Host Frame: [0x480aa6]
=========                in /usr/lib64/libcuda.so.1
=========     Host Frame: [0x36c6bde]
=========                in /tmp/cudf8889764934804329139.so
=========     Host Frame:Java_ai_rapids_cudf_Cuda_freePinned [0xd9a8e1]
=========                in /tmp/cudf8889764934804329139.so
=========     Host Frame: [0xffffffffe7e80b26]
=========                in
=========
========= Program hit cudaErrorInvalidValue (error 1) due to "invalid argument" on CUDA API call to cudaGetLastError.
=========     Saved host backtrace up to driver entry point at error
=========     Host Frame: [0x480aa6]
=========                in /usr/lib64/libcuda.so.1
=========     Host Frame: [0x36be2c4]
=========                in /tmp/cudf8889764934804329139.so
=========     Host Frame:cudf::detail::throw_cuda_error(cudaError, char const*, unsigned int) [0xceb78a]
=========                in /tmp/cudf8889764934804329139.so
=========     Host Frame:Java_ai_rapids_cudf_Cuda_freePinned [0xd9a907]
=========                in /tmp/cudf8889764934804329139.so
=========     Host Frame: [0xffffffffe7e80b26]
=========                in
=========
========= ERROR SUMMARY: 2 errors

Fixed by #15753


Canal is broken in latest bundles

Hi all,
Canal appears to be broken in the latest bundles, it causes the worker nodes to constantly hang, here is an example of such a bundle: https://raw.githubusercontent.com/CalvinHartwell/canonical-kubernetes-demos/master/cdk-logging-and-monitoring/cdk-logging-monitoring.yaml.
When I deploy this, my kubernetes worker nodes constantly hang with the filebeat and kubernetes-worker nodes stuck in a loop which never ends. To fix this, I had to replace Canal with Flannel and it started to work again:
https://gist.githubusercontent.com/CalvinHartwell/247214dca037eeb3f3fa69d99a2a352f/raw/744544baff2b8eadbd8b931ffb900a2112526f86/cdk-logging-monitoring-flannel.yaml
FYI this just blocked me a good hour. This will also block customer deployments and demos.

Hi @CalvinHartwell ,

Canal appears to be broken in the latest bundles, it causes the worker nodes to constantly hang, here is an example of such a bundle: https://raw.githubusercontent.com/CalvinHartwell/canonical-kubernetes-demos/master/cdk-logging-and-monitoring/cdk-logging-monitoring.yaml.

Where did you find this yaml? Looking at the revisions of core cdk charms they seem really old. For example in the bundle you provide alink to I see cs:~containers/easyrsa-39, cs:~containers/kubernetes-master-102, cs:~containers/kubernetes-worker-114 (and using 1.9/stable kubernetes) whereas in the released bundle at https://api.jujucharms.com/charmstore/v5/canonical-kubernetes/archive/bundle.yaml we have cs:~containers/easyrsa-114, cs:~containers/kubernetes-master-210, cs:~containers/kubernetes-worker-231. Could that be the source of the issue? The second bundle you linked to does not have any revisions for kubernetes charms (defaulting to the latest revisions) and it uses the latest 1.12/stable k8s channel.
Regardless what the issue may end up being, if we have links to outdated bundle.yamls we should spot them and update them.

@CalvinHartwell something is not right. The https://raw.githubusercontent.com/CalvinHartwell/canonical-kubernetes-demos/master/cdk-logging-and-monitoring/cdk-logging-monitoring.yaml does not have canal in it.

Here is the field agent report
results-2018-10-09-13-33-54.tar.gz

Thanks - I will try some more testing with a simpler bundle to see if I can get it to deploy Canal at all.

@hyperbolic2346 @ktsakalozos any chance you could also test with Calico?

@CalvinHartwell the fix will be applied in both canal and calico

Very cool, I tried the canal release 146 and it eliminated the canal/kube-api problems I was having after upgrading all the charms to "stable".
Tahnks @CalvinHartwell @hyperbolic2346

@CalvinHartwell the fix will be applied in both canal and calico

Thanks @ktsakalozos, FYI we have a deployment about to start this week which needs this fix if the customer asks for Canal so I've bumped up the priority. The alternative is to deploy 1.11.

I have the same trouble with the cdk 1.11 release and the canal/141. What version of the canal charm to you recommend to run alongside 1.11?

I ran into an issue with the Canal charm using canal-149 (and 141). It appears that under certain conditions (heavy contention in my case) the charm sometimes doesn't populate the kubeconfig option in 10-canal.conflist
ubuntu@pro-gecko:~$ cat /etc/cni/net.d/10-canal.conflist
{
"name": "cdk-canal",
"plugins": [
{
"type": "flannel",
"delegate": {
"type": "calico",
"etcd_endpoints": "https://<IP_ADDRESS>:2379",
"etcd_key_file": "/opt/calicoctl/etcd-key",
"etcd_cert_file": "/opt/calicoctl/etcd-cert",
"etcd_ca_cert_file": "/opt/calicoctl/etcd-ca",
"log_level": "info",
"policy": {
"type": "k8s"
},
"kubernetes": {
"kubeconfig": "None"
}
}
},
{
"type": "portmap",
"capabilities": {"portMappings": true},
"snat": true
}
]
}
The deployment is then stuck on "Waiting for kube-system pods to start" on the kubernetes-master.
I can manually correct the error by changing "kubeconfig": "None" to "kubeconfig": "/root/cdk/kubeconfig" in 10-canal.conflist and after a few minutes the pods get IPs and the deployment completes.
I am attaching logs from my test environment where juju machine 1 is enough-sheep (worked correctly) and juju machine 2 is pro-gecko (which shows the issue). The after-fix files show the output after correcting pro-gecko's 10-canal.conflist
juju_complete_debug-log.log
juju_status.txt
juju_status-after-fix.txt
kubectl_get_pods.txt
kubectl_get_pods-after-fix.txt
1-enough-sheep_10-canal.conflist.txt
1-enough-sheep_unit-canal-2.log
2-pro-gecko_10-canal.conflist.txt
2-pro-gecko_unit-canal-1.log

@KellenRenshaw did you happen to let this sit long enough for another set of hooks to run? That would take about 5 minutes or so. My assumption is that since we set the connected state potentially before the config exists, that could mean that we run configure_cni before the config exists and write out a bad config file.
The next set of hooks should clear that up, but it is a wait that isn't necessary. Does that sound sane?
If so, the fix here could be one of two things. Add a state to the interface to indicate that we have config or just use the is-master and is-worker states to indicate this to us with a @when_any('cni.is-master', 'cni.is-worker').

@hyperbolic2346 I let it sit for ~12h before I went in and pulled the debug info and manually fixed it. It was in the broken state for at least 11h. I deliberately stressed the system it was deploying to, since it seems to work better (not completely) when things deploy quickly.

@hyperbolic2346 @tvansteenburgh I might need to bump the priority of this up as it will affect some customer deployments if it is not fixed in the next week or so.

@CalvinHartwell the fix will be applied in both canal and calico

Thanks @ktsakalozos, FYI we have a deployment about to start this week which needs this fix if the customer asks for Canal so I've bumped up the priority. The alternative is to deploy 1.11.

I have the same trouble with the cdk 1.11 release and the canal/141. What version of the canal charm to you recommend to run alongside 1.11?

It might be better to role with 1.10 for a awhile until this is addressed, but I never had this issue on 1.11. I can do some testing for you early next week to see if I can work out which charm version is working. Can you please share your bundle?
Cheers

This was fixed with version 142 of the canal charm, which is now stable. Note that https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/671 is still open, but I'm working on that now.

@hyperbolic2346 is calico still broken as well?

@CalvinHartwell, no calico passes. Running canal tests now

canal passed as well, with edge charms/bundles

Calico stable charms have the fix, canal doesn't yet, but we're pushing that today. Those fixes should solve this. For clarity, they were fixed with the following PRs: https://github.com/juju-solutions/interface-kubernetes-cni/pull/4 https://github.com/juju-solutions/layer-canal/pull/22 https://github.com/juju-solutions/layer-calico/pull/26
Further, we are improving our CI around this to prevent this from happening in the future.

These fixes are now pushed to stable and released. Charm revisions with the fix: cs:~containers/canal-483 and cs:~containers/calico-494.
Note that these are also updated in the respective bundles now.


IgNetworkError [RequestError]: Error: tunneling socket could not be established, statusCode=407

Bug Report
Read the Notes and fill out the form.
Notes
Your issue will be closed if you violate any rule below.

You need to include a meaningful section of your code
(not your entire project and not a single line).
Please do not add screenshots as they're not easy to work with.
Errors like IgActionSpamError (feedback_required), IgCheckpointError (challenge_required), checkpont_required, login_required
are "common" and there are multiple issues, search here.
You can delete this section after reading it.

Form
Put an [x] if you meet the condition, else leave [ ].
Requirements

[x] I've searched the Issues
[x] I've read the basic concepts
[x] I'm using the latest version
[x] I've debugged my code using the DEBUG variable.

Platform

[x] I'm using Node.js version 14.15.5
[ ] I'm using electron
[ ] I'm using the browser YOUR_BROWSER_AND_VERSION
[ ] I'm using some other environment YOUR_ENV

Description
I have deployed a scheduled Instagram poster to heroku using the Instagram-private-api. It was worked fine for a few days, but in the last two or three days, it cannot upload any posts when deployed on heroku. It works locally though. This error might be related to proxies. For proxies, I am using FIXIE addon on Heroku. However, I checked that and it is proxying my requests correctly.
Code
My Instagram Posting Code -
import { get } from 'request-promise';
import { IgApiClient, MediaRepositoryConfigureResponseRootObject } from 'instagram-private-api';
import getCaption from './caption';
import { getEmailBody, sendEmail } from '../email';
import { FAILED }  from '../utils'

export default async function post(imageId: string, imageURL: string) {
  try {
    const ig = new IgApiClient();

    ig.state.generateDevice(process.env.IG_USERNAME);
    // Optionally you can setup proxy url
    if (process.env.NODE_ENV === "production") {  // * Might have to test it
      console.log(process.env.FIXIE_URL);
      ig.state.proxyUrl = process.env.FIXIE_URL
    }
    await ig.simulate.preLoginFlow();
    const loggedInUser = await ig.account.login(
      process.env.IG_USERNAME,
      process.env.IG_PASSWORD
    );
    // The same as preLoginFlow()
    // Optionally wrap it to process.nextTick so we dont need to wait ending of this bunch of requests
    process.nextTick(async () => await ig.simulate.postLoginFlow());

    // * Post Image
    const imageBuffer = await get({
      url: imageURL, // random picture with 800x800 size
      encoding: null, // this is required, only this way a Buffer is returned
    });

    const publishResult: MediaRepositoryConfigureResponseRootObject = await ig.publish.photo({
      file: imageBuffer, // image buffer, you also can specify image from your disk using fs
      caption: getCaption(), // nice caption (optional)
    });
    return publishResult;
  } catch (error) {
    console.log(error);
    // * Send Post Failed Email
    const [text, html] = getEmailBody(FAILED, imageId, error)
    sendEmail(FAILED, imageId, text, html);
  }
}

Error and Output
If you've got an error put it here.
You can get the stacktrace in the most environments using
Error.stack (MDN Docs).
2021-07-10T18:21:39.266368+00:00 heroku[web.1]: State changed from starting to up
2021-07-10T18:21:39.307182+00:00 app[web.1]: IgNetworkError [RequestError]: Error: tunneling socket could not be established, statusCode=407
2021-07-10T18:21:39.307211+00:00 app[web.1]: at Request.faultTolerantRequest (/app/node_modules/instagram-private-api/dist/core/request.js:132:19)
2021-07-10T18:21:39.307212+00:00 app[web.1]: at async Request.send (/app/node_modules/instagram-private-api/dist/core/request.js:47:26)
2021-07-10T18:21:39.307216+00:00 app[web.1]: at async AccountRepository.msisdnHeaderBootstrap (/app/node_modules/instagram-private-api/dist/repositories/account.repository.js:250:26) {
2021-07-10T18:21:39.307217+00:00 app[web.1]: cause: Error: tunneling socket could not be established, statusCode=407
2021-07-10T18:21:39.307217+00:00 app[web.1]: at ClientRequest.onConnect (/app/node_modules/tunnel-agent/index.js:166:19)
2021-07-10T18:21:39.307218+00:00 app[web.1]: at Object.onceWrapper (events.js:482:26)
2021-07-10T18:21:39.307218+00:00 app[web.1]: at ClientRequest.emit (events.js:375:28)
2021-07-10T18:21:39.307219+00:00 app[web.1]: at Socket.socketOnData (_http_client.js:553:11)
2021-07-10T18:21:39.307219+00:00 app[web.1]: at Socket.emit (events.js:375:28)
2021-07-10T18:21:39.307219+00:00 app[web.1]: at addChunk (internal/streams/readable.js:290:12)
2021-07-10T18:21:39.307220+00:00 app[web.1]: at readableAddChunk (internal/streams/readable.js:265:9)
2021-07-10T18:21:39.307220+00:00 app[web.1]: at Socket.Readable.push (internal/streams/readable.js:204:10)
2021-07-10T18:21:39.307221+00:00 app[web.1]: at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {
2021-07-10T18:21:39.307222+00:00 app[web.1]: code: 'ECONNRESET'
2021-07-10T18:21:39.307222+00:00 app[web.1]: },
2021-07-10T18:21:39.307223+00:00 app[web.1]: error: Error: tunneling socket could not be established, statusCode=407
2021-07-10T18:21:39.307223+00:00 app[web.1]: at ClientRequest.onConnect (/app/node_modules/tunnel-agent/index.js:166:19)
2021-07-10T18:21:39.307223+00:00 app[web.1]: at Object.onceWrapper (events.js:482:26)
2021-07-10T18:21:39.307224+00:00 app[web.1]: at ClientRequest.emit (events.js:375:28)
2021-07-10T18:21:39.307224+00:00 app[web.1]: at Socket.socketOnData (_http_client.js:553:11)
2021-07-10T18:21:39.307224+00:00 app[web.1]: at Socket.emit (events.js:375:28)
2021-07-10T18:21:39.307225+00:00 app[web.1]: at addChunk (internal/streams/readable.js:290:12)
2021-07-10T18:21:39.307225+00:00 app[web.1]: at readableAddChunk (internal/streams/readable.js:265:9)
2021-07-10T18:21:39.307225+00:00 app[web.1]: at Socket.Readable.push (internal/streams/readable.js:204:10)
2021-07-10T18:21:39.307226+00:00 app[web.1]: at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {
2021-07-10T18:21:39.307226+00:00 app[web.1]: code: 'ECONNRESET'
2021-07-10T18:21:39.307226+00:00 app[web.1]: },
2021-07-10T18:21:39.307227+00:00 app[web.1]: options: {
2021-07-10T18:21:39.307227+00:00 app[web.1]: method: 'POST',
2021-07-10T18:21:39.307227+00:00 app[web.1]: url: '/api/v1/accounts/msisdn_header_bootstrap/',
2021-07-10T18:21:39.307228+00:00 app[web.1]: form: {
2021-07-10T18:21:39.307228+00:00 app[web.1]: ig_sig_key_version: '4',
2021-07-10T18:21:39.307230+00:00 app[web.1]: signed_body: '6ab187f149487a785bf75c8e8a7911cad107c71dcd80577583e0e369e72db4d2.{"mobile_subno_usage":"ig_select_app","device_id":"7b4b2abb-ac29-5dd5-ba7f-0a0f999b2b5f"}'
2021-07-10T18:21:39.307230+00:00 app[web.1]: },
2021-07-10T18:21:39.307231+00:00 app[web.1]: baseUrl: 'https://i.instagram.com/',
2021-07-10T18:21:39.307231+00:00 app[web.1]: resolveWithFullResponse: true,
2021-07-10T18:21:39.307231+00:00 app[web.1]: proxy: 'http://fixie:c7KwVWl6fVUXVh6@velodrome.usefixie.com:80',
2021-07-10T18:21:39.307232+00:00 app[web.1]: simple: false,
2021-07-10T18:21:39.307232+00:00 app[web.1]: transform: [Function: requestTransform],
2021-07-10T18:21:39.307232+00:00 app[web.1]: jar: RequestJar { _jar: [CookieJar] },
2021-07-10T18:21:39.307233+00:00 app[web.1]: strictSSL: false,
2021-07-10T18:21:39.307233+00:00 app[web.1]: gzip: true,
2021-07-10T18:21:39.307233+00:00 app[web.1]: headers: {
2021-07-10T18:21:39.307234+00:00 app[web.1]: 'User-Agent': 'Instagram <IP_ADDRESS>.119 Android (27/8.1.0; 480dpi; 1080x2150; HUAWEI/HONOR; COL-L29; HWCOL; kirin970; en_US; 185203708)',
2021-07-10T18:21:39.307234+00:00 app[web.1]: 'X-Ads-Opt-Out': '0',
2021-07-10T18:21:39.307234+00:00 app[web.1]: 'X-CM-Bandwidth-KBPS': '-1.000',
2021-07-10T18:21:39.307234+00:00 app[web.1]: 'X-CM-Latency': '-1.000',
2021-07-10T18:21:39.307235+00:00 app[web.1]: 'X-IG-App-Locale': 'en_US',
2021-07-10T18:21:39.307235+00:00 app[web.1]: 'X-IG-Device-Locale': 'en_US',
2021-07-10T18:21:39.307235+00:00 app[web.1]: 'X-Pigeon-Session-Id': '508ef0b8-a496-5ac8-a914-4b9a0aedbcb5',
2021-07-10T18:21:39.307236+00:00 app[web.1]: 'X-Pigeon-Rawclienttime': '1625941299.151',
2021-07-10T18:21:39.307236+00:00 app[web.1]: 'X-IG-Connection-Speed': '3312kbps',
2021-07-10T18:21:39.307237+00:00 app[web.1]: 'X-IG-Bandwidth-Speed-KBPS': '-1.000',
2021-07-10T18:21:39.307237+00:00 app[web.1]: 'X-IG-Bandwidth-TotalBytes-B': '0',
2021-07-10T18:21:39.307237+00:00 app[web.1]: 'X-IG-Bandwidth-TotalTime-MS': '0',
2021-07-10T18:21:39.307238+00:00 app[web.1]: 'X-IG-EU-DC-ENABLED': undefined,
2021-07-10T18:21:39.307238+00:00 app[web.1]: 'X-IG-Extended-CDN-Thumbnail-Cache-Busting-Value': '1000',
2021-07-10T18:21:39.307238+00:00 app[web.1]: 'X-Bloks-Version-Id': '1b030ce63a06c25f3e4de6aaaf6802fe1e76401bc5ab6e5fb85ed6c2d333e0c7',
2021-07-10T18:21:39.307239+00:00 app[web.1]: 'X-MID': undefined,
2021-07-10T18:21:39.307239+00:00 app[web.1]: 'X-IG-WWW-Claim': '0',
2021-07-10T18:21:39.307239+00:00 app[web.1]: 'X-Bloks-Is-Layout-RTL': 'false',
2021-07-10T18:21:39.307239+00:00 app[web.1]: 'X-IG-Connection-Type': 'WIFI',
2021-07-10T18:21:39.307240+00:00 app[web.1]: 'X-IG-Capabilities': '3brTvwE=',
2021-07-10T18:21:39.307240+00:00 app[web.1]: 'X-IG-App-ID': '567067343352427',
2021-07-10T18:21:39.307240+00:00 app[web.1]: 'X-IG-Device-ID': '7b4b2abb-ac29-5dd5-ba7f-0a0f999b2b5f',
2021-07-10T18:21:39.307241+00:00 app[web.1]: 'X-IG-Android-ID': 'android-82ffd668279a0697',
2021-07-10T18:21:39.307241+00:00 app[web.1]: 'Accept-Language': 'en-US',
2021-07-10T18:21:39.307241+00:00 app[web.1]: 'X-FB-HTTP-Engine': 'Liger',
2021-07-10T18:21:39.307241+00:00 app[web.1]: Authorization: undefined,
2021-07-10T18:21:39.307242+00:00 app[web.1]: Host: 'i.instagram.com',
2021-07-10T18:21:39.307242+00:00 app[web.1]: 'Accept-Encoding': 'gzip',
2021-07-10T18:21:39.307242+00:00 app[web.1]: Connection: 'close'
2021-07-10T18:21:39.307243+00:00 app[web.1]: },
2021-07-10T18:21:39.307243+00:00 app[web.1]: callback: [Function: RP$callback],
2021-07-10T18:21:39.307243+00:00 app[web.1]: transform2xxOnly: false
2021-07-10T18:21:39.307243+00:00 app[web.1]: },
2021-07-10T18:21:39.307244+00:00 app[web.1]: response: undefined
2021-07-10T18:21:39.307244+00:00 app[web.1]: }

Does your proxy require any authentication? if so that may be the issue

No, it doesn't. I am using FIXIE ad-on on heroku

Most likely to do with the IP's

I had the same issue, set "pool: false" in the request options of the lib (instagram-private-api/dist/core/request.js). Not sure what it does but it fixes the issue for me.


jit(..., backend='cpu') and the new device placement don't go together

After #1884 this code snippet fails:
    def get_arr(scale):
      return scale + np.ones((2, 2))

    get_arr = jit(get_arr, backend='cpu')
    x = get_arr(0.1)
    x / x.shape[0]
    x + np.ones_like(x)
    x + np.eye(2)

with errors like
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-20-ca9775de72ea> in <module>()
----> 1 x / x.shape[0]

4 frames
google3/third_party/py/jax/interpreters/xla.py in xla_primitive_callable(prim, *arg_specs, **params)
    169     msg = "primitive arguments must be colocated on the same device, got {}"
    170     names = ("{}({})".format(d[0].__name__, d[1]) for d in devices if d is not None)
--> 171     raise ValueError(msg.format(", ".join(names)))
    172   else:
    173     all_devices = it.chain(xb.devices(), xb.devices('cpu'))

ValueError: primitive arguments must be colocated on the same device, got CpuDevice(0), GpuDevice(0)

Note that it works file if instead of jit(..., backend='cpu') I use jax.device_get.
Below is the modified tests/multi_device_test.py to test for this case.
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import os
from unittest import SkipTest

from absl.testing import absltest
import numpy as onp
from jax.api import jit
import jax
import jax.numpy as np
from jax import lax
from jax import test_util as jtu
from jax.lib import xla_bridge
from jax.interpreters import xla

from jax.config import config
config.parse_flags_with_absl()

prev_xla_flags = None

# Run all tests with 8 CPU devices.
def setUpModule():
  global prev_xla_flags
  prev_xla_flags = os.getenv("XLA_FLAGS")
  flags_str = prev_xla_flags or ""
  # Don't override user-specified device count, or other XLA flags.
  if "xla_force_host_platform_device_count" not in flags_str:
    os.environ["XLA_FLAGS"] = (flags_str +
                               " --xla_force_host_platform_device_count=8")
  # Clear any cached backends so new CPU backend will pick up the env var.
  xla_bridge.get_backend.cache_clear()

# Reset to previous configuration in case other test modules will be run.
def tearDownModule():
  if prev_xla_flags is None:
    del os.environ["XLA_FLAGS"]
  else:
    os.environ["XLA_FLAGS"] = prev_xla_flags
  xla_bridge.get_backend.cache_clear()

class MultiDeviceTest(jtu.JaxTestCase):

  def test_computation_follows_data(self):
    if len(jax.devices()) < 2:
      raise SkipTest("test requires multiple devices")

    x = jax.device_put(1, jax.devices()[0])
    y = jax.device_put(2, jax.devices()[0])
    z = x + y
    self.assertEqual(z, 3)
    self.assertEqual(z.device_buffer.device(), jax.devices()[0])

    x = jax.device_put(1, jax.devices()[1])
    y = jax.device_put(2, jax.devices()[1])
    z = x + y
    self.assertEqual(z, 3)
    self.assertEqual(z.device_buffer.device(), jax.devices()[1])

    x = jax.device_put(1, jax.devices()[1])
    y = 4
    z = x + y
    self.assertEqual(z, 5)
    self.assertEqual(z.device_buffer.device(), jax.devices()[1])

    x = jax.device_put(1, jax.devices()[1])
    y = np.ones(3)
    z = x + y
    self.assertAllClose(z, 1 + onp.ones(3), check_dtypes=False)
    self.assertEqual(z.device_buffer.device(), jax.devices()[1])

    x = jax.device_put(1, jax.devices()[0])
    y = jax.device_put(2, jax.devices()[1])
    self.assertRaisesRegex(
        ValueError,
        "primitive arguments must be colocated on the same device",
        lambda: x + y)

    x = jax.device_put(1, jax.devices()[1])
    y = x.reshape((1, 1))
    self.assertEqual(y.device_buffer.device(), jax.devices()[1])

  def test_primitive_compilation_cache(self):
    if len(jax.devices()) < 2:
      raise SkipTest("test requires multiple devices")

    primitive_computation = xla.primitive_computation
    xla.xla_primitive_callable.cache_clear()  # clear op-by-op cache

    count = [0]
    def primitive_computation_and_count(*args, **kwargs):
      count[0] += 1
      return primitive_computation(*args, **kwargs)

    x = jax.device_put(1, jax.devices()[1])

    try:
      xla.primitive_computation = primitive_computation_and_count
      y = lax.add(x, x)
      z = lax.add(y, y)
    finally:
      xla.primitive_computation = primitive_computation

    self.assertEqual(count[0], 1)
    self.assertEqual(y.device_buffer.device(), jax.devices()[1])
    self.assertEqual(z.device_buffer.device(), jax.devices()[1])

  def test_jit_cpu(self):
    def get_arr(scale):
      return scale + np.ones((2, 2))

    get_arr = jit(get_arr, backend='cpu')
    x = get_arr(0.1)
    x / x.shape[0]
    x + np.ones_like(x)
    x + np.eye(2)

if __name__ == '__main__':
  absltest.main()

IIUC the test only fails on a GPU machine, or at least one where there's a backend other than 'cpu'. Does that sound right?

(I'm off-and-on checking into this.)
The issue with an expression like x / x.shape[0] is that when we promote the value of x.shape[0] to be a float we do it by calling lax.convert_element_type on each argument, and since the value of x.shape[0] doesn't live on a device it gets put on the default device (GPU0 rather than CPU0 in this example).
Narrowly speaking, since dtype promotion is a way of reconciling arguments, we probably don't want dtype promotion to end up placing arguments on different devices (thus leading to an error); instead it could place arguments on a consistent device, with the same definition of "consistent device" as #1884 uses (since x.shape[0] is a Python integer and doesn't have a device assigned to it).
However, more broadly, it seems that there's an issue with mapping values like Python integers or even ndarrays to devices even when we, say, convert the element type. Maybe Python values and/or ndarrays shouldn't be mapped eagerly to a device after some computations, or if they are they should hold that device affinity weakly so as not to raise this error. (This is vaguely reminiscent of @hawkinsp 's weak_type logic for dtypes.)
I can think of a few paths forward, though this probably isn't exhaustive and may be missing the best options:

instead of raising an error here, in this case revert to the pre-#1884 behavior of moving the data and computation to a default device (at least until we figure out a longer-term fix)
have lax.convert_element_type and perhaps lax.broadcast_in_dim return a value that isn't device-committed when given a value that isn't device-committed (e.g. return an ndarray when given a Python scalar or ndarray, or else tag the returned DeviceArray to have a weak device affiliation)
handle this at the jax.numpy layer, e.g. by making _promote_dtypes_inexact and _promote_dtypes and perhaps _promote_shapes (and others?) reconcile the devices of their inputs.

I like 2 so far...

Another option is: the user opted into non-default behavior by using jit(..., backend='cpu'), so the user must move the result before doing op-by-op operations like this. That is, we just say the user has to rewrite the snippet like
def get_arr(scale):
  return scale + np.ones((2, 2))

get_arr = jit(get_arr, backend='cpu')
x = get_arr(0.1)
x = jax.device_put(x, jax.local_devices()[0])  # place on default device
x / x.shape[0]
x + np.ones_like(x)
x + np.eye(2)

Maybe a good policy is: DeviceArrays can be "stuck" to a device or not. The operations that produce device-stuck arrays are

jax.device_put (at least when it has an explicit device specified)
jit functions that have an explicit device/backend specified.

As input arguments to an op-by-op or jit computation (the latter without an explicit device/backend specified), all device-sticky DeviceArrays must agree with one another or it's an error; they then determine where the output result lives. If no input arguments are sticky, then the output either lives on the default device and is not sticky (for op-by-op and jit without device specification) or any device specified on the computation and is sticky (for jit with device specification).
This differs from the policy implemented by #1884 because that made all device assignments sticky, leading to this issue.

The draft in #1916 seems to sort things out (passes my tests on a GPU cloud machine and on internal test machines). I'll follow up on that with some more tests and PR notes!

IIUC the test only fails on a GPU machine, or at least one where there's a backend other than 'cpu'. Does that sound right?

Yes, correct!


driver: Load fuzz target with Driver's class loader

This ensures that the fuzz target is found even if Driver is loaded by
a custom class loader.

@bertschneider This made my head hurt quite a bit. If you see a way we can get around this issue in a less intrusive way, please let me know. I documented why the first approach that comes to mind doesn't work.


No trainer_baseline in File "main.py", line 6

File "main.py", line 6, in
from trainer_baseline import Trainer
ModuleNotFoundError: No module named 'trainer_baseline'
How do I get this ?

Hi, It seems that you should rename the  'trainer_baseline' as 'trainer' following the file organization.


Stremio Android tv 1.5.7 missing streams

This is the xiamo Mi stick 4K model miTV-AYFR0
I am using the official Stremio webpage and play store apk 1.5.7 Arm.  for android tvs and most of the streams arent found here for hanime.tv. after some research i installed the 1.5.8 apk for android mobiles and it works well on that matter, but since is for mobiles the interface is diffficult to use and doesnt call the subscription channels properly.
So we need help fixing this issue so it finds stream#s also on version 1.5.7 android tv apks please. Ty very much for the amazing app

Try with latest, @dexter21767 made a fix


Added findings for 3 rounds of research

PR Checklist

[x] If you are proposing a new decision record document, used the right template for that
- (ADR, decision-record, engagement, research)
[x] Set yourself as the Assignee
[x] Tag anyone you would like to review, or @forms-design or @forms-devs
[x] Fill in the template below

What
Added three summaries of rounds of user research conducted recently.
How to review
Please check these represent the research work we've done on the team.
Who can review
Forms UCD
Forms Devs

@hannahkc Thanks for spotting those, sorry about the file extension. I did a slightly different workflow and can see how I missed that this way! I have accepted your changed and committed please could you re review.


Delete App Fix

fix delete app path to use cluster id instead of name

Coverage remained the same at 61.55% when pulling 30b23b517f2075ec8c670600e7c184eadac8167e on josephkane:delete-app-fix into 18bb6c06e9e59859ab7eb855bf7fef5b07a4cd5b on supergiant:master.


Inquiry on Evaluating Optimality of Solutions in MuJoCo MPC

I am reaching out with a question regarding the evaluation of the optimality of solutions computed by the MuJoCo MPC framework. Specifically, I am interested in understanding the following:

Are there built-in tools or diagnostics in the framework to assess the quality or optimality of the solutions relative to the problem formulation?

What methodologies or metrics do you recommend for evaluating how close the solutions are to optimal, especially when computational constraints may affect accuracy?

Are there established practices or benchmarks for validating the performance and robustness of the MPC solutions in dynamic or contact-rich environments?

I would greatly appreciate any insights, references, or guidance you can provide on these aspects. Thank you for your time and for developing such a valuable tool for the robotics and control community.
Looking forward to your response.

The short answer is "no" 🙂
-----------------------
The longer answer is that this is near impossible, for anything but the simplest task. Optimality w.r.t what? MPC optimizes a surrogate problem, right? The finite-horizon receding horizon problem is not the infinite horizon problem. You optimize the former, assuming that this will also give you a reasonable solution for the latter, but there is no way to know this other than looking at the solution.
The only thing you can do is assess the optimality of the receding horizon problem itself. To do that, the only thing you have available is to give the planner more time to plan. If it finds a better solution then solution you had earlier definitely wasn't optimal. If it does not then maybe the solution was optimal. And this is all qualified by the fact that there could always be a different local solution in a distant basin of attraction that your planner will never ever find because it is doing local optimization...
You can watch my talk in the MIT Robotics colloquium (featured on MJPC's homepage), for an argument on why "optimality" is the wrong thing to care about anyway 🙂


fixDrop stats or update updated rows after truncate table.

Also clear follower's stats cache when doing drop stats.
Drop stats when truncate a table.

backport https://github.com/apache/doris/pull/27931

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall


Ability to add numbers/symbols to custom phrases

Is your feature request related to a problem? Please describe.
User was unable to add phone number or email address to their custom phrases because there was no option to add numbers or symbols
Describe the solution you'd like
A button for a secondary keyboard with numbers/symbols similar to how iOS does it

Already implemented


Change the overall interaction with ECS

The current implementation is too straightforward and verbose. I think it's worth putting the systems into separate "classes" (as far as possible), and simplify the addition of components (if you need an entity with one component, there's no point writing extra code).
For example:
https://github.com/Leopotam/ecs#custom-engine

After studying the work of some ECS, I came to understand that the easiest way to store systems is in classes that will have methods Init(), Update(), LateUpdate() and so on.
Plus, the systems can be stored in the world itself. Also, with this approach, it will be easy to implement caching of components for each system separately. The only problem I don't know how to solve yet is how to update the caches?


Enhance "Create new issue" functionality to include more info

Ideally, some additional information gets automatically populated into the "Create new issue" functionality, including:

java -version info
date / SHA when issue first seen
guess at intermittency / or if only ever seen on a single machine or certain set of machines

We will add java -version info in the Create new issue first
FYI @OscarQQ

I think we should also include the rerun link.

And possibly include the artifacts link if there is an artifactory server and they are being pushed somewhere with a longer storage than the 5 days of a Jenkins jobs lifespan.

example of git diff: https://github.ibm.com/runtimes/openj9/compare/497aab8...50d4f8e


Update to zig master

Thanks for such an early PR 👍 Unfortunately this will not work on Windows. I have pushed a few commits to work on Windows too.

Actually, I was wrong. os.process.exit and os.posix.exit is the same function. Given that I prefer your solution. I'll reset and merge your PR.


Prep DB script ERROR:  relation "ouid" does not exist

I receive an error when running the prep script. Once I get to sudo python3 inc/models.py I get the following error.
`┌──(root㉿kali-raspberry-pi)-[/home/kali/Bluetooth-Demystifier]
└─# sudo python3 inc/models.py
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/engine/base.py", line 1802, in _execute_context
self.dialect.do_execute(
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/engine/default.py", line 732, in do_execute
cursor.execute(statement, parameters)
psycopg2.errors.InsufficientPrivilege: permission denied for schema public
LINE 2: CREATE TABLE category (
^
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/kali/Bluetooth-Demystifier/inc/models.py", line 148, in
Base.metadata.create_all(engine)
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/sql/schema.py", line 4785, in create_all
bind._run_ddl_visitor(
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/engine/base.py", line 3117, in _run_ddl_visitor
conn._run_ddl_visitor(visitorcallable, element, **kwargs)
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/engine/base.py", line 2113, in _run_ddl_visitor
visitorcallable(self.dialect, self, **kwargs).traverse_single(element)
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/sql/visitors.py", line 524, in traverse_single
return meth(obj, **kw)
^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/sql/ddl.py", line 849, in visit_metadata
self.traverse_single(
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/sql/visitors.py", line 524, in traverse_single
return meth(obj, **kw)
^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/sql/ddl.py", line 893, in visit_table
self.connection.execute(
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/engine/base.py", line 1289, in execute
return meth(self, multiparams, params, _EMPTY_EXECUTION_OPTS)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/sql/ddl.py", line 80, in _execute_on_connection
return connection._execute_ddl(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/engine/base.py", line 1381, in _execute_ddl
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/engine/base.py", line 1845, in _execute_context
self.handle_dbapi_exception(
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/engine/base.py", line 2026, in handle_dbapi_exception
util.raise(
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/util/compat.py", line 207, in raise
raise exception
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/engine/base.py", line 1802, in _execute_context
self.dialect.do_execute(
File "/usr/local/lib/python3.11/dist-packages/sqlalchemy/engine/default.py", line 732, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.InsufficientPrivilege) permission denied for schema public
LINE 2: CREATE TABLE category (
^
[SQL:
CREATE TABLE category (
id SERIAL NOT NULL,
name VARCHAR,
description VARCHAR,
icon TEXT,
color TEXT,
PRIMARY KEY (id)
)
]
(Background on this error at: https://sqlalche.me/e/14/f405)`

Which makes sudo psql blt < data/import_all.sql impossible and just error our because "ouid" doesnt exist etc

We have been busy but plan on updating this repo soon with new features and bug fixes.
In the meantime you should be able to fix this error with the following command:
sudo -u postgres psql -d blt -c "GRANT ALL ON SCHEMA public TO root;"
And then re-running the sudo ./prep.sh script.


i18next implementation

Describe the feature you'd like to see.
An implementation of i18next, and using it instead of the default language feature in Klasa. This will make it easier to work with translations, as it follows methods that many translation websites do.
Additional context
N/A.

This has been implemented on the ts-rewrite branch and will be merged to master as part of the larger migration to Sapphire.

This has been implemented on the ts-rewrite branch and will be merged to master as part of the larger migration to Sapphire.

Implemented in 79accad.

Implemented in 79accad.


link: output.txt: remove redundant output.txt path lines

Hi
THe output.txt produced by the link task contains redondant lines.
See file:///C:/Users/fandre/Documents/git/poco-1.8.0/JSON/gradle/tmp/linkJSONWin32DebugSharedLibrary/output.txt for all output for linkJSONWin32DebugSharedLibrary.
linking PocoJSONd.dll successful.
   Creating library C:\\Users\\fandre\\Documents\\git\\poco-1.8.0\\lib\\PocoJSONd.lib and object C:\\Users\\fandre\\Documents\\git\\poco-1.8.0\\lib\\PocoJSONd.exp

Finished linkJSONWin32DebugSharedLibrary, see full log file:///C:/Users/fandre/Documents/git/poco-1.8.0/JSON/gradle/tmp/linkJSONWin32DebugSharedLibrary/output.txt.

As the path of the output.txt is already known, it is enought to log
linkJSONWin32DebugSharedLibrary.
linking PocoJSONd.dll successful.
   Creating library C:\\Users\\fandre\\Documents\\git\\poco-1.8.0\\lib\\PocoJSONd.lib and object C:\\Users\\fandre\\Documents\\git\\poco-1.8.0\\lib\\PocoJSONd.exp

This is related to #226


Galvanized doesn't remove upgrade slots [1.18.2 - 2.8.6]

A normal iron pickaxe (3 upgrades) and a custom tool part with Galvanized I (galvanized seen on the right). It just ends up with an extra ability slots with no downside. I checked and, yes, you can use all 3 upgrade slots. I do not have whichever mod would normally add tools with Galvanized, I'm just using it in a custom datapack, so forgive me if this is a known issue.

The galvanized modifier is intended to be a counterpart to the gilded modifier. Just like with gilded, the modifier itself does not actually remove slots, the recipe for the modifier is intended to do that. Unfortunately that means it won't work as expected when used as a trait.


Run the container as a user without privileges

Currently the client runs as root by default:
user@host:~/keep-core$ sudo docker run --entrypoint "" keepnetwork/keep-client:latest whoami
root

Per https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#user it's better to run as a non-root user when possible.  This copies the approach from https://github.com/prometheus/prometheus/pull/2859, which defaults to using nobody and allows overrides using the --user flag (for more discussion see https://github.com/prometheus/prometheus/issues/3441).
After the change:
user@host:~/keep-core$ sudo docker run --entrypoint "" keep-client-nobody:latest whoami
nobody

Tested by building the image from source and running my testnet node with it and the --user $UID:$GID flag (node was originally setup using these instructions).
NOTE: This is a breaking change and after landing users will need to ensure the mounted persistent directory has the correct ownership and/or they set --user correctly.

@pdyraga thoughts on this?

I'm OK with the change but I'd like to confirm it won't break our test environments first.


fix lambda test of thread test

Fix compilation error in thread test for g++ (GCC) 11.3.0.
#49

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


password for lightning terminal

Hi - We'll need more information to help you with any issues. Please provide a description of what's happening so we can support and help debug!

When I installing terminal-password,it showing this Error,I also bold this Error
_**Building wheel for terminal-password (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for terminal-password (pyproject.toml) did not run successfully.
│ exit code: 1**_
╰─> [18 lines of output]
running bdist_wheel
running build
running build_ext
building 'terminal_password' extension
creating build
creating build/temp.linux-aarch64-cpython-311
aarch64-linux-android-clang -DNDEBUG -g -fwrapv -O3 -Wall -fstack-protector-strong -O3 -fstack-protector-strong -O3 -fPIC -I/data/data/com.termux/files/usr/include/python3.11 -c password.c -o build/temp.linux-aarch64-cpython-311/password.o
**password.c:16:51: warning: passing 'const char *[2]' to parameter of type 'char ' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
16 |         if (!PyArg_ParseTupleAndKeywords(args, kw, "|O", key, &a))
|                                                          ^~~
/data/data/com.termux/files/usr/include/python3.11/modsupport.h:29:72: note: passing argument to parameter here
29 |                                                   const char *, char , ...);
|                                                                        ^
password.c:66:18: error: incompatible function pointer types initializing 'PyCFunction' (aka 'struct _object ()(struct _object *, struct _object *)') with an expression of type 'PyObject *(PyObject *, PyObject *, PyObject *)' (aka 'struct _object *(struct _object *, struct _object *, struct _object *)') [-Wincompatible-function-pointer-types]
66 |         {"get_password",test, METH_VARARGS|METH_KEYWORDS,"get_password function"},
|                         ^~~~
_      1 warning and 1 error generated.
error: command '/data/data/com.termux/files/usr/bin/aarch64-linux-android-clang' failed with exit code 1
[end of output]**_
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for terminal-password
Failed to build terminal-password
ERROR: Could not build wheels for terminal-password, which is required to install  pyproject.toml-based projects


AssertionError

Error message:
Total filenames:  11788 001.Black_footed_Albatross/Black_Footed_Albatross_0046_18.jpg
Load from:  ../data/birds/captions.pickle
1 10
Traceback (most recent call last):
File "pretrain_DAMSM.py", line 247, in
assert dataset
AssertionError
Could you please help me solve this problem? @taoxugit

same, have you solved it?

@yokiqust @XinCynthia not yet.... I'm still waiting for the author...-.- @taoxugit

@leeeeeeo I solved this problem by unzip the file download from the their website.

@yokiqust Which file to unzip? The .pickle file ?

@leeeeeeo 忘了哪个了，这个错误是因为没有数据读入导致的

@yokiqust hhh...都是中国人说啥英语…好吧。回头我再看看…

@leeeeeeo @XinCynthia
Download the metadata file from Data step 1. and extract it in appropriate directory (birds or coco).
Also, the metadata contains another zip in it  - text.zip. Extract text.zip as well.
Hope it helps

just make sure you have pickle files (containing filenames of images to be trained, and those to be tested) in appropriate directories. Also, verify the name of files in filenames.pickle are having proper path so it can find them. go through 'class TextDataset' in datasets.py, it's all there.

Hello, I'm confused as well. I keep on getting the assertion error. Can anybody please help???

Sorry! But I am confused. I tried following the above suggestions, but I am still getting assertion error. Can someone post the directory structure required starting with ./AttGAN-master/. I want to:

Run the pre-trained model
Fine-tune the pre-trained model

Hello, I'm confused as well. I keep on getting the assertion error. Can anybody please help???

You're getting AssertionError since the dataset variable has not been set (no files exist in the path specified). Please go through the path that the variable takes and make sure that your data is in that path OR modify the path in your code.

Sorry! But I am confused. I tried following the above suggestions, but I am still getting assertion error. Can someone post the directory structure required starting with ./AttGAN-master/. I want to:

Run the pre-trained model
Fine-tune the pre-trained model

hello,have you solved this problem?

Can someone post the proper directory structure for birds dataset?


[libpng-apng] build failure: wrong download order

Host Environment

OS: Windows 10 (irrelevant)
Compiler: MSVC (irrelevant)

To Reproduce
Steps to reproduce the behavior:

Make sure there is no extracted patch file in /buildtrees/libpng-apng/src/
./vcpkg install libpng-apng:x64-windows

Failure logs
The following packages will be built and installed:
    libpng-apng[core]:x64-windows
Starting package 1/1: libpng-apng:x64-windows
Building package libpng-apng[core]:x64-windows...
Warning: abi keys are missing values:
    zlib

-- Downloading https://github.com/glennrp/libpng/archive/v1.6.36.tar.gz...
CMake Error at scripts/cmake/vcpkg_extract_source_archive_ex.cmake:97 (file):
  file SHA512 failed to read file
  "C:/GitHub/vcpkg/buildtrees/libpng-apng/src/libpng-1.6.36-apng.patch": No
  such file or directory
Call Stack (most recent call first):
  scripts/cmake/vcpkg_from_github.cmake:114 (vcpkg_extract_source_archive_ex)
  ports/libpng-apng/portfile.cmake:5 (vcpkg_from_github)
  scripts/ports.cmake:94 (include)

Error: Building package libpng-apng:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: libpng-apng:x64-windows
  Vcpkg version: 2019.09.12-nohash

Additionally, attach any relevant sections from the log files above.

Additional context
#8087 change makes it so all patches are applied upon libpng download, but the apng patch hasn't been downloaded yet.
I manually downloaded the patch file and extracted it to where it's supposed to be (C:/GitHub/vcpkg/buildtrees/libpng-apng/src/) and it worked, so I think download order should be reversed and it would work.

#8622 fixed this


add CLI command to register runner tokens

This is a CLI command to generate new tokens for the runners to register with
Fix https://github.com/go-gitea/gitea/issues/23643

Closes #23643?

thanks for the feedback @yp05327 I've updated the variable names and returned err.

Closes #23643?

Yup, I also have another PR open that will allow for generating these tokens via API too.

Some subcommands will read databases directly, that should be considered dangerous for SQLite because there will be two processes to read/write the database.

@lunny I have moved the logic to an internal route so that existing db connections can be used.

$ ./gitea actions grt
2023/04/11 23:43:40 ...ules/setting/time.go:58:loadTimeFrom() [I] Default UI Location is Asia/Shanghai
2023/04/11 23:43:40 ...es/setting/markup.go:169:newMarkupRenderer() [E] Deprecated setting `[markup.*]` `DISABLE_SANITIZER` present. This fallback will be removed in v1.18.0
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x100ec2e0d]

goroutine 1 [running]:
code.gitea.io/gitea/modules/private.GenerateActionsRunnerToken({0x1044d5cf0, 0xc0009bd9a0}, {0x0, 0x0})
	/Users/lunny/data/Projects/gitea/gitea/modules/private/actions.go:26 +0x16d
code.gitea.io/gitea/cmd.runGenerateActionsRunnerToken(0xc000221ce0)
	/Users/lunny/data/Projects/gitea/gitea/cmd/actions.go:49 +0xfb
github.com/urfave/cli.HandleAction({0x10256d740?, 0x103e5c598?}, 0x15?)
	/Users/lunny/go/pkg/mod/github.com/urfave/cli@v1.22.12/app.go:524 +0x50
github.com/urfave/cli.Command.Run({{0x102bd2309, 0x15}, {0x0, 0x0}, {0x10603f3d0, 0x1, 0x1}, {0x102cd0af7, 0x44}, {0x0, ...}, ...}, ...)
	/Users/lunny/go/pkg/mod/github.com/urfave/cli@v1.22.12/command.go:175 +0x67b
github.com/urfave/cli.(*App).RunAsSubcommand(0xc003126380, 0xc000221a20)
	/Users/lunny/go/pkg/mod/github.com/urfave/cli@v1.22.12/app.go:405 +0xe87
github.com/urfave/cli.Command.startApp({{0x102aab39d, 0x7}, {0x0, 0x0}, {0x0, 0x0, 0x0}, {0x0, 0x0}, {0x0, ...}, ...}, ...)
	/Users/lunny/go/pkg/mod/github.com/urfave/cli@v1.22.12/command.go:380 +0xb7f
github.com/urfave/cli.Command.Run({{0x102aab39d, 0x7}, {0x0, 0x0}, {0x0, 0x0, 0x0}, {0x0, 0x0}, {0x0, ...}, ...}, ...)
	/Users/lunny/go/pkg/mod/github.com/urfave/cli@v1.22.12/command.go:103 +0x845
github.com/urfave/cli.(*App).Run(0xc0031261c0, {0xc000110180, 0x3, 0x3})
	/Users/lunny/go/pkg/mod/github.com/urfave/cli@v1.22.12/app.go:277 +0xb87
main.main()
	/Users/lunny/data/Projects/gitea/gitea/main.go:119 +0xd4b

@lunny I fixed a typo, but you also need to make sure that the Gitea process is running when you attempt this CLI command.

Codecov Report

Merging #23762 (743f0c7) into main (f521e88) will decrease coverage by 0.14%.
The diff coverage is 40.25%.

@@            Coverage Diff             @@
##             main   #23762      +/-   ##
==========================================
- Coverage   47.14%   47.00%   -0.14%
==========================================
  Files        1149     1164      +15
  Lines      151446   153877    +2431
==========================================
+ Hits        71397    72335     +938
- Misses      71611    73020    +1409
- Partials     8438     8522      +84

Impacted Files
Coverage Δ

cmd/actions.go
0.00% <0.00%> (ø)

cmd/dump.go
0.64% <0.00%> (-0.03%)
:arrow_down:

cmd/embedded.go
0.00% <0.00%> (ø)

cmd/mailer.go
0.00% <0.00%> (ø)

cmd/manager.go
0.00% <0.00%> (ø)

cmd/manager_logging.go
0.00% <0.00%> (ø)

cmd/migrate_storage.go
5.76% <0.00%> (-0.12%)
:arrow_down:

cmd/restore_repo.go
0.00% <0.00%> (ø)

cmd/web.go
0.00% <0.00%> (ø)

models/actions/run.go
1.63% <0.00%> (-0.10%)
:arrow_down:

... and 58 more

... and 166 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

🤖 🎺

.


Themes plugin: custom themes directory fix

The custom theme directory is $ZSH_CUSTOM/themes/
@kevinxucs @r-darwish

Well spotted!


Nested resources don't work anymore

I'm running Godot 4.2 beta 1 mono on Windows 11.
While having this plugin enabled, i cant expand a new spatial material in a mesh in a meshinstance node anymore. when i click it, I keep getting this message.
ERROR: Condition "plugins_list.has(p_plugin)" is true.
at: add_plugin (editor/editor_node.cpp:8112)
I also couldn't open an InputEventKey in an Array in a Shortcut menu to configure the bindings for the NoctemCat/BottomPanelShortcuts plugin so I know that it's not a one-off, either. I tried the master and godot4 branches and both did the same thing, unfortunately.

+1 same issue here

Same issue, tried downloading master to check if it fixes it but it doesnt.
Godot 4.1.3

Interesting. I remember seeing that error but I didn't connect it to this plugin (which I haven't been using in 4.2). This plugin does some tricky stuff with input handling, which could definitely be the root of this problem, but this error makes me wonder if it's something stranger.
Where does that error come from? EditorPluginList::add_plugin()
https://github.com/godotengine/godot/blob/9d1cbab1c432b6f1d66ec939445bec68b6af519e/editor/editor_node.cpp#L8202
Does that mean Godot is trying to re-add the plugin every time you see that error? Baffling.

Fixed in #28


Update polybase-configure-oracle.md

@pabechevb : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#label:"aq-pr-triaged"

@pabechevb - thank you for the submission. We are reviewing.

staging in private repo


Remove remote folder upon failed SSH task collection

Re-opening, as we should fix a bug in the current implementation.
If task collection fails because it was already performed in advance, we should clearly not remove any folder. The correct approach is to always use a temporary-named directory until successful end of the procedure.


fix: sort service vars paths for validation

Which issue(s) this PR fixes

Fixes #294
Additional comments

Agreements

[X] I hereby declare this contribution to be licensed under the Apache License Version 2.0, January 2004.
[X] I hereby agree to grant TOSIT a copyright license to use my contributions.

@gonzaloetjo can you confirm this solves your problem ?


perf(fly): add sharded list machines

Previously, the list machines takes about 11 seconds. This drops it down to about 2 seconds.

Ok, this is not worth it.  Either I'm doing the queue thing wrong or it is still really slow

Interesting, yeah the queue looks correct to me, Fly may still just be slow


Fix: Auditor information is not read from global git config

The git configuration is used (in get_user_info() in src/main.rs) by
calling git config --get, which is not the same as reading the global
git configuration, as git config considers the repository-local
configuration file as well as the $HOME git configuration file.
Hence, adapt the wording here.

On a seperate, but related note: Would you like to receive a PR for changing the git interfacing from calling git on CLI to usage of the git2 crate?

This was discussed a bit in #175. My current feelings are that that the benefits of using git2 directly are somewhat unclear. We use git in the following ways right now:

We read the git configuration options to get the user's name and email, which could potentially be simplified by using git2, though it's fairly simple already.

We use it to get configuration information and invoke the user's GIT_EDITOR to input notes. This is mostly useful as it's a somewhat reliable way to invoke an editor on Windows, and we'd get little benefit from using git2 for this as we need the CLI around anyway, and we'd need to implement the logic behind git var GIT_EDITOR ourselves (as I don't think git2 has the special handling).

We use it to diff two directories, neither of which is within a git repository. This is done to generate diffstat information for comparing and ranking deltas to suggest, and to show to the user interactively when they try to certify a delta. In the case of the full diff being shown to the user, we slightly benefit from using the git CLI, as it provides us an existing setup for starting a pager with the diff, as well as respecting the user's other diff config options, however it is somewhat inconvenient to work with in the diffstat case and a diffing API might be nice.

The biggest case which would be nice to streamline from those cases would be the diffstat case, and I don't think git2 is the right tool for the job there. The git2 crate is not threadsafe and does blocking I/O so it is awkward to integrate into our async tokio-based flow (you can see some of the struggle with that in my WIP patches for #206, which try to wrap the cargo-index crate (which uses git2 internally)). In addition, AFAIK there's no actual mechanism in the API for diffing two directories unrelated to a repository, so it would require quite some hassle to get it working.
Because of that, I'm not sure that it's worth adding an explicit git2 dependency just to read the author information from the git environment, and I'm inclined not to switch things to git2 until we grow a more-significant use-case for it.

The git2 crate is not threadsafe and does blocking I/O so it is awkward to integrate into our async tokio-based flow [...]

Right, that would be hard to get right.
I see that using git2 is not a good way to go here. Thanks for your very detailed answer! :+1:


Build a push api for ReactiveSeq

Java 8 Streams are push based, but this is not exposed to end-users. To users they appear like chains or sequences of Iterators. Under the hood Streams make use of Spliterators which allow each  phase to push data downstream to the next phase in the chain.
It is straightforward to push data into Streams via a custom Spliterator, but building a full push API presents some challenges

Error handling. With in-situ iterators and Spliterators error handling is simple. In this case we will have to provide a mechanism to register error handlers and propagate (push) errors into them.
Collection & reduction - It is likely that collect(XXX) and reduce(XXX) won't work as expected. Before data is pushed into the system the Stream will appear empty resulting in an empty result (e.g. .collect(Collectors.toList()) would result in an empty List). forEach / forEachXEvents etc should work ok.
foldFuture should be modified to produce a completed Future result only when onComplete has been received.

In order to handle Collection and Reduction we need to define a SinkSpliterator that will continue to perform a fold until  an onComplete signal has been recieved.  The Stream needs to be materialized eagerly so that the Sink begins listening to incoming data - the operator can return a lazy ref to the finished fold result.

Default behaviour should be to block until onComplete has been called (on a different thread) on traditional terminal operations.

foldFuture
foldLazy
foldTry

should allow non-blocking data collection / folding
     ReactiveSeq<T> fold(Monoid<T> m)
     ReactiveSeq<R> collectSeq(Collector<T,A,R> c);

Should also do the same.

Implementation of any operators that rely on iteration such as zipping would need to change to both use spliterators and account for the fact that new values could arrive at any stage.

Operators such as Zip could be fixed to handle push based Streams inside cyclops-react, but calling zip in an external API like StreamEx or jOOλ is likely to result in non-deterministic behaviour (i.e. records being dropped from the push Streams).

The Spliterator to Iterator adapter could be modified to handle a Queue of ready values (back pressure would also need to be applied here)  - calling any Iterative operator would convert a push based Stream into a Pull one.

Moving this to MI2. All operators have been converted to Spliterators. Need to add a custom interface or base class that accepts a close event listener. Some spliterators need to be reworked to support push (e.g. limit, skip, flatMap, grouped, zipped etc).

Creating a custom Operator type that defines two paths - a back-pressure aware reactive-streams based path and a fast path that assumes no back pressure issues. Individual operators can move processing from the fast path to the back pressure route. Roughly analogous to tryAdvance and forEachRemaining in Spliterators. 3 events - next : element / error, completion.
Call new concrete Stream type ReactiveStreamX and add reactiveStreamXXX creational methods to ReactiveSeq

Released in 2.0.0-MI3


Enhance the DOB unknown behavior

Describe the bug
When "Date of Birth Unknown" checkbox is selected, the DOB input field above is hidden and the age input field is displayed below the checkbox.

How it should behave
The age input field should also be displayed above the "Date of Birth Unknown" checkbox.
Expected result:

Transferred to https://github.com/ona-health/hisp-wdf-fhir-resources/issues/151


Visual blocks support for mutilchain

Support for mutilchain is similar to that of Decred. On all respective pages

https://github.com/chaineco/blockcare/commit/f27423c0b3a3fe20d75fb89fdfa144af76b52b12
https://github.com/chaineco/blockcare/commit/a34973aa21ed7c33ec3a4e9e59f8d47439188fd6


Drupal 8 Support

Are there current plans to port this module for Drupal 8?

There is no plan right now, I can put in the queue of pending task, but cant provide a date.

I'm going to be working on a major Drupal 8 conversion in the next year, and we'll want to include this module. So I'll be working on a Drupal 8 version of this module when that happens. I'm also not sure of a specific date.

Nice, let me know if you need some help related to SAML and let me know the progress.

We should review this:
https://www.drupal.org/node/2836229

Do you have any suggestions for testing the module in a local dev environment? Specifically, I'm wondering if there's a way to setup a test SAML Service on my laptop to send post SAML objects to my local dev web server where I'm working on the code.

Just looked at the SAML Service Provider module, and that looks very promising.

You should sign for a Onelogin's developer account and configure a SAML test Connector, connecting it with the Drupal SP module.

Using a tool like https://ngrok.com/ will definitely help with your localhost development.  It will allow you to inspect the requests back and forth from the SAML service and great for debugging a localhost (by giving you a public address that the service can call and route to your local)  Good luck!

Maybe it's over-engineering it but Simplesamlphp let's you create a local IdP or SP in a trice (in case ngrok does not work for you). If you decide to go with it, check out this tutorial.

So, I've worked through some of the errors I found working with the SAML SP module on d.o. Now I'm getting some errors thrown by the php-saml library: sp_certs_not_found_and_required, contact_not_enought_data, organization_not_enought_data.
It turns out the security settings had been turned on (must have been enabled during install), but for some reason the author has written the settings form to always require a certificate and key file locations. Under what circumstances should the certificate and key file locations be required? Which security settings being enabled would require the certificate and key files? All, some, or is there a specific minimum settings that require settings? From looking at the php-saml library, it looks like any one of the security settings being enabled means that the library needs certificates.
As a follow up question, can I create an X.509 certificate and key on my test server that can be validated by onelogin? I've created rsa keys before, but I've never created a self-signed certificate. If it's possible, can you point me to a walkthrough?

SP public certificate/private key are required if the SP will use signature or encryption in the message that send. Since is not mandatory to sign/encrypt at the SP side, those valued should be optional.
In order to generate self-signed certs you can use this online tool:
https://www.samltool.com/self_signed_certs.php

Okay, So I've moved on to processing the SAML Response. But in attempting to replicate the process of the acs_consume() function from the D7 module, I've run into a problem right with how the OneLogin_Saml2_Response class is operating on the response. The saml:NameId property is being reported as empty ($auth->getNameId() returns nothing). However, when I inspect the SAML response manually I see that there is content there.
Can you think of a reason why the OneLogin_Saml2_Response class wouldn't be able to extract the NameId property value?

Can you provide the encoded SAMLResponse?

PHNhbWxwOlJlc3BvbnNlIHhtbG5zOnNhbWw9InVybjpvYXNpczpuYW1lczp0
YzpTQU1MOjIuMDphc3NlcnRpb24iIHhtbG5zOnNhbWxwPSJ1cm46b2FzaXM6
bmFtZXM6dGM6U0FNTDoyLjA6cHJvdG9jb2wiIElEPSJSZTc0MDYxMjIxODg2
YzJhZTNlN2E2ZDI1YmM0ZDFhZDUzNjc1YWRmNCIgVmVyc2lvbj0iMi4wIiBJ
c3N1ZUluc3RhbnQ9IjIwMTctMDItMjdUMjE6NTI6MTNaIiBEZXN0aW5hdGlv
bj0ie3JlY2lwaWVudH0iPjxzYW1sOklzc3Vlcj5odHRwczovL2FwcC5vbmVs
b2dpbi5jb20vc2FtbC9tZXRhZGF0YS82MjgzODk8L3NhbWw6SXNzdWVyPjxz
YW1scDpTdGF0dXM+PHNhbWxwOlN0YXR1c0NvZGUgVmFsdWU9InVybjpvYXNp
czpuYW1lczp0YzpTQU1MOjIuMDpzdGF0dXM6U3VjY2VzcyIvPjwvc2FtbHA6
U3RhdHVzPjxzYW1sOkFzc2VydGlvbiB4bWxuczpzYW1sPSJ1cm46b2FzaXM6
bmFtZXM6dGM6U0FNTDoyLjA6YXNzZXJ0aW9uIiB4bWxuczp4cz0iaHR0cDov
L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov
L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIFZlcnNpb249
IjIuMCIgSUQ9InBmeGRiZTAxNWQ4LWM5ZTctYTA0Mi1lZjQwLTE2NTI0MGZl
YWIxNCIgSXNzdWVJbnN0YW50PSIyMDE3LTAyLTI3VDIxOjUyOjEzWiI+PHNh
bWw6SXNzdWVyPmh0dHBzOi8vYXBwLm9uZWxvZ2luLmNvbS9zYW1sL21ldGFk
YXRhLzYyODM4OTwvc2FtbDpJc3N1ZXI+PGRzOlNpZ25hdHVyZSB4bWxuczpk
cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI+PGRzOlNp
Z25lZEluZm8+PGRzOkNhbm9uaWNhbGl6YXRpb25NZXRob2QgQWxnb3JpdGht
PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzEwL3htbC1leGMtYzE0biMiLz48
ZHM6U2lnbmF0dXJlTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5v
cmcvMjAwMC8wOS94bWxkc2lnI3JzYS1zaGExIi8+PGRzOlJlZmVyZW5jZSBV
Ukk9IiNwZnhkYmUwMTVkOC1jOWU3LWEwNDItZWY0MC0xNjUyNDBmZWFiMTQi
PjxkczpUcmFuc2Zvcm1zPjxkczpUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjZW52ZWxvcGVkLXNpZ25h
dHVyZSIvPjxkczpUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAxLzEwL3htbC1leGMtYzE0biMiLz48L2RzOlRyYW5zZm9ybXM+
PGRzOkRpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvMDkveG1sZHNpZyNzaGExIi8+PGRzOkRpZ2VzdFZhbHVlPlhUM296 WlNCU1F6VEhlQXcvaisyR1pTeXBNRT08L2RzOkRpZ2VzdFZhbHVlPjwvZHM6 UmVmZXJlbmNlPjwvZHM6U2lnbmVkSW5mbz48ZHM6U2lnbmF0dXJlVmFsdWU+ ays5TjZZNEpsNmRMR2JqK1RlMTZSUmlGV05ZclgwQWFKbDU4aHRBK0Vvazlh VEg5aVhIR0RObllLUzZHUGMyTnYwT1c4UzRwTWJZOVpJNU5MRm9MZ0xzTWVN ZGxiOXIraS85VDVnM0JCVnZQV1BBdDRyRkFjMzRPODkzY3RlMmJmVjl1eWZE MitMWHlLN0x3T0RuVUoveFdMWnIyeW9rNFpIZHA4cjc5bE5FWU9icXNzYmFB MDY2VnpZbDZHWXIyWForQWRhMU9rdG1NTWRvZDhvSy9RMXpRL1pJeTFlOGZz OElsUG9BUHIrbVZDbkkvT0h0NWpYZThKYUMwcEsxTTdtWVBXTHNhT2I3MkVn WUE3ZXg0YlpUQXYwUC96aXI1bUdMNVhwMVBSTC9JSXY4NTI5dWdhZ1dwVm1k Z0RSUW1oQzJRUlZGcjA1MmlXTCt3Z1pUenFBPT08L2RzOlNpZ25hdHVyZVZh bHVlPjxkczpLZXlJbmZvPjxkczpYNTA5RGF0YT48ZHM6WDUwOUNlcnRpZmlj YXRlPk1JSUVMRENDQXhTZ0F3SUJBZ0lVRWFHOFpNNUdKNGNZSTNxWk9UVHEv b3VqQVdFd0RRWUpLb1pJaHZjTkFRRUZCUUF3WHpFTE1Ba0dBMVVFQmhNQ1ZW TXhGekFWQmdOVkJBb01EbEpvYjJSbGN5QkRiMnhzWldkbE1SVXdFd1lEVlFR TERBeFBibVZNYjJkcGJpQkpaRkF4SURBZUJnTlZCQU1NRjA5dVpVeHZaMmx1 SUVGalkyOTFiblFnTVRBeE1EZzRNQjRYRFRFM01ESXhOVEl4TkRVek5Wb1hE VEl5TURJeE5qSXhORFV6TlZvd1h6RUxNQWtHQTFVRUJoTUNWVk14RnpBVkJn TlZCQW9NRGxKb2IyUmxjeUJEYjJ4c1pXZGxNUlV3RXdZRFZRUUxEQXhQYm1W TWIyZHBiaUJKWkZBeElEQWVCZ05WQkFNTUYwOXVaVXh2WjJsdUlFRmpZMjkx Ym5RZ01UQXhNRGc0TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFN SUlCQ2dLQ0FRRUFvamtTRnlDMmJqdjN0WFRiRkp0MjFtbUQ5dDdkTkRlWUVK TEhtOTJnSmlTZXB4K1JLYUdMbU5QTGJYN0ZXVjNqbExqV0dNaXJPeFBJVkkw VHBxVU5SZUEyeldxREVqVkFaVXV1SExQK0p0Q212KzRtSElDemdyL25tcW9K TFB4WkRiaHJ4SHBMK0lqYWdPNjVUM2FVSm01WTFMUDZ6TzBWT3VQZityRFo3 UVJoaVd2RncvMU9vQXZSWnRuUWtQZHBTODdzejBtaUZMMTFaOXZCZmRvbE9z TmtzSktmWGFKL1RBMFI2cVhrREhobzIvTzZDZnV0WTEvUDgwVVk0VWIzVi93 bkZsS1NMNVhCa0pZTllBNHE4OUdWSHNkeDFqN2UyWjVIUmRZV0xhR25xVWxz LzJrSzVsYXdGR0dGSnBhZ21hRDJFTFhUdkFSY2lscFRjVDJHSHdJREFRQUJv NEhmTUlIY01Bd0dBMVVkRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRk1XdHZm RmFqZUc0NFZZRW9uM0pmcVFJTDhFdE1JR2NCZ05WSFNNRWdaUXdnWkdBRk1X dHZmRmFqZUc0NFZZRW9uM0pmcVFJTDhFdG9XT2tZVEJmTVFzd0NRWURWUVFH RXdKVlV6RVhNQlVHQTFVRUNnd09VbWh2WkdWeklFTnZiR3hsWjJVeEZUQVRC Z05WQkFzTURFOXVaVXh2WjJsdUlFbGtVREVnTUI0R0ExVUVBd3dYVDI1bFRH OW5hVzRnUVdOamIzVnVkQ0F4TURFd09EaUNGQkdodkdUT1JpZUhHQ042bVRr MDZ2Nkxvd0ZoTUE0R0ExVWREd0VCL3dRRUF3SUhnREFOQmdrcWhraUc5dzBC QVFVRkFBT0NBUUVBRlhEMnJHczhObHB0WjQ1Q0FTeWdURVBDbUV5NkIwdWNM cmExaUN5YUVDelRpQ3k1WVRETXB2N0VXTnE5K2hqRmpSM0J5Z3l0K2duUXNw dTNKenlFQ1I3V3ZaMzN1bVRCT1VHZzdBOFBReFBDRy9ub3FqSEJwMFBXY0Ru c0gveE1OejNVWUYxY1F2RHRPR1IyOWo0RTIrRVVCOU5haTJITTVMT21RTVUz SllnREVRRjVyTXpEVkI3WXpiTThKcERvZnpqcWo4QXo0S0UrVDFuQkt4aXpN dEM4cEZCcXpiYUZ2VmVselB0LzN4L0t6MWVuQnlhOUZicGRodExuWXpMb0Jo SlNDOHJLRkFiaXBqL3pGMGtxQUg4U3l0NlF3Q0N2TWFuVm1WUGl5ZmJNMkd2 OEJkdmJ1alRJZjZVTXNmai8xKzlXLzAxZkN4L2krUmhNL2dQYjRRPT08L2Rz Olg1MDlDZXJ0aWZpY2F0ZT48L2RzOlg1MDlEYXRhPjwvZHM6S2V5SW5mbz48 L2RzOlNpZ25hdHVyZT48c2FtbDpTdWJqZWN0PjxzYW1sOk5hbWVJRCBGb3Jt YXQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjEuMTpuYW1laWQtZm9ybWF0 OmVtYWlsQWRkcmVzcyI+Y293Z3VybUByaG9kZXMuZWR1PC9zYW1sOk5hbWVJ RD48c2FtbDpTdWJqZWN0Q29uZmlybWF0aW9uIE1ldGhvZD0idXJuOm9hc2lz Om5hbWVzOnRjOlNBTUw6Mi4wOmNtOmJlYXJlciI+PHNhbWw6U3ViamVjdENv bmZpcm1hdGlvbkRhdGEgTm90T25PckFmdGVyPSIyMDE3LTAyLTI3VDIxOjU1 OjEzWiIgUmVjaXBpZW50PSJ7cmVjaXBpZW50fSIvPjwvc2FtbDpTdWJqZWN0 Q29uZmlybWF0aW9uPjwvc2FtbDpTdWJqZWN0PjxzYW1sOkNvbmRpdGlvbnMg Tm90QmVmb3JlPSIyMDE3LTAyLTI3VDIxOjQ5OjEzWiIgTm90T25PckFmdGVy PSIyMDE3LTAyLTI3VDIxOjU1OjEzWiI+PHNhbWw6QXVkaWVuY2VSZXN0cmlj dGlvbj48c2FtbDpBdWRpZW5jZT57YXVkaWVuY2V9PC9zYW1sOkF1ZGllbmNl Pjwvc2FtbDpBdWRpZW5jZVJlc3RyaWN0aW9uPjwvc2FtbDpDb25kaXRpb25z PjxzYW1sOkF1dGhuU3RhdGVtZW50IEF1dGhuSW5zdGFudD0iMjAxNy0wMi0y N1QyMTo1MjoxMloiIFNlc3Npb25Ob3RPbk9yQWZ0ZXI9IjIwMTctMDItMjhU MjE6NTI6MTNaIiBTZXNzaW9uSW5kZXg9Il9jY2ZkYTNmMC1kZjNhLTAxMzQt MjRiYS0wYTBjNzk0Yjc2NmYiPjxzYW1sOkF1dGhuQ29udGV4dD48c2FtbDpB dXRobkNvbnRleHRDbGFzc1JlZj51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoy LjA6YWM6Y2xhc3NlczpQYXNzd29yZFByb3RlY3RlZFRyYW5zcG9ydDwvc2Ft bDpBdXRobkNvbnRleHRDbGFzc1JlZj48L3NhbWw6QXV0aG5Db250ZXh0Pjwv c2FtbDpBdXRoblN0YXRlbWVudD48L3NhbWw6QXNzZXJ0aW9uPjwvc2FtbHA6 UmVzcG9uc2U+Cgo=

I was able to decode it here:
https://www.samltool.com/base64.php
And was able to get the NameID at:
https://www.samltool.com/attributes.php
samltool.com uses php-saml. Have you checked that the SAMLResponse was validated correctly and the settings are ok. Aftet the processResponse, check that the getErrors method replies an empty array.

When I was looking at the code for the response class, it looked like the "Processing" happened as part of the initialization of the SAMLResponse. Do I need to do that separately?

$auth->getErrors() returned an empty array. Is there another place to look for errors?

Check this piece of code:
https://github.com/onelogin/php-saml#attribute-consumer-serviceacs-endpointsacsphp
You need to initialize the auth object, call the processResponse and later check if the getErrors returns empty array.

Great, thanks!

You may want to be aware of https://www.drupal.org/project/samlauth


Remove gem we don't need or use

Mimemagic related clean up.
We don't actually use/need this gem, and it's a bit of legacy code we didn't notice before it bit us in the ...
There might be some next steps around cleaning up dates anyway but that lives to fight another day.

🎉
Only thing I can think of: Does this impact our error messages in any way?

🎉
Only thing I can think of: Does this impact our error messages in any way?

No, all good everywhere I checked (happy path creating a job with all manner of date errors)


Description
The results of beautification are not what I expect.
Input Before Beautification
This is what the code looked like before:
<dom-module id="xxx-yyy">

  <elem-1>
    <elem-2>
      </elem-2>
  </elem-1>

  <template>
    <elem-1>
      </elem-1>
  </template>

  <template>
    <template>
      <template>
      </template>
    </template>
  </template>

</dom-module>

Expected Output
The beautified code should have looked like this:
<dom-module id="xxx-yyy">

  <elem-1>
    <elem-2>
    </elem-2>
  </elem-1>

  <template>
    <elem-1>
    </elem-1>
  </template>

  <template>
    <template>
      <template>
      </template>
    </template>
  </template>

</dom-module>

Actual Output
The beautified code actually looked like this:
<dom-module id="xxx-yyy">

  <elem-1>
    <elem-2>
    </elem-2>
  </elem-1>

  <template>
    <elem-1>
      </elem-1>
  </template>

  <template>
    <template>
      <template>
      </template>
  </template>
  </template>

</dom-module>

Steps to Reproduce

Add code to Atom editor
Run command Atom Beautify: Beautify Editor
This beautified code does not look right!

It still works ok in 0.29.10
Debug
Here is a link to the debug.md Gist: https://gist.github.com/jfletcher-nuxeo/b9d61cc31f5a40ffa7b77b7b86be5015
Checklist
I have:

[x] Tried uninstalling and reinstalling Atom Beautify to ensure it installed properly
[x] Reloaded (or restarted) Atom to ensure it is not a caching issue
[x] Searched through existing Atom Beautify Issues at https://github.com/Glavin001/atom-beautify/issues so I know this is not a duplicate issue (similar to #1270 )
[x] Filled out the Input, Expected, and Actual sections above or have edited/removed them in a way that fully describes the issue.
[x] Generated debugging information by executing Atom Beautify: Help Debug Editor command in Atom and added link for debug.md Gist to this issue

JS Beautify does not officially support XML or XML-like languages.  In this case I would recommend changing the beautifier to Pretty Diff.

@jfletcher-nuxeo : In your debugging info it says Atom Beautify Version: 0.29.17 and you noted above

It still works ok in 0.29.10

Are you saying this worked before and is now broken? Does reverting back to previous version fix the issue?
Did switching to using Pretty Diff beautifier resolve the issue?
Let me know if there's anything we can do to help.

@Glavin001 I missed your reply sorry. Yes it works in 0.29.10, that's the version I've reverted too. @prettydiff this is not XML, it's HTML.  Specifically it's HTML using Web components and Google Polymer.
I will try Pretty Diff and report back.

So @prettydiff Pretty Diff handles the element indentation, but doesn't support attribute wrapping; even worse if I have the attributes on separate lines, it puts them back on one line :(
What I want:
    <elem-1 attribute="1"
            attribite-2="2"
            attribite-3="3"></elem-1>

What I get:
    <elem-1 attribute="1" attribite-2="2" attribite-3="3"></elem-1>
(this is with atom-beautify 0.29.24)

Looking back at the debug.md settings I see this under the HTML options: "wrap_line_length": 250,.  The example in the previous comment is shorter than 250.
I have created a new option called force_attribute which always forces the attributes to be indented.  This option is in Pretty Diff 2, which be coming to Atom Beautify very shortly.

Good to know, thank you!

Looks like Pretty Diff 2 still isn't in atom, however force_attribute is in Pretty Diff v1.16.37 (the current dependency). Trying to figure out how to add this option...

You can try helping out with Pretty Diff 2 integration: https://github.com/Glavin001/atom-beautify/pull/1750
Some of the unit tests are failing and I am not sure why, but it does not appear to be related to Pretty Diff.


Docs: auto-stats on by default, CREATE STATS jobs

Fixes #4374, #4379.
Summary of changes:

Update automatic statistics mentions to note that it's on by default,
and remove instructions for turning it on (since it's already on).

Update CREATE STATS mentions to note that it creates jobs, and can be
viewed by SHOW JOBS.

Update SHOW JOBS page to mention automatic stats.

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/67a3d4b2814d1aeea567b3914f0bfa04e1bc422a/

Direct links to changed pages:

CREATE STATISTICS
Cost-based optimizer
SHOW JOBS

LGTM, but I've also just changed the default columns for automatic stats to include 100 regular columns in addition to the index columns.

@rytaft thanks - sounds like you are referring to https://github.com/cockroachdb/cockroach/pull/35192 ?
If so, I updated the description of what columns are indexed based on what I read there - please take a look and let me know what you think.
Separately, regarding the change to not collect histograms in that PR, it doesn't look like we document any use of histograms currently, so I'm inclined to say no docs change is needed on that front (but IDK).  Do you agree with that assessment?

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/da7ffba876093f7ec95579b1801a58c7d5170780/

That's the one -- LGTM. I agree that we don't need to document the histograms change.
I'm also not 100% sure auto stats will be on by default for the release... but I presume you can go back the previous version showing how to enable the setting if need be? Anyway, this version LGTM for now.

I agree that we don't need to document the histograms change.

Cool.

I'm also not 100% sure auto stats will be on by default for the release... but I presume you can go back the previous version showing how to enable the setting if need be?

Yes, definitely.
Thanks very much for the review!

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/0e0c1d39d6881e72b7cacd8cfa8764bb6f12aca2/


Build universal wheels

See https://packaging.python.org/guides/distributing-packages-using-setuptools/#universal-wheels

Thank you @nsoranzo!


Authentication?

HTTP basic auth?
Cookie based auth?
JWT (makes me cringe thinking about implementing it, but still)?

Currently vial is only http so maybe a bad idea to add auth :thinking:


fix: fixes for CI failures on EE

This PR mainly tries to address ci failures on EE, this doesn't change functionality on CE but changes the method flows

/ok-to-test


Connecting pool...

Hello,
I have had my Wallet stuck at "connecting pool..." for about 2 weeks now.
I was in 0.5.1 but I have the same problem importing my wallet in 0.5.4.
same problem when importing on another PC ( Win11, Win10 )

If your wallet keep connecting, please open "wallet_config.json" and change pool address to
pool.xdag.org:13656
it will work again（V0.5.4）
Please join our discord, it will release latest info:
https://discord.gg/Nf72gd9

Great it works, thanks.
looking at the sources I see that it will be fixed in version 0.5.5.


chempendium

because hahahha funny pun

Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl: eclips_e

tweak: Renamed the chemical compendium to chempendium

im an actual failure to society