haskell generic-builder: Use separate setup db in more cases

Motivation for this change
Use for cross and GHCJS whether or not there are setup depends.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

CC @ElvishJerricco

Why don't we just always use a separate db for setup? I'm not sure, but I don't think Cabal will give other components' build-depends to Setup.hs, so I don't think we'd be breaking anything by not providing them.

@ElvishJerricco I recall that will break a bunch of lousy packages that predate custom-setup, but maybe Hackage has largely been fixed re those things? Let's test!


Statline split

Statlines are now separated between the raw stats and "meta"stats (i.e. age, season, team)

Fixes #9


Any way for this package to support styled-components css rules?

I installed and configured this package, it works fine in css files, however it doesn't complete css rules as expected in styled-components (however, it attaches typescriptreact files thus I assumed it should?).
Attaching 2 examples of completion in .css  and .tsx file:

I made a for just for this: https://github.com/caldwell-63/emmet-language-server
Just install with npm install -g emmet-language-server and change the cmd in lspconfig as in readme
CSS abbreviations will work in .ts and not .tsx, to separate HTML and CSS abbreviations (put your styled components in .ts files, it's good practice anyway)

That's not really a fork, is it? PR to this repo would be a better option.


Wrong description and typo.

Brief Intro
There is wrong description in Linked List and typo in Insertion Sort.
More Details
In LinkedList.swift
line 70
assert(index >= 0, "index must be greater than 0")
This should changed to index must be greater or equal to 0
In InsertionSort.swift
line 25
/// - Parameter array: the array to be sorted, conatining elements that conform to the Comparable protocol
conatining is a typo.
I'll fix it and send PR. 😄

Great find, thanks again!


TextStyle.toString could be prettier

e.g. using tree lines like our other trees

Especially in debugDumpRenderTree, it doesn't integrate in as well as it could.


on_publish_done endpoint not calling fine

Hi @arut
We are using GStreamer to push live stream to nginx-rtmp. We found that on_publish_done  endpoint is not calling fine when GStreamer does not exit gracefully. We have set  drop_idle_publisher 40sec. But on_publish_done is not calling fine. Our server and app blocks look like below
server {
listen 1935;
timeout 40s;
ping 40s;
ping_timeout 20s;
publish_time_fix off;

application csde {

            live on;
            wait_key on;
            wait_video on;
            publish_notify on;
            idle_streams off;
            drop_idle_publisher 40s;
            on_publish_done http://<IP_ADDRESS>:8000/stream/stopped;
        }
}

Google forum link is https://groups.google.com/forum/#!topic/nginx-rtmp/mcQTRtg527Q
Thanks in advance

I have the same problem, I hope it will be resolved soon.


move ECMA regex tests under format/

"format" keywords always validate as true unless formats are treated as
assertions, not just annotations - therefore they belong in the format/
directory.

Seems reasonable enough. Thanks.


error constructing XcodeVersionInfo despite Xcode being installed

On the latest binary (buck2 e0cf22f7f5e736458d848c6bf0f60d67 <local> in buck2 --version) I get the following error:
Constructing `XcodeVersionInfo` using host platform MacOS.

Caused by:
    0: deserializing Xcode `version.plist`
    1: Io(Os { code: 2, kind: NotFound, message: "No such file or directory" })
    2: No such file or directory (os error 2)
Build ID: 3cda14ea-393b-4e82-9f45-2d667a1aa670
Jobs completed: 0. Time elapsed: 0.0s.
BUILD FAILED

This is on a new repo just after running buck2 init --git.
It looks like this might be related to https://github.com/facebook/buck2/issues/191. I have Xcode installed, but it doesn't look like the target path exists.
I'm still on macOS Monterey (12.6.5), which may be relevant here.
$ xcode-select --print-path
/Library/Developer/CommandLineTools

Here are places within that path that version.plist exists:
/Library/Developer/CommandLineTools/usr/lib/sourcekitd.framework/Versions/A/Resources/version.plist
/Library/Developer/CommandLineTools/usr/lib/sourcekitd.framework/Versions/A/XPCServices/SourceKitService.xpc/Contents/version.plist
/Library/Developer/CommandLineTools/usr/lib/sourcekitdInProc.framework/Versions/A/Resources/version.plist
/Library/Developer/CommandLineTools/usr/lib/swift/pm/llbuild/llbuild.framework/Versions/A/Resources/version.plist
/Library/Developer/CommandLineTools/Library/PrivateFrameworks/LLDB.framework/Versions/A/Resources/version.plist
/Library/Developer/CommandLineTools/Library/PrivateFrameworks/LLDB.framework/Versions/A/XPCServices/RootDebuggingXPCService.xpc/Contents/version.plist
/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/version.plist
/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/version.plist

I got around this for now by grabbing the binaries from the build before the fix for #191, so if it didn't start there it's at least sometime after https://github.com/facebook/buck2/actions/runs/4768991258

It's probably rather coming from:
https://github.com/facebook/buck2/commit/5accfdc45db1ef3ab95421b7c048699f2fb259c0
Perhaps this whole XCode version thing isn't something we should have in the OSS build. This is a bit of a hack internally already, and it seems like this is doing a lot more harm thangood.


Switching from Mathjax to KaTeX on Hugo

Before reporting a bug

[x] Check common issues.
[ ] Check the bug is reproducible in the demo. If not, check KaTeX is up-to-date and installed correctly.
[x] Search for existing issues.

Relevant issue: https://github.com/KaTeX/KaTeX/issues/50
Describe the bug:
I have followed the documentation and attempted to add KaTeX to my site. I successfully have KaTeX rendering 99% of my math, but I cannot get the mhchem package to load.
To Reproduce:
Steps to reproduce the behavior:

Create katex.html

<link rel="stylesheet"<EMAIL_ADDRESS>integrity="sha384-BdGj8xC2eZkQaxoQ8nSLefg4AV4/AwB3Fj+8SUSo7pnKP6Eoy18liIKTPn9oBYNG" crossorigin="anonymous">

Include the partial in the header.html of my site

      {{ partial "logo.html" . }}

menu

  {{ if len $.Site.Menus }}
    {{ partial "menu.html" . }}
  {{ end }}

  {{ partial "katex.html" . }}

  {{ range .AlternativeOutputFormats -}}
    {{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
  {{ end -}}

Follow the documentation here, and added the following line to the bottom of katex.html

Expected behavior:
mhchem elements in my site are rendered correctly
Screenshots:

Environment (please complete the following information):

KaTeX Version: [Can be checked via katex.version] 0.11.1 I believe?
Device: [e.g. Desktop, iPhone 8]  Desktop
OS: [e.g. Windows 10, iOS 11] Arch Linux
Browser: [e.g. Chrome, Safari] Firefox
Version: [e.g. 72] 77

Additional context:
I am running a local Hugo server. I am getting the main math to render correctly, it's the loading of extensions that isn't working.

I would guess that the problem is that you're loading base KaTeX with

    <title>Chemistry Practice: Buffer Systems :: Gideon Wolfe</title>

  <meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="\[\require{\mhchem}\]
Buffer systems are important part of of organic and inorganic chemistry. In short, a buffer is a solution that is resistant to pH changes, such as the addition of an acid or a base.
Let's go over an example problem you might encounter on a homework assignment or exam.
 What is the pH of an 80 mL .30M NH₃/0.36M NH₄⁺ buffer system after 20.0 mL of 0.050M NaOH has been added?" />
<meta name="keywords" content="" />
<meta name="robots" content="noodp" />
<link rel="canonical" href="http://localhost:1313/posts/chemistry/bufferpractice1/" />

<link rel="stylesheet" href="http://localhost:1313/assets/style.css">

  <link rel="stylesheet" href="http://localhost:1313/assets/pink.css">

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="http://localhost:1313/img/apple-touch-icon-144-precomposed.png">

  <link rel="shortcut icon" href="http://localhost:1313/img/favicon/pink.png">

<meta name="twitter:card" content="summary" />

<meta name="twitter:creator" content="Gideon Wolfe" />

<meta property="og:locale" content="en" />
<meta property="og:type" content="article" />
<meta property="og:title" content="Chemistry Practice: Buffer Systems :: Gideon Wolfe">
<meta property="og:description" content="An introduction to solving problems involving buffer systems."  In short, a buffer is a solution that is resistant to pH changes, such as the addition of an acid or a
base.

Let's go over an example problem you might encounter on a homework assignment or exam.

What is the pH of an 80 mL .30M NH₃/0.36M NH₄⁺ buffer system after 20.0 mL of 0.050M NaOH has been added? The Kₐ value for \(\ce{NH4+}\) is \(5.8\text{x}10^{-10}\)

Lets break this problem down. We have 80 mL of a solution made up of \(\ce{NH3}\) (ammonia) and \(\ce{NH4+}\) (ammonium).

We know the concentrations of each of these species, denoted by brackets.

\([\ce{NH3}] = \frac{\text{0.30 moles } \ce{NH3}}{\text{1 Liter}}\) \([\ce{NH4+}] = \frac{\text{0.36 moles } \ce{NH4+}}{\text{1 Liter}}\)

Then we add 20.0 mL of \(\ce{NaOH}\), which has the following concentration.

\[[\ce{Na+}] = \frac{\text{0.050 moles } \ce{Na+}}{\text{1 Liter}}\]

To proceed with this problem, we need to figure out what will happen to the \(\ce{NaOH}\) (sodium hydroxide) when it is added to the solution.

Sodium hydroxide is a strong base, and will completely disassociate into the Sodium and Hydroxide ions like so.

\[ \ce{NaOH ->[H₂O] Na+ + OH- } \]

Theoretically \(\ce{Na+}\) would react with \(\ce{H2O}\) to form more \(\ce{NaOH}\), but this will not happen, because \(\ce{NaOH}\) is a strong base and will not be formed.
For this reason, we can ignore it in our further calculations. This leaves us only the \(\ce{OH-}\) to worry about.

Since \(\ce{OH-}\) is a base, it will react with the acid in our buffer solution. Buffer solutions are always made up of conjugate acid/base pairs. In this case, \(\ce{NH4+}\)
is the acid, because it is the conjugate acid of \(\ce{NH3}\).

\[\ce{NH4+(aq) + OH- (aq) <-> NH3(aq) + H2O(l)}\]

In this reaction, hydroxide acts as a base and accepts the proton from ammonium.

To further solve this problem, we are going to need to use a RICE table.

$$
\begin{array}{c|c@{}c@{}c@{}c@{}c}
  \hline
  R   & \ce{NH4+(aq) & $${}+{}$$ & OH- (aq) & <-> & NH3(aq) & $${}+{}$$ & H2O(l)} \\
  \hline
  I   &       ?.??    &&   ?.??                         &&  ?.??  && \text{---} \\
  C   &       ?.??    &&   ?.??                         &&  ?.??  && \text{---} \\
  E   &       ?.??    &&   ?.??                         &&  ?.??  && \text{---}  \\
  \hline
\end{array}
$$

Let's start by figuring out \(I\), the initial amount of moles for each species. Since water is in such high abundance, we can leave it out of the equation.

\[ \text{moles } \ce{NH4+} = \frac{0.36 \text{ moles } \ce{NH4+}}{1 \text{ L}} * 0.0800 \text{ L} = 0.0288 \text{ moles}\]

\[ \text{moles } \ce{OH-} = \frac{0.050 \text{ moles } \ce{OH-}}{1 \text{ L}} * 0.0200 \text{ L} = 0.0010 \text{ moles}\]

\[ \text{moles } \ce{NH3} = \frac{0.30 \text{ moles } \ce{NH3}}{1 \text{ L}} * 0.0800 \text{ L} = 0.0240 \text{ moles}\]

Here is our updated rice table with the initial amounts of each species.

$$
\begin{array}{c|c@{}c@{}c@{}c@{}c}
  \hline
  R   & \ce{NH4+(aq) & $${}+{}$$ & OH- (aq) & <-> & NH3(aq) & $${}+{}$$ & H2O(l)} \\
  \hline
  I   &       0.0288  &&   0.0010                       &&  0.0240  && \text{---} \\
  C   &       ?.??    &&   ?.??                         &&  ?.??  && \text{---} \\
  E   &       ?.??    &&   ?.??                         &&  ?.??  && \text{---}  \\
  \hline
\end{array}
$$

We can see that all species in this reaction are one to one ratios. This means that \(\ce{OH-}\) is the limiting reactant, as it has the least amount of moles present.

Additionally, this means the initial number of moles of \(\ce{OH-}\) is the maximum number of moles that can be reacted of either of the other chemical species.

Now we can fill in \(C \) and \(E \), or the change in moles during the reaction and the final amount at equilibrium.

$$
\begin{array}{c|c@{}c@{}c@{}c@{}c}
  \hline
  R   & \ce{NH4+(aq) & $${}+{}$$ & OH- (aq) & <-> & NH3(aq) & $${}+{}$$ & H2O(l)} \\
  \hline
  I   &       0.0288  &&   0.0010                       &&  0.0240  && \text{---} \\
  C   &       -0.0010    &&   -0.0010               &&  -0.0010  && \text{---} \\
  E   &       0.0278    &&   0                         &&  0.0250  && \text{---}  \\
  \hline
\end{array}
$$

We can see that all of the hydroxide was depleted in this reaction. Now that we have the number of moles of each species at equilibrium, we can preform the following calculations
to find the concentration at equilibrium.

\([\ce{NH3}]_{eq} = \frac{\text{0.0250 moles } \ce{NH3}}{\text{0.1000 Liter}}\) = 0.250 M

\([\ce{NH4+}]_{eq} = \frac{\text{0.0278 moles } \ce{NH4+}}{\text{0.1000 Liter}}\) = 0.278 M

We use the volume of .1 L because we had an initial volume of 80 mL and then we added an additional 20 mL of \(\ce{NaOH}\).

We can use these equilibrium molarities as inputs to the Henderson–Hasselbalch equation, which takes the
following form:

\[ pH = pK_a + \text{log}\left( \frac{[A^-]}{[HA]} \right) \]

In this example, \(\ce{HA}\) and \(\ce{A-}\) represent the acid and it's conjugate base respectively.

Let's start substituting in values. We know that the Kₐ of \(\ce{NH4+}\) is \(5.8\text{x}10^{-10}\), and from that we can derive the pKₐ value, which is equal to \(-\text{log}\left( K_a
\right)\).

We also have the equilibrium concentrations for the conjugate acid/base pair. After filling in our values, the HH equation should look like:

\[ pH = 9.24 + \text{log}\left( \frac{0.250}{0.278} \right) \]

Plug this into your calculator, and you should get a resulting pH of \(9.19\).

Conclusion⌗

Please let me know if you have any questions or corrections for me! Writing these exercises helps me practice for my exams 😄

        Read other posts

                ←
                Unifying the News: Nextcloud, Newsboat, and Linux.

                Controlling Your Cloud: Integrating Nextcloud Into Your Workflow
                →

On a slightly unrelated note, I am switching from MathJax to KaTeX because I was receiving warnings about deprecation of mathjax. KaTeX requires mmark markup format to function correctly, but now Hugo warns that mmark will soon be deprecated. What am I to do?

Just upgraded to the new mathjax CDN and all my problems are solved.


Better gestion of portability under Mac or Linux

The script works well under macOS, but because of ghead rather than head could fail on linux.

I have used this code to detect where the script is running :
#!/usr/bin/env bash

if [ "$(uname)" == "Darwin" ]; then
    # Do something under Mac OS X platform
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
    # Do something under GNU/Linux platform
elif [ "$(expr substr $(uname -s) 1 10)" == "MINGW32_NT" ]; then
    # Do something under 32 bits Windows NT platform
elif [ "$(expr substr $(uname -s) 1 10)" == "MINGW64_NT" ]; then
    # Do something under 64 bits Windows NT platform
fi

Need to be tested in the main and official script : LJ-ripper.pdf.
The script has been clone to alternative-mac.shwith mac only code, this file has been tested and works.

Now I have segregated my original script into 3 scripts : one for mac and two for linux.
Hence this bug has been repaired.


DrawNode v2 (aka DrawNodeEx)

Describe your changes
Some fixes.
Issue ticket number and link
#1949
Checklist before requesting a review
For each PR

[ ] Add Copyright if it missed:
- "Copyright (c) 2019-present Axmol Engine contributors (see AUTHORS.md)."

[x] I have performed a self-review of my code.
Optional:

[ ] I have checked readme and add important infos to this PR.
[ ] I have added/adapted some tests too.

For core/new feature PR

[ ] I have checked readme and add important infos to this PR.
[ ] I have added thorough tests.

Opps to much files


Telepen numeric support

Following on from the change in the main library to support Telepen, I'm currently unable to decode Telepen Numeric barcodes without the following changes to allow the hint to be passed through.
I've also updated the demo site so that this can be set too.

v0.2.1 is in npm, the demo site is reloading.


Failed queries not returning error details

Bug description
When I try to insert invalid data in a table, I get the error logged to the console but I cannot retrieve it on the code, whenever I log it or send it as a request response, this is the output:
{
   "clientVersion": "3.8.1"
}

How to reproduce
This is where I execute the query(post() function) that I expected to get the proper error as per the docs:
user.controller.ts :
import { PrismaClient } from "@prisma/client";
import { Request, Response } from "express";

const mockData = {
    name: "test",
    last_name: "test_lastname",
    birth_date: "28/07/1999", // invalid Date
    role_id: "1" // invalid type, should be Int
}

module.exports = {
  post: async function () {
    const prisma: any = new PrismaClient();
    try {
      const result = await prisma.user.create({
        data: mockData,
      });

      console.log(result)
    } catch (err) {
      console.log(err);
    }
  },
};

Expected behavior
I expected to get an error code(P2001 for example) or some at least some message to know what the problem on that query is and then handle application behavior accordingly.
Prisma information
schema.prisma :
model user {
  id              Int      @id @default(autoincrement())
  name            String
  last_name       String
  role            role     @relation(fields: [role_id], references: [id])
  role_id         Int
  birth_date      DateTime
  created_at      DateTime @default(now())
  updated_at      DateTime @updatedAt
}

model role {
  id          Int     @id @default(autoincrement())
  description String
  user        user[]
}

Environment & setup

OS: Windows 10
Database: PostgreSQL
Node.js version: 16.13.1

Prisma Version
$ npx prisma -v

Environment variables loaded from .env
prisma                  : 3.8.1
@prisma/client          : 3.8.1
Current platform        : windows
Query Engine (Node-API) : libquery-engine 34df67547cf5598f5a6cd3eb45f14ee70c3fb86f (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli 34df67547cf5598f5a6cd3eb45f14ee70c3fb86f (at<EMAIL_ADDRESS>Introspection Engine    : introspection-core 34df67547cf5598f5a6cd3eb45f14ee70c3fb86f (at<EMAIL_ADDRESS>Format Binary           : prisma-fmt 34df67547cf5598f5a6cd3eb45f14ee70c3fb86f (at<EMAIL_ADDRESS>Default Engines Hash    : 34df67547cf5598f5a6cd3eb45f14ee70c3fb86f
Studio                  : 0.452.0

Did the problem go away @gustavo-maurina?

i am also facing the same issue

@gustavo-maurina  you got any solution ?

Update after coming back from vacation and why I closed the issue:
The error being thrown was never actually wrong, it just wouldn't appear on the terminal when I used console.log on it for some reason. When trying to access the property alone it worked, this is how I managed to get the error message and proceed to handle it properly:
import { PrismaClient } from "@prisma/client";
import { Request, Response } from "express";
import handleQueryError from "../helpers/handleQueryError.helpers";

const mockData = {
    name: "test",
    last_name: "test_lastname",
    birth_date: "28/07/1999", // invalid Date
    role_id: "1" // invalid type, should be Int
}

module.exports = {
  post: async function () {
    const prisma: any = new PrismaClient();
    try {
      const result = await prisma.user.create({
        data: mockData,
      });
    } catch (err) {
      if (err instanceof PrismaClientValidationError)
        return handleQueryError(err.message); // sending the error message directly
    }
  },
};

cc @millsp

Adding up to the conversation, it surprised that the error was an instance of PrismaClientValidationError, since according to the docs, this type of error shouldn't have a clientVersion on it.

Next steps:

Make the error code enumerable

Reproduction https://github.com/prisma/prisma/pull/16231

I was getting the same error and found the solution.

My problem - I was trying to make a query to update a client, but I'm using MongoDB and when I followed prisma tutorial, they were using id: Number(id) as example, and id on mongo is represented as string.

  try {
    const { id } = req.params;
    const updatedClient = await prisma.client.update({
      where: { id: Number(id) }, // Here is the error
      data: {
        ...req.body,
      },
    });

    res.status(200).json(updatedClient);
  } catch (error) {
    res.status(400).json(error);
};

To solve that, I just changed Number(id) to String(id) and it works
  try {
    const { id } = req.params;
    const updatedClient = await prisma.client.update({
      where: { id: String(id) }, // It works again
      data: {
        ...req.body,
      },
    });

and then I stopped to see { "clientVersion": "3.8.1" } on Postman.
I think that you will receive this error when you don't respect types or you are passing the wrong arguments to the query.


[BEAM-2546] Add InfluxDbIO

Please add a meaningful description for your change here

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

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

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

Hi @iemejia and @mwalenia ... I have closed the previous PR (https://github.com/apache/beam/pull/11028) and opened this one. Thanks for understanding as I switched the PR.

Is there any specific ETA on beam supporting InfluxDbIO? Thank you!

Any updates on this?

retest this please

@iemejia @aromanenko-dev @mwalenia ... Thanks for reviewing. I will appreciate any suggestion and feedback.

@bipinupd I'm sorry for delay with review, I'll try to take a look on this week

@bipinupd Kind ping on this PR, ptal on my comments

@bipinupd - what is the next step on this PR? Is this PR still active?

To include only your commit(s) into merge, please, rebase your branch against master and push it after that.

@aromanenko-dev Sorry for the delay. I need some help in resolving 1) Whitespace ("Run Whitespace PreCommit")  2) PythonDocker ("Run PythonDocker PreCommit") and 3) Portable_Python ("Run Portable_Python PreCommit")  step failures. I have no Python code commit in this PR.

@bipinupd

For Whitespace, please, fix whitespace issue in ./sdks/java/io/influxdb/build.gradle:
https://ci-beam.apache.org/job/beam_PreCommit_Whitespace_Commit/142/console

04:01:26 Running whitespacelint...
04:01:39 ./sdks/java/io/influxdb/build.gradle:18:0: W202 Blank line contains whitespace
04:01:58 ====================================================================================================
04:01:58 Whitespacelint has found above issues.
04:01:58 You can open the file with vim and remove trailing whitespaces by:
04:01:58 vim -es -c ":%s/\s\+$//e" -c ":wq" "./sdks/java/io/influxdb/build.gradle"
04:01:58 ====================================================================================================

Run Portable_Python PreCommit

Run PythonDocker PreCommit

@bipinupd Please, rebase your branch against latest master. This PR has to contain the ONLY commits related to your changes. Also, it would helpful to squash all commits into one or, if needed, several major and atomic commits. [1]
[1] https://beam.apache.org/contribute/#make-the-reviewers-job-easier

Very excited about this. Thank you for your hard work!

Run Java PreCommit

Run JavaPortabilityApiJava11 PreCommit

The only minor thing that is missing -  update of CHANGES.md about this new IO.

Run Python PreCommit


[Feature request] Make CallComposite responsive / mobile friendly

What feature are you requesting?
It would be great if the CallComposite would have some (basic) responsive support. Currently it is mostly functional on iOS and Android, however the layout is distorted since it doesn't support small screen layouts.
Currently the CallComposite is hard to use in a mobile first / friendly scenario and thus requiring using the Stateful client with quite some modifications.
What would be the benefit of adding this feature?
Customers can more easily get started in a mobile scenario.
What solution would be ideal for you?
Basic support for small screen sizes in the CallComposite
What alternatives have you considered?
Use the Stateful client / UI library with custom styling
Is there any additional information for your request?
CallComposite is currently not used by my customer case, since we require other modifications. However, when the CallComposite would be responsive, I would imagine that some underlying components also benefit from this change.
Attach screenshots or images add detail to your request:

We definitely have this item in our immediate backlog for both calling and chat and is important to us, perhaps @alkwa-msft @ddematheu2 can comment on a potential timeline for responsive support

Made small improvements to call composite here to make it actually usable on mobile https://github.com/Azure/communication-ui-library/pull/533.
However there is still a lot of polish to go to make it a premium experience that will be tackled at a future date

Thanks, @JamesBurnside this is already a great improvement! I encountered a few bugs / improvements, does it make sense to report them already or are they already tracked internally for the future premium experience?
Examples are:

Join screen is not fully responsive yet. (tested on iPhone 11 Pro) screenshot

Pre join screen has wrong icon alignment and 'Your camera is turned off' is using a different font. (tested on iPhone 11 Pro) IMG_9740

On iOS there are pause buttons when you touch a video area. (tested on iPhone 11 Pro)

Perhaps the pre-join screen should take the camera orientation into account (portrait vs landscape)
(this is also something that perhaps should be possible in all video views, since currently you cannot do 'zoom to fit' like with Teams).

Definitely report them so they can't be missed ♥ Hopefully it won't be too long before we get round to tackling them, we have some known issues being tracked explicitly as bugs that might be duplicates but I'd rather have them in two places than no places. I've mentioned this issue on our work item to make the composites fully responsive to ensure anything reported here is addressed (https://skype.visualstudio.com/SPOOL/_backlogs/backlog/Web UI/Features/?workitem=2492702).

for the time being I added boostrap classes with jquery. this kind of helped... it's not perfect or ideal, but it gets the job done
    $('.css-83').addClass('col-sm-6 mx-auto');
    $('.css-111').addClass('col-sm-6 mx-auto text-center');
    $('.css-82').addClass('row pt-2 d-block');
    //$('.css-82').addClass('d-block');
    $('.css-112').addClass('mx-auto text-left');
    //$('.root-110').remove();
    $('.css-73').text('')
    $('.flexContainer-133').text('JOIN CALL');

Captured in our backlog. If there any additional specific bugs, please create new issues to tackle them individually.


Trouble running examples

Hi when I build the examples and try to run them I get the following.
[lc@ashenvale etc-plain-example]$ etc-plain-example -u foo -p foo
etc-plain-example: InvalidConfiguration Nothing "Error in $['etc/entries'].credentials.cli: cli option contains invalid key \"type\""

Thanks

Oh, that was because of a change was done to the spec parser a few releases ago. This is easy to fix, we just need to move the type entry from inside the cli sub-map to the upper level, e.g.:
      etc/spec:
        default: "root"
        env: "MY_APP_USERNAME"
        cli:
          input: "option"
          short: "u"
          metavar: "USERNAME"
          help: "Username of the system"
          type: "string"
          required: false

to
      etc/spec:
        default: "root"
        type: "string"
        env: "MY_APP_USERNAME"
        cli:
          input: "option"
          short: "u"
          metavar: "USERNAME"
          help: "Username of the system"
          required: false

Note where the type attribute has gone.
Can you help me creating a new PR with those changes? I can do that later if you don't have time, thanks for reporting! 🙏

https://github.com/roman/Haskell-etc/pull/40


fix: gracefully handle empty hstore in pgdialect

In the current implementation of hstore in github.com/uptrace/bun/dialect/pgdialect, an empty hstore is encoded properly in the database as '' but can not be retrieved.
It is handled properly for a var md map[string]string = nil when NULL is inserted in database and an empty map is returned when querying back the record, but when using a map[string]string{} it will insert '' (which is expected) but will fail with the following error:
sql: Scan error on column index 8, name "metadata": bun: can't parse hstore: ""

This PR make sure an empty hstore is handled gracefully in the hstoreParser as well as adds test cases for this issues in pgdialect itself (for the parser AND the appender) as well as in the internal/dbtest package.
This fix is relatively crucial to us, as we tend to store user defined metadata in hstore and it may happen that a user removes all key value pairs from there. Currently, we have to check if the changes made to a metadata field makes it empty and force the field to be null, being able to handle empty hstore gracefully at the database driver level would make our life quite easier here as it seems like a legitimate use of that type.

Thanks for fixing this.


Blob: The API version 2023-11-03 is not supported by Azurite

Which service(blob, file, queue, table) does this issue concern?
Blob
Which version of the Azurite was used?
mcr.microsoft.com/azure-storage/azurite:latest
client library 'com.azure:azure-storage-blob:12.25.1'
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
dockerhub
What problem was encountered?
The API version 2023-11-03 is not supported by Azurite

I'm experiencing the same issue while running Azurite that came with Microsoft Visual Studio Enterprise 2022 (64-bit) - Version 17.9.0 Preview 1.1

@jkonecki
API version 2023-11-03 is already supported in Azurite 2.27.0 and later, see https://github.com/Azure/Azurite/blob/main/ChangeLog.md#202310-version-3270.
However, Visual studio need time to upgrade Azurite version in it, this is out of Azurite team control. This doc has the details on how to report a VS feedback issue : https://docs.microsoft.com/en-us/visualstudio/ide/how-to-report-a-problem-with-visual-studio?view=vs-2022
Before Visual studio upgrade Azurite version, you can also run latest Azurite from npm/VS Code extension/docker.
You can also run Azurite with parameter "--skipApiVersionCheck" to avoid this failure.

🤦♂I didn't use the latest image

@blueww I think you mean 3.27.0, the link makes it clear but I didn't click on it for a while :)

@blueww I think you mean 3.27.0, the link makes it clear but I didn't click on it for a while :)

Oh, yes. I mean 3.27.0.


Financials mapping

What are the to, from and context fields in the financials mapping?

The date range of the fact, and the name of the context for the specific
fact. Some facts have multiple contexts for year to date values and the
previous years values and those fields are what I used to eliminate the
duplicate facts.
On Thu, Jun 23, 2016 at 1:04 PM, Ben Johnson<EMAIL_ADDRESS>wrote:

What are the to, from and context fields in the financials mapping?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/gophronesis/ernest/issues/63, or mute the thread
https://github.com/notifications/unsubscribe/AOj0a04cIii1EVsVuBsRBvy-NeENw0wfks5qOryOgaJpZM4I9BuZ
.

OK.  Also, can you add a __meta__.has_financials field when you add financials?  This speeds up {"filtered" : {"exists" : ...}} queries, for the "mapping explosion" reason that we've talked about previously.

Can do.
On Thu, Jun 23, 2016 at 1:30 PM, Ben Johnson<EMAIL_ADDRESS>wrote:

OK. Also, can you add a meta.has_financials field when you add
financials? This speeds up {"filtered" : {"exists" : ...}} queries, for
the "mapping explosion" reason that we've talked about previously.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/gophronesis/ernest/issues/63#issuecomment-228122893,
or mute the thread
https://github.com/notifications/unsubscribe/AOj0a60SdzP8056nG1ivmn6Fl4eP9z2Cks5qOsLQgaJpZM4I9BuZ
.

the way the docs are processed now is that they are downloaded / parsed / written to raw / used to enrich financials in the ernest_aq_forms_enrich_cat index. I run an interpolation on that index to back in to certain high level balance sheet items & add a tag "meta.financials.interpolated" to the doc. This is a t/f bool value, which could be used to proxy the has financials key suggested above.


Enabling CORS in React client

I'm attempted to use this wrapper to fetch games, but I'm being blocked by CORS policy. After reading through the IGDB CORS documentation, I'm struggling to figure out if it's possible to call IGDB through React without setting up a server. Is there a way to modify the code below (this repo's example) to enable CORS and allow this call?
const getGames = async () => {
  const response = await igdb(APP_KEY)
    .fields(
      "id, name, rating, rating_count, popularity, cover.url, summary, release_dates.y, category"
    )
    .limit(20)
    .sort("rating", "desc")
    .where("rating > 0 & rating_count >= 200 & category = 0")
   .request("/games");
  console.log(response.data);
};

Thank you for your time.

CORS is not supported at this time: https://api-docs.igdb.com/#cors-for-js--ionic

@krazyjakee is support planned at this time? No worries either way, just curious. I found this changelog that made it sound like it had been released (though the site looks pretty out of date).
Also, the changelog in the header at https://api.igdb.com/ links to https://igdb.github.io/api/changelog/, which is a 404.


x/crypto/ssh: add support for<EMAIL_ADDRESS>

The<EMAIL_ADDRESS>extension lets a server notify a client of all its host keys to enable a smooth transition if they have UpdateHostKeys enabled. We should offer it server-side.

I'm interested in taking this on, as it would be helpful for our implementations. I've reviewed the extension details in the openssh PROTOCOL file and it's relatively light on specifics, but seems to be enough to implement it.
One question I have on the x/crypto/ssh side of things: You mention implementation on server-side, but if memory serves all the tests in that package use the client to test the server. Since there won't be a client-side implementation (maybe a config callback could be added that would be called when changes are found?), how would you expect the server side to be tested? Just sending raw messages from a client to the server and checking the expected responses?

Hi @aphistic,
I'm a little short on time right now but this is also on my TODO.
I think we should also add a client implementation consisting of callbacks to implement in the application using crypto/ssh.

Hey @drakkan!
Is this something where you'd want to collaborate on it, or I should put it off? Do you have any thoughts on the implementation of it that I should implement?
We currently have a fork of x/crypto we're maintaining with support for RFC8332 and RFC8308 (server-sig-algs), but also has a couple of modifications made to allow us to introspect things about the connection (host key alg or kex alg chosen for a connection) and allowed us to implement the host key extension in our service directly.
Since the recent release of x/crypto now implements the features we originally created the fork for, we're looking to get back to using the upstream version. In order to use that, though, we'd need to have the host keys extension implemented. That's where the desire to work on this comes from.

Hi @aphistic,
yes I would like to collobarate but I'm currently busy with other things, if this is urgent for you feel free to start. I haven't had time to think about the implementation details yet. I just added this issue to my TODO and I marked it as low priority
Is your crypto fork public? I think it would be a good starting point.
I recently became a crypto/ssh maintainer and I'm trying to help implement the common features we all need :smile:
I'm currently working on these issues

Hello,
I propose the following API changes:
// HostKeysProve sends a<EMAIL_ADDRESS>message to request the
// server prove ownership of the private half of the key and validates the
// received signatures.
func (c *Client) HostKeysProve(publicKeys []PublicKey) error

// HostKeys00Callback is the function type used to receive the host keys sent by
// servers using the<EMAIL_ADDRESS>global message.
type HostKeys00Callback func(publicKeys []PublicKey)

type ClientConfig struct {
    ....
    // HostKeys00Callback is called after the authentication if the server sends
    // a<EMAIL_ADDRESS>message. The client configuraton can supply
    // this callback to get notified about the received public keys.
    HostKeys00Callback HostKeys00Callback

No server-side API changes are needed because the<EMAIL_ADDRESS>request can always be sent after user-authentication has completed. We only need to allow to accept multiple host keys with the same key format in AddHostKey.
We can also add something like FixedHostKeys to simplify verification for multiple host keys but I think this should be a separate commit

Help with testing the above CL and thoughts on it are greatly appreciated. Thank you!

CL updated with new API
// HostKeyUpdate represents a public key sent from servers using the
//<EMAIL_ADDRESS>global message.
type HostKeyUpdate struct {
	key PublicKey
}

// Fingerprint returns the key's fingerprint as unpadded base64 encoded sha256
// hash.
func (h *HostKeyUpdate) Fingerprint() string {
	return FingerprintSHA256(h.key)
}

// KeyType returns the key type.
func (h *HostKeyUpdate) KeyType() string {
	return h.key.Type()
}

// Equal reports whether the public part of the host key matches the one
// supplied.
func (h *HostKeyUpdate) Equal(key PublicKey) bool {
	return bytes.Equal(h.key.Marshal(), key.Marshal())
}

// PublicKey sends a<EMAIL_ADDRESS>message to request the server
// prove ownership of the private half of the key and returns the public key if
// the verification is successful.
func (h *HostKeyUpdate) PublicKey(client *Client) (PublicKey, error) {
	if err := client.hostKeysProve([]PublicKey{h.key}); err != nil {
		return nil, err
	}
	return h.key, nil
}

// HostKeysUpdateCallback is the function type used to receive the host keys
// sent by servers using the<EMAIL_ADDRESS>global message.
type HostKeysUpdateCallback func(keysUpdate []HostKeyUpdate)

type ClientConfig struct {
    ....
    // HostKeysUpdateCallback is called after the authentication if the server
    // sends a<EMAIL_ADDRESS>message. The client configuration can
    // supply this callback to get notified about the received public keys.
    HostKeysUpdateCallback HostKeysUpdateCallback
    ....

The purpose of these changes is to allow clients to get public keys only after servers prove ownership.
Clients can use Fingerprint, KeyType and Equal methods to check if they already know the public key

type HostKeysUpdateCallback func(keysUpdate []HostKeyUpdate)

we should make this
type HostKeysUpdateCallback func([]*HostKeyUpdate)

Also, (*HostKeyUpdate).PublicKey shouldn't take a Client, which instead should be saved in HostKeyUpdate.

Proposed API
// HostKeyUpdate represents a public key sent from servers using the
//<EMAIL_ADDRESS>global message.
type HostKeyUpdate struct {}

// Fingerprint returns the key's fingerprint as unpadded base64 encoded sha256
// hash. This is the same format returned by [FingerprintSHA256].
func (h *HostKeyUpdate) Fingerprint() string

// KeyType returns the key type.
func (h *HostKeyUpdate) KeyType() string

// Equal reports whether the public part of the host key matches the one
// supplied.
func (h *HostKeyUpdate) Equal(key PublicKey) bool

// PublicKey sends a<EMAIL_ADDRESS>message to request the server
// prove ownership of the private half of the key and returns the public key if
// the verification is successful.
func (h *HostKeyUpdate) PublicKey() (PublicKey, error)

// HostKeysUpdateCallback is the function type used to receive the host keys
// sent by servers using the<EMAIL_ADDRESS>global message.
type HostKeysUpdateCallback func(keysUpdate []*HostKeyUpdate)

type ClientConfig struct {
    ....
    // HostKeysUpdateCallback is called after the authentication if the server
    // sends a<EMAIL_ADDRESS>message. The client configuration can
    // supply this callback to get notified about the received public keys.
    HostKeysUpdateCallback HostKeysUpdateCallback
    ....

cc @golang/proposal-review

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

Any comments on the API in https://github.com/golang/go/issues/37245#issuecomment-1943763567?
I assume the empty struct is not really empty but has unexported fields.

@rsc, I confirm that the struct has unexported fields used to immplement the public methods
Here are the struct fields in the proposed CL
type HostKeyUpdate struct {
	key       PublicKey
	mux       *mux
	sessionID []byte
}

key is used to implement Fingerprint, KeyType and Equal methods. mux and sessionID are used to send the<EMAIL_ADDRESS>to the server to verify the public key before returning it.
The public key is not exposed directly to prevent users from trusting it without sending the<EMAIL_ADDRESS>request.

Based on the discussion above, this proposal seems like a likely accept.
— rsc for the proposal review group
The proposal details are in https://github.com/golang/go/issues/37245#issuecomment-1943763567.

No change in consensus, so accepted. 🎉
This issue now tracks the work of implementing the proposal.
— rsc for the proposal review group
The proposal details are in https://github.com/golang/go/issues/37245#issuecomment-1943763567.


Updated  command for retrieving kubeconfig with --decode flag in acce…

Updated the file "accessing-vcluster.mdx" , for retrieving kubeconfig , with --decode flag that supports both (Linux & Mac ) systems .

Fixes https://github.com/loft-sh/vcluster-docs/issues/248


Logs are never cleaned up

PowerToys logs are created and never deleted, we should automatically clean up hold logs.
We need to verify it for each module:

[ ]  Color Picker
[x]  FancyZones
[ ]  File Explorer add-ons
[ ] Image Resizer
[x] Keyboard Manager
[ ] PowerRename
[ ] PowerToys Run
[ ] Shortcut Guide
[ ] Settings
[ ] Runner

What about chose a logging library and use rotation/retention capabilities?
For C# at the moment there are many loggers used:
Settings
https://github.com/microsoft/PowerToys/blob/master/src/core/Microsoft.PowerToys.Settings.UI.Library/Utilities/Logger.cs
ColorPicker
https://github.com/microsoft/PowerToys/blob/master/src/modules/colorPicker/ColorPickerUI/Helpers/Logger.cs
Run
https://github.com/microsoft/PowerToys/blob/master/src/modules/launcher/Wox.Plugin/Logger/Log.cs
https://github.com/microsoft/PowerToys/blob/master/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Logger/ProgramLogger.cs

@davidegiacometti
we should definitely use the same logger for all C# projects.
Regarding rotation, I'm not a fan of it since we might loose information that we need.
I would prefer a logger that logs by day and we should keep the last x days.

If we want to use a logging library I can work on this for the C# area but I am not sure to finish for 0.29 release.
Any preference for the library? nlog, log4net?
Would be nice to use Microsoft.Extensions.Logging as abstraction even if there is no dependency injection since there are also unit tests.

@crutkas any thought on logging?

Logs in projects which use spdlog are not erased properly due to a bug in that library. Namely, one function (init_filenames_q_) assumes that logs are always written on consecutive days, which may not be true in case a user doesn't run PowerToys on some day. So perhaps we should try to fix that bug upstream.

Set as prio-2 for now, but it will be a prio-1 for the following release if not done in 0.37.

15 days or older

I just cleaned up 75GB of logs from C:\Users\Default\AppData\Local\Microsoft\PowerToys\RunnerLogs. Running PowerToys v0.57.2 on Windows 11 Pro 21H2 (22000.613). Looking forward to a fix!

I’d love to see why we produced 75gb of logs

Same here. Just cleaned 31GB of logs from C:\Users\Default\AppData\Local\Microsoft\PowerToys\RunnerLogs.

@gabrielv33 can we do a screen share so we can see what is in one of those three Gig files?
@jaimecbernardo fyi

Trying to open them without crashing the VM (with somewhat limited RAM) was fun, but here we go:

I should just add that every single one of my 6 VMs running version 0.57.2 had this problem (logs between 27 GB and 37 GB), while the physical machine running version 0.57.0 did not (logs barely 200 KB).

@gabrielv33 @nichols-356
It seems this is a bug of running the first time from installer after an update on some systems.
Restarting the computer after updating is the workaround here.
Just to understand if this might be the case like in the other reports, are you using admin users with UAC off?
This is the issue for the problem you're having: https://github.com/microsoft/PowerToys/issues/17720

Although from your logs it seems we can't get the Shell window we use to try to start as non-elevated... We need to fail instead of trying to re-run elevated with the same --dont-elevate flag.

@jaimecbernardo
Only one of the machines with the problem were running PowerToys as admin. UAC is enabled on all the machines.

These paths (inaccessible without taking ownership or some other hacks) contain gigantic logs,,,
C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Microsoft\PowerToys\RunnerLogs
C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\PowerToys\RunnerLogs\

@neoOpus, logs should be under your user, could there maybe be some type of special scenario you are doing?

Is this still an issue with the latest version?

@jaimecbernardo am I wrong in believing this has been fixed?

This was fixed for installer logs recently. Not the logs for each utility.

Didn't https://github.com/microsoft/PowerToys/pull/19875 in 0.62 do this?

"Updates" folder is not the same as "Logs"

@jay-o-way well aware of that, my assumption is this work was done already which is why i'm calling this out and there may have been an expectation that was misunderstood.

Ping

Any update on that purge feature request?

@ethanfangg @crutkas

Any news?

Can't believe log cleaning is still broken 4 years later.


Needs static helper methods for detection api support

It would be nice if the api detection is in static methods to first check support before setting up the instance.

Fixed by #63 - thanks!

That is ok. Hopefully this is of use. Please clean it up more if it needs to go somewhere else.


Documentation says that invalid references are found in Task List which is incorrect

https://docs.microsoft.com/en-us/visualstudio/ide/troubleshooting-broken-references?view=vs-2019#reference-path-is-incorrect
Says that invalid references will appear in the Task List AFAIK they appear in the Error List under MSB3245 (which does not appear to have a documentation page).

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 5f552234-e74f-1cfc-848c-ba15571b35c6
Version Independent ID: 2c89a49a-0aac-15bf-fb17-e644dfd115cc
Content: Troubleshoot broken references - Visual Studio (Windows)
Content Source: docs/ide/troubleshooting-broken-references.md
Product: visual-studio-windows
Technology: vs-ide-general
GitHub Login: @TerryGLee
Microsoft Alias: tglee

This has not been fixed yet.

@RedX2501 -- thank you for your follow-up.
@TerryGLee -- please look into this issue.


Add pipeline for updating deprecated classes from external sources

[ ] Document update_deprecated_mappings command in Mondo editor docs

ready for merging after QC passed.

@nicolevasilevsky did you check the action item above?

yes, I added it to our 1:1 agenda


Support of multi super classes

OrientDB 2.1 supports multiple super classes (https://github.com/orientechnologies/orientdb/pull/3802).
Orienteer should support the same. So single select should be changed to multiple select component.

Lets have simple VIEW and EDIT components for the begining: multiple select for Edit and list of links to super classes for View.


chore: remove unused packages and modules

Fixes #204
As we double down on Workflows support, remove unused packages and modules from the codebase.

coverage: 73.324% (+1.1%) from 72.224%
when pulling c14a2f77915dfb8b4f3501f2677334aaee65e4d7 on massi/204
into fe36b3baf472946010cb1b91e9a07a73b3a89b14 on main.


Tests fail for NodeJS on Windows

🐛 Bug Report
Tests fail for NodeJS on Windows

Tests fail in the Windows CI for core due to being unable to locate libnode.dll correctly.
@viferga suggests this needs to be fixed via changes to the CMake configuration and has previously encountered and solved similar bugs.

Notice how the tests fail.

We have to add a step in cmake for copying libnode.dll into the build folder and also install it later on contiguously to node_loader.dll. This is solved in windows distributable by manually copying it. And I used to do this manually too when developing in visual studio c++, but it should be done in an automated way so it's not a focus of errors for new developers.

I was checking the code and this is already handled when it is built from source, but as we are overriding everything in FindNodeJS.cmake, the best bet is what you proposed originally, copying the dll manually into the build folder:
https://github.com/metacall/distributable-windows/blob/acbb07452743add940cbc9026a4b3b1d2ae963bc/build.bat#L189
The build folder usually is:
./build/Debug
or
./build/Release


Overwrite all records?

First off, let me just say a massive thank you for writing all of these libraries.  My organization is excited to begin using these controllers, and these libraries are fantastic.  Thank you so much for the amazing work.
If you need help testing this one, please let me know, I'm very excited about this one in particular.
Quick question: is it the current plan that when the job runs to sync from the DB -> Controllers, that it will wipe out everything in the controller first, and then store everything from the DB?  My preference is to overwrite; I don't want to have to worry about someone who used the desktop client (from the manufacturer) and made a change.  I want to make sure that when I update from the DB, I know that the ONLY records in the controllers are the ones getting synced from the DB.
Thanks so much again!

Happy to hear you're finding it useful :-).
re. sync. The actual implementation reads back all the cards stored across the set of configured controllers, does a diff against the access records stored in the database and then does an add/update/delete on individual card records to bring it into sync with the database. So if somebody has added (or modified or deleted) a card (using e.g. the manufacturer app) their changes will be overwritten by the sync.
It's implemented this way because clearing all the records on the controllers and then reinstating them turns out to be quite a slow operation and it would mean that the controllers would effectively be offline while sync'ing which is not ideal in an access system.
BTW, the roadmap has adding support for MySQL this dev cycle but if you're using something else let me know and I'll put it on the list.

Awesome!  That's exactly what I was hoping you'd say! :-)
This is great.  I happen to be using SQL Server, but I can make whatever you've got work.  The hard part is the syncing; storing my data in whatever database is supported is the easy part ;-)
Thanks so much again.

There's actually a Microsoft maintained driver for Go so it looks like adding support for SQL Server should be relatively straightforward. I've added it to the list for this dev cycle and will post a note here when it's available - shouldn't take all that long actually.

Hi,
Just a quick note to let you know that a provisional SQL Server implementation has been added to the main branch. It still needs a bit more testing and the next full release is probably 6-8 weeks away but if you want to use it in the interim building it from source is straightforward.

Ooops!!! I had left a hardcoded DSN in place from some debugging :-(. Apologies - have pushed the fix to main so if you do a git pull --rebase it should hopefully be fixed.

LOL I was just in the process of forking and doing a PR for the same change.  Thank you for the fast response!

Just did a test.  Worked perfectly!

Oh great (and/or .. whew!!!). That would have been embarrassing :-) :-)

Is it possible to configure it such that if I have two boards, the script can make changes to both of them, and the DB configuration would be something like:
Door1 = Controller1 / Door 1
Door2 = Controller1 / Door 2
Door3 = Controller1 / Door 3
Door4 = Controller1 / Door 4
Door5 = Controller2 / Door 1
Door6 = Controller2 / Door 2
Door7 = Controller2 / Door 3
Door8 = Controller2 / Door 4
If not, I assume I just need to keep separate tables in the database for each controller?

Yup, it's possible - the ACL table is expected to define the access privileges using just door names and the set of doors can span multiple controllers. The door names should match the configuration in the uhppoted.conf file, e.g.:
# DEVICES
UT0311-L0x.405419896.name = Alpha
UT0311-L0x.405419896.door.1 = Great Hall
UT0311-L0x.405419896.door.2 = Kitchen
UT0311-L0x.405419896.door.3 = Dungeon
UT0311-L0x.405419896.door.4 = Hogsmeade

UT0311-L0x.303986753.name = Beta
UT0311-L0x.303986753.door.1 = Gryffindor
UT0311-L0x.303986753.door.2 = Ravenclaw
UT0311-L0x.303986753.door.3 = Hufflepuff
UT0311-L0x.303986753.door.4 = Slytherin

Hmmm, thought I had documented this but apparently not - ok, there is a communal configuration file called uhppoted.conf which is just a text file with the common configuration for all the projects. It has multiple sections, but the only one used by uhppoted-app-db is the devices section which defines the controllers and the doors.
The default uhppoted.conf file is located in different places for different platforms:

/etc/uhppoted/uhppoted.conf (Linux)
/usr/local/etc/com.github.uhppoted/uhppoted.conf (MacOS)
\Program Data\uhppoted\uhppoted.conf (Windows)

but you can specify a different file path using the --config option, e.g.:
uhppoted-app-db --config C:\uhppoted\uhppoted.conf ...

I've attached a sample file so that you can see what it looks like - just delete all the unnecessary bits and edit the devices section.
uhppoted.conf.zip

The ACL table for the above Devices section looks like this:

Name
CardNumber
PIN
StartDate
EndDate
GreatHall
Gryffindor
HufflePuff
Ravenclaw
Slytherin
Kitchen
Dungeon
Hogsmeade

Albus Dumbledore
10058400
7531
2023-01-01
2023-12-31
1
1
1
1
1
1
1
1

Rubeus Hagrid
10058401
0
2023-01-01
2023-12-31
1
1
1
1
1
0
0
1

Dobby The Elf
10058402
0
2023-01-01
2023-12-31
1
1
1
1
1
1
0
1

Harry Potter
10058403
0
2023-01-01
2023-12-31
1
1
0
0
0
0
0
29

Hermione Grainger
10058404
82953
2023-01-01
2023-12-31
1
1
0
0
0
0
1
29

Crookshanks
10058405
1397
2023-01-01
2023-12-31
0
1
0
0
0
1
0
1


Search - Senders

Changes in this pull request

removed links from tables with the exception of the view details link
increased the size of the search form label
increased the size of the search filed and simplified button layout
moved search again button to the bottom of the results page
duplicated this at the top thinking about this
added pagination to the page but it's not working yet
increased the font size of the table from 14 to 16

In the 'about sender data' blue box I wonder if we should include some of the info can we cover in the current 'how these credits are groups'. Or is that going somewhere else? Would be worth having a quick chat about this.
In our team catch up about the prisoners page the other day we agreed we'd stay with 'payment source' rather than change to 'senders' until we have more more UR insight on this. 'Payment source' does sound odd for sure but we agreed that for now it was helpful to have that slight jar (so to speak) to remind people to pay attention.

We need the prison switcher/identification of which prison the data is displayed for as the default. I know you've done this for another story, does it just need to be merged together?

@RoseFaulkner @gavinwye I'll add payment source vs payment sender to the master UR plan.

@RoseFaulkner yes when we merge the PR for the organisation switcher #39 that will be part of the page.

I wonder if 'Search again' will be missed if it's only at the bottom. Same with 'Results containing xxx from other prisons'


closes #6

Prevent default, otherwise click will fire 300ms afterwards

Hi @potch,
Any chance of accepting this fix? Let me know if I need to add/change something.
Cheers;
-- jsguy


Add request open url event

Description & motivation

Allow partners to opt into handling url opening, which can help prevent environmental issues.

Add new parameter: handlingRequestedUrls
Add new event: request_open_url
Update README to show usage of new parameter & event

Testing & documentation

Add reguest

I don't know how to get it into my account or even the amount? Please help
On Tue, Jul 4, 2023, 7:13 PM LottisPottispoo @.***>
wrote:

Add reguest
—
Reply to this email directly, view it on GitHub
https://github.com/coinbase/cbpay-js/pull/121#issuecomment-1620820619,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3VH66DFFVRV2XJTETCCUZDXOSPPZANCNFSM6AAAAAAXEXGZCE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I don't kno how to withdraw my money please help


Timeline usability issues

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

VS Code Version: 1.70.0
OS Version: MacOS 12.3.1

Steps to Reproduce:

Make a change to a git committed file
Save

Here's the issues:

File Saved history records seem to not function when using select for compare with a git entry. There is no UI feedback to indicate this shouldn't work. Effectively, File Saved and git entries cannot be compared.
There is no UI feedback to indicate what record is selected for compare, making things very confusing
In File Saved entries, there is Compare with File, but it's missing for git entries, meaning there's no easy way to copy in changes in the diff like you can in source control under changes
Compare with File is an ambiguous, vague, name. It seems it compares with the file's (possibly unsaved) state in the window.
Compare with previous on the first file save entry just shows a read-only view of the first save (only one pane), which is not helpful.
Compare with previous only works if you left-click on a row first, and then select Compare with previous. it seems it always does the same comparison, and that comparison is based on the selected row and not the one you right-clicked on.
The single click behavior is inconsistent. For git files, it does the Compare with File behavior. For Git, it does Open Changes which is equivalent to Compare with Previous with the file history

Thanks for the feedback, please open 1 issue per issue. See also our issue reporting guidelines: https://github.com/microsoft/vscode/wiki/Submitting-Bugs-and-Suggestions#writing-good-bug-reports-and-feature-requests

Thanks, I feel like I've enough time figuring out how the Timeline works, and also feel pretty strongly that someone should just use it and ask themselves if it's working like one would expect, regardless of how many little changes it takes to get there. As such, I'll leave that up to someone else, if they wish to break apart this ticket. Thanks!

You have spend valuable time on figuring out all these issues and now you are not able to create individual issues out of it? Do you need help with it, I would not mind doing it, but feel its better you do it to have some tracability when issues get resolved or closed?


[$1000] Notification not receiving on iOS when long message is sent

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Login on iOS Native app
Login another account on another platform
Paste below text in composer -> Hit send

Expected Result:
iOS should receive notification
Actual Result:
iOS native not receiving notification when message is long
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[x] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: v1.3.57-5
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/115492554/c1b8742c-a229-43a4-af10-1a7888632d24
https://github.com/Expensify/App/assets/115492554/48073533-4192-4d4e-9181-c265b3237ca1
Expensify/Expensify Issue URL:
Issue reported by: @DinalJivani
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1692129779665229
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0139b0dc94f812c234
Upwork Job ID:<PHONE_NUMBER>907351552
Last Price Increase: 2023-08-28

Proposal
Please re-state the problem that we are trying to solve in this issue.
Notification not receiving on iOS when long message is sent
What is the root cause of that problem?
The maximum payload size of notification:

For Voice over Internet Protocol (VoIP) notifications, the maximum payload size is 5 KB (5120 bytes).
For all other remote notifications, the maximum payload size is 4 KB (4096 bytes).

You can take a look the document here
So that's why it didn't send the notification with long message, because the payload of notification over the limit size.
What changes do you think we should make in order to solve the problem?
You need to update backend to make sure the payload of notification not over the limit size, that mean you need to reduce the number of characters of title and body of notification

Not overdue

I can reproduce this. However, if this is an apple limitation, I'm not sure we'd do anything. Curious if others agree though.

@0xmiroslav curious for your thoughts on this , when you have a chance?

Still pending insight from Miroslav.

Sounds good. Making this internal!

@Gonals We're thinking this bug needs to be internal. Let us know if you agree!

I can reproduce this. However, if this is an apple limitation, I'm not sure we'd do anything. Curious if others agree though.

I know this is Apple limitation. But also other chat apps can send as long message you want and notifications still works like Whatsapp, Instagram... Not sure what mechanisms they will be using 🧐
@joekaufmanexpensify  @0xmiroslav

@Gonals got it. Should we just re-assign this then?
I'm also curious if there is anything we can actually do about this (if this is an apple limitation). Though I see referenced here  that other apps seem to get around this.

@Gonals bump on this when you have a sec!

Still pending further discussion.

Bumped Alberto 1:1

Yep! I think reassigning would be the way to go. I'll unassign myself. Can you roll the dice again, @joekaufmanexpensify? If I were to do it, I would just get reassigned 😅

@Beamanator as an fyi, we re-assigned this as this issue requires backend changes, but the engineer who works on it needs to have a physical iOS device, and Alberto does not. LMK if you have any questions!

Asked for confirmation in slack if we can give external devs access to any certs to be able to test & work on this externally

Taking over.

You need to update backend to make sure the payload of notification not over the limit size

We do this already for messages over 4kb 😕

Testing this is very time-consuming and even more difficult for iOS. Demoting to weekly but I'm aiming to take a look today

Sounds good, thanks @Julesssss !

I'm noticing the Onyx payload limit is also being hit on Android...

Ah, interesting. That means we need to fix this in both native apps?

Got it, sounds good!

Figured this out. PR here

Woo, thanks Jules!

Fix deployed to prod, closing.

Oh yep, thanks for the reminder

Yep! I'll pay today.

This issue is from before we changed pricing tiers, so bonus is $250 here.

@DinalJivani offer sent for $250!

@joekaufmanexpensify offer accepted! Thanks.

Since we are just paying out the reporting bonus here, we don't need to wait 7 days (since there is no possibility of the reporter causing a regression that results in reduced payment).

@DinalJivani $250 sent and contract ended!

Closing as this one is all set!


move to newer requests and urllibs3

basically merge PRs from release 1.1 to 1.0 for security vulnerability issues with these 2 pkgs.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: linsun
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

samples/OWNERS [linsun]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: linsun, venilnoronha
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

samples/OWNERS [linsun]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

I think the tags (1.0.0, 1.0.1, etc.) still correctly identify the vulnerability; however, this change in release-1.0 is only for putting out the new 1.0.x release.

Since there are no more 1.0.x releases planned, I don't see any value and we are just creating unnecessary work for ourselves. If we do fix the sample build file then we need to also change the bookinfo yaml files in the branch to use images that are built with it. Just changing the sample build file without also rebuilding and referencing the images is confusing and not helpful.


Added Learning Sample

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] I have read the CONTRIBUTING document.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Please check if the PR fulfills these requirements

[ ] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce?
(Bug fix, feature, docs update, ...)
Added a new learning sample widget which is a replica of popular finesse learning sample gadget that helps in understanding the basics of gadgets
What is the current behavior?
(You can link to an open issue)
[Type here]
What is the new behavior
(if this is a feature change)?
[Type here]
Does this PR introduce a breaking change?
(What changes might users need to make in their application due to this PR?)
NO
Other information:
NA

So how is this different from Lit Element widget starter?

This is replica of a popular Finesse gadget so people can compare, understand and learn.

I agree that this seems to cause a bit of duplication in the wrong area. What if we made the changes to the documentation at the top level, the lit-element starter directory, so people get that help with building the dist and adding it to their project config. For the Finesse widget, I'd say make it a full implementation of the known gadget as a web component following the Lit Element structure, but not just a hypothetical sample.

I agree that this seems to cause a bit of duplication in the wrong area. What if we made the changes to the documentation at the top level, the lit-element starter directory, so people get that help with building the dist and adding it to their project config. For the Finesse widget, I'd say make it a full implementation of the known gadget as a web component following the Lit Element structure, but not just a hypothetical sample.

Agreed with Kevin

I agree that this seems to cause a bit of duplication in the wrong area. What if we made the changes to the documentation at the top level, the lit-element starter directory, so people get that help with building the dist and adding it to their project config. For the Finesse widget, I'd say make it a full implementation of the known gadget as a web component following the Lit Element structure, but not just a hypothetical sample.

I agree with Kevin

If someone knows the finesse learning gadget he can easily understand what change he need to do achieve similar functionality .This is purely to build an understanding .Even if it is duplicate it is just an example and it is not causing any harm to the users desktop. I have added readme notes on building the project so it is not dependent on the lit element starter directory and its documentation.

@sameyada I think what we are missing here then is a fully working sample that users can launch locally like the other current Example widgets. I'm unable to get the widget to run myself, so perhaps I am missing something?


Typescript Definitions needed

Typescript Defs: https://microsoft.github.io/TypeSearch/
I would love to use this, but we need TypeScript definitions to use this in our Vue.js app.  Please consider this for the future --thanks!

Thanks for this feature request. Add a 👍  reaction to this issue if you would like to see this feature added. Do not add +1 comments — They will be deleted.
Officially, I will not be adding TS definitions. But if someone else wants manage this outside of this repo, I can point to that definition.

desandro just automatically generate them, then this issue is resolved.

Duplicate of #


Fix set Github release to accept an array for the uploadAssets folder

Checklist

[x ] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x ] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x ] I've read the Contribution Guidelines
[x ] I've updated the documentation if necessary.

Motivation and Context

Could not use the setGithubRelease function from Fastlane.swift due to bad translation from Swift to Ruby

Description

Adds the Array type to the Ruby function parameter

Tested these changes on a current project attempting to use the this function in Fastlane.swift and it works correctly

I signed it!


cmd/go: modules in GitLab virtual directories resolve to truncated repo paths

What version of Go are you using (go version)?

$ go version 1.12.3

Does this issue reproduce with the latest release?

Not tested

What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN="/Users/user/go/bin"
GOCACHE="/Users/user/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/user/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/Cellar/go/1.12.3/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.12.3/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/kj/g088t7n96bs3k0pcl0vbt09h0000gn/T/go-build835766205=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
When I try to get my module located on Gitlab which has virtual directories (i.e. Subgroups) in the path, then go get utility tries to download files from the wrong place.

 go get gitlab.com/bmitelecom/Kazoo/kazoo-go

 git ls-remote -q https://gitlab.com/bmitelecom/Kazoo.git in /Users/user/go/pkg/mod/cache/vcs/55c621ce033eb787541b307c3099c5c7a00422ba30170b0e047b6efcc66c823f: exit status 128:
        The project you were looking for could not be found.

So, for some reason, the path passed to git ls-remote was shorten and obviously wrong
What did you expect to see?
I expect to see the correct path which I specify for go get
What did you see instead?
The path is shorten

Thank you, @bcmills
You're right - Gitlab returns

https://gitlab.com/bmitelecom/Kazoo.git"

in response.
And it's interesting, that it doesn't matter actually whether repo exists or not - Gitlab always returns
path to the first subgroup.

I found the issue according to this problem: #50596


python3Packages.databricks-connect. Split into major versions

Motivation for this change
Until now we have only had one databricks-connect package following latest version on pypi. But Databricks have three major versions that still is in use 7, 8 and 9. Rewrite code so we get the following packages:

python3Packages.databricks-connect_7
python3Packages.databricks-connect_8
python3Packages.databricks-connect_9
python3Packages.databricks-connect = python3Packages.databricks-connect_9

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

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

6 packages built:

python38Packages.databricks-connect (python38Packages.databricks-connect_9)
python38Packages.databricks-connect_7
python38Packages.databricks-connect_8
python39Packages.databricks-connect (python39Packages.databricks-connect_9)
python39Packages.databricks-connect_7
python39Packages.databricks-connect_8

If a python env ever has two of those 3 packages everything will fall apart. I don't think we can/should do this.

We don't allow multiple versions in python-packages.nix. Anyway, you should use packageOverrides if you want to override a Python package because its reverse dependencies have to use the same version.


Fix invalid link in README to Contributors Guide

Hello! It looks like the CONTRIBUTING link in the README is resulting in a 404. This pull request replaces the (incorrect?) absolute URL with a relative one, fixing the 404 while still maintaining compatibility with other markdown engines.

 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.

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


feat: Support bootstrap_self_managed_addons

Description

Add bootstrap_self_managed_addons variable to aws_eks_cluster resource
Motivation and Context

https://github.com/hashicorp/terraform-provider-aws/releases/tag/v5.58.0
https://github.com/hashicorp/terraform-provider-aws/pull/38162

Resolves #3093

Breaking Changes

No
How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

[x] I have executed pre-commit run -a on my pull request

This PR is included in version 20.18.0 :tada:


fix: manual review of #3357

Ha, obviously I failed miserably?

Not sure if you see the check results, but there is at least one syntax error:
Error:  packages/config/config/devices/0x014f/wo15emz5.json: SyntaxError: Unexpected token, expected "," (69:5)
Error:    67 | 					"value": 0
Error:    68 | 				}
Error:  > 69 | 				{
Error:       | 				^
Error:    70 | 					"label": "minutes",
Error:    71 | 					"value": 1.255
Error:    72 | 				}

If you're working locally, you can execute yarn run lint to have that done automatically

I am using vscode and have no idea what the syntax error is

Now the formatting is off. Not a huge deal, we can fix that before merging right here on Github.

I appreciate that.  If you wouldn't mind, could you at least tell me what was wrong so I learn from it?  Also, does that mean everything is done on my end?

@zwave-js-bot fix lint

@zwave-js-bot fix lint

Thanks


New carousel component

Requested changes done

I reopened this is #214 and implemented the changes we talked about.


[CT-1811] [Feature] Unix-style wildcard fqn selector method via fnmatch

Is this your first time submitting a feature request?

[X] I have read the expectations for open source contributors
[X] I have searched the existing issues, and I could not find an existing issue for this feature
[X] I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion

Describe the feature
Synopsis
Support a new selector method which leverages fnmatch from the python stdlib. This function matches a string against a pattern that uses unix wildcard syntax. Unix wildcard syntax includes wildcards (*), ? (one of any character), and [a-z][1-9] range expressions. Using this syntax against the models fqn allows an innumerable amount of more creative --select uses.
It is entirely opt-in. No existing behavior is changed. You can use this by prefixing wildcard to a select like this:
wildcard:jaffle_*.staging.*_customer
Unlocks
This is a significant improvement to test direct selection. you can now test specific columns across an entire section of the graph.
One example:
dbt test -s 'wildcard:*salesforce*ccm_cloud_spend*'
This will run all tests that contains salesforce and ccm_cloud_spend in the fqn. No tag wrangling required.
The same benefits apply to any workflow where users need to select something with more flexibility than what is currently possible. Some complex selectors may also be able to be simplified.
Run everything upstream of any model ending with _arr
dbt run -s '+wildcard:*_arr'
Conclusion
There are theoretically no downsides since its a net new feature that is fully opt-in.
Describe alternatives you've considered
This is painful to write, but here:
dbt list > dbt_resources
dbt test --select $(grep '*expression_is_true*') $(grep '*expect_column_count*') $(grep '*intermediate.folder_[a-z]_*')

What I have proposed is far more dynamic than anything I can conjure up.
Who will this benefit?
Everyone who needs more control in how they select their resources. Especially benefiting direct test selection which is really painful right now; but we could rattle out use cases all day given the flexibility of this selector.
Are you interested in contributing this feature?
Yes
Anything else?
dbt docs PR
https://github.com/dbt-labs/docs.getdbt.com/issues/2702

This is a cool idea @z3z1ma ! And I'm pleasantly surprised how short and sweet the implementation in https://github.com/dbt-labs/dbt-core/pull/6599 looks.
Questions for you and @jtcohen6:

what would the trade-offs be of the wildcard stand-alone selector method you are suggesting versus adding this capability to all the existing selector methods?
would would be the trade-offs of enabling regular expressions instead of Unix-style glob patterns?

@dbeatty10 my take!

what would the trade-offs be of the wildcard stand-alone selector method you are suggesting versus adding this capability to all the existing selector methods?

Originally I would have liked to update the default fqn selector (QualifiedNameSelectorMethod). To me it was less flexible and powerful to interpret a "selector glob", as its referred to, as meaning we want to match all resources which share the preceding segments. I'll share the existing fqn snippet here for inline context.
    for i, selector_part in enumerate(node_selector.split(".")):
        # if we hit a GLOB, then this node is selected
        if selector_part == SELECTOR_GLOB:
            return True
        elif flat_fqn[i] == selector_part:
            continue
        else:
            return False

This is not as flexible as the fnmatch approach. Problem is, as one could expect, is that it would have been a breaking change because existing users who figure out how the selector glob works will invariably rely on it. See Hyrum's Law
As far as adding it elsewhere... My point above remains relevant on the QualifiedNameSelectorMethod (default) selector. But for all the others I am happy to spitball thoughts.
SourceSelectorMethod: This selector could use fnmatch without breaking the existing API for users. The SELECTOR_GLOB is used as a wildcard in a way that is similar to how one would with fnmatch. Again, less flexible; but in this particular case, if I plugged in fnmatch, existing selectors using the glob would work as expected. source:salesforce.* or source:*.table_a would be equivalent. We would actually reduce the code footprint too there.
ExposureSelectorMethod: Same sentiment as above. The code is almost identical.
MetricSelectorMethod: Same as above.
TagSelectorMethod: This selector never used the SELECTOR_GLOB, so adding fnmatch there would also be a non breaking change and a solid value add IMO.
FileSelectorMethod: Same as tag selector, no SELECTOR_GLOB so it would be net-new functionality to support it and also a solid value add IMO.
PackageSelectorMethod: Same as above.
PathSelectorMethod: Already uses Path.glob so no change.

would would be the trade-offs of enabling regular expressions instead of Unix-style glob patterns?

The unix-style wildcard syntax is significantly simpler than regex. Furthermore I cannot think of any selection criteria that could not be expressed with unix-style wildcard syntax yet I could think of innumerable "weird" things and issues to troubleshoot for users if they are trying to use regular expressions. No reason for matching groups, etc. There is more mileage here in simplicity.
It is also worth mentioning . has meaning in regex (matches anything) which is different than how a user might intuit reading it when FQNs use . separators. This means these are equivalent but we can tell which is better.
dbt ls -s 'regex:jaffle_.*\..*\.customer'
dbt ls -s 'wildcard:jaffle_*.*.customer'

Awesome analysis @z3z1ma !
Based on your findings, I'd be inclined to add your fnmatch implementation to all the pre-existing selector methods: it seems like it might be a nice enhancement to existing selector methods without introducing a breaking change or the more complicated syntax of full-blown regular expressions.
@jtcohen6 you may have a different read here or things we haven't yet considered -- will be interested to hear your thoughts and feedback.

@dbeatty10
Support added for all the "string matching" based selectors:
MetricSelectorMethod
FileSelectorMethod
PackageSelectorMethod
QualifiedNameSelectorMethod
SourceSelectorMethod
TagSelectorMethod
TestNameSelectorMethod

There is no logical purpose for the fnmatch in any of the other methods. But the above can all be augmented.

Still a non-breaking change and net new functionality for all of these possibilities:
metric:arr_*
file:stg_salesforce__*.sql
package:internal_pkg_*
source:salesforce.*
tag:*_pii
test_name:singular_test_suite_[1-9]
Once @jtcohen6 reviews, I'll remove my Wildcard selector since the functionality is embedded in the default selector. I will rename the test case which comprises more advanced patterns, test_select_advanced_fqn or some such. @jtcohen6 I think you will be pleasantly surprised to see how we maintain backwards compatibility while very naturally extending the capabilities present in the default selector.

@z3z1ma This is awesome !! You're right, I am pleasantly surprised with how naturally this change fits into the existing code, and the existing user experience (fqn:*, source:*, exposure:*).
Fully agree with:

Using unix-style wildcards and not full-on regex
Embedding this capability within existing selection methods. There's no need for a totally new one, this can just become part of our selection syntax, alongside other meaningful characters (+, @, ,)

I'm going to remove Refinement here, and mark the PR ready_for_review by someone on the appropriate engineering team.


CORS support

Hey!
Thanks for making this tool, really useful!
I was wondering if there is any support for enabling CORS for the swagger route? At the company I work at we want to host the swagger-ui on a different server than the one serving the api-docs json, which does not work right now as CORS is not enabled for the api-docs resource. For my purposes it would be enough to simply set Access-Control-Allow-Origin=*
Thanks!

We should probably support this out-of-box, but CORS can be tricky with regards to how much you actually want to open.  This seems to be the "nicest" implementation after some quick googling: https://gist.github.com/ayosec/4324747.
It's really just about wrapping the spray-swagger route with the appropriate respondWithHeaders calls that you want/need.

ok, wrapping the route was simpler than I though, especially in my case when I only added the basic Access-Control-Allow-Origin=*
Thanks! :)


Data for Le Tour de France Femmes is missing

This is something that is bothering me and that I hope to complete after this year's Tour de Femmes. I want to add the data for the Tour de France Femmes. Currently, the way the data is stored/displayed for the Femmes is different from the Hommes. I hope that this changes after the tour this year because TdF would be forced to adapt a similar data format (i.e. listing historic data). If the data format is similar, I want to add the data as soon as possible.

Solved.


Add support for passing variables to the asset-path tag.

Support passing a variable in the tag markup.
{% asset_path {{ image.file }} %}

Cheers @gtwiggs

Thanks @samrayner. Very useful tag.


7/19 PM Publish

Docs Build status updates of commit 1d9c5fe:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


arm upgrade path fixes

fix up version lookup and minor changes to upgrade vm spec to use iscsi bus for iso devices to enable support across both arm64 and amd64 arch
IMPORTANT: Please do not create a Pull Request without creating an issue first.
Problem:

Currently when triggering arm upgrades via the version sync, the sync fails as older versions of harvester do not have a corresponding version-arm64.yaml published
Solution:

PR introduces following changes

ignores version object if a corresponding version.yaml or version-arm64.yaml is not found
minor changes to upgrade VM to drop q35 machine type so correct type can be identified based on underlying platform arch
minor change to switch VM iso bus adapter to scsi, to ensure it is compatible across both amd64 and arm64 arch

Related Issue:
https://github.com/harvester/harvester/issues/6257
Test plan:

@Vicente-Cheng the actual check if version is applicable for the currently running harvester cluster happens after fetching the versions in the block
// newVersion CRD is created from the version.yaml created from the release artifact
		// this needs to be changed to use the min version coming from the upgrade responder
		// as this could be dynamically update and will cause cleanup of older versions
		if !canUpgrade(currentVersion, newVersion, v) {
			continue
		}

so even if a version is fetched and is not valid it will be skipped.


Upgrade to newer core revision

Overview

Brings together native and Java (reviewed separately), updated to newer core: exonum/exonum@47114e3

See the indy commits.
Definition of Done

[ ] There are no TODOs left in the code
[ ] Change is covered by automated tests
[ ] The coding guidelines are followed
[ ] Public API has Javadoc
[ ] Method preconditions are checked and documented in the Javadoc of the method
[ ] Changelog is updated if needed (in case of notable or breaking changes)
[ ] The continuous integration build passes

Coverage decreased (-0.2%) to 85.966% when pulling 6c203aad6be908fbba531db9a2d14f55936ef85d on dynamic-services-upgraded-ECR-3664 into 26b78eb59065fabd5a1e1987fd2ce32731c16824 on dynamic-services.


force:source:deploy -x package.xml: ListView are always all deployed

Summary
I do NOT want to deploy ListViews, and whereas the type is empty in my package.xml, they are all deployed with their parent object...
Steps To Reproduce:
Create a package.xml file containing an CustomObject, and empty ListView type (or no ListView type, the result is the same)
<?xml version="1.0" encoding="UTF-8" ?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types>
        <members>Account</members>
        <name>CustomObject</name>
    </types>
    <types>
        <name>ListView</name>
    </types>
</Package>

call sfdx force:source:deploy -x package.xml
Expected result
ListViews not deployed, existing ones in target org remain the same
Actual result
ListViews are deployed whereas they should not , so target org ListViews are overidden
Log sample:
Account.ComptesFelix                                                         ListView                  force-app\main\default\objects\Account\listViews\ComptesFelix.listView-meta.xml
Account.Fournisseurs                                                         ListView                  force-app\main\default\objects\Account\listViews\Fournisseurs.listView-meta.xml
Account.MesComptes                                                           ListView                  force-app\main\default\objects\Account\listViews\MesComptes.listView-meta.xml

System Information
{
        "cliVersion": "sfdx-cli/7.132.0",
        "architecture": "win32-x64",
        "nodeVersion": "node-v14.18.0",
        "pluginVersions": [
                "@oclif/plugin-autocomplete 0.3.0 (core)",
                "@oclif/plugin-commands 1.3.0 (core)",
                "@oclif/plugin-help 3.3.1 (core)",
                "@oclif/plugin-not-found 1.2.6 (core)",
                "@oclif/plugin-plugins 1.10.11 (core)",
                "@oclif/plugin-update 1.5.0 (core)",
                "@oclif/plugin-warn-if-update-available 1.7.3 (core)",
                "@oclif/plugin-which 1.0.4 (core)",
                "@salesforce/analytics 0.30.0",
                "@salesforce/sfdx-plugin-lwc-test 0.1.7 (core)",
                "@salesforce/sfdx-scanner 2.5.1",
                "alias 1.2.0 (core)",
                "apex 0.7.0 (core)",
                "auth 1.8.0 (core)",
                "config 1.3.2 (core)",
                "custom-metadata 1.0.12 (core)",
                "data 0.6.6 (core)",
                "generator 1.2.1 (core)",
                "info 1.1.4 (core)",
                "lightning-flow-scanner 0.0.5",
                "limits 1.3.0 (core)",
                "org 1.11.0 (core)",
                "salesforce-alm 53.7.0 (core)",
                "schema 1.1.0 (core)",
                "sfdmu 4.11.9",
                "sfdx-cli 7.132.0 (core)",
                "sfdx-essentials 2.12.0 (link) D:\\git\\sfdx-essentials",
                "sfdx-git-delta 4.12.0",
                "sfdx-hardis 2.64.0 (link) D:\\git\\sfdx-hardis",
                "sfpowerkit 4.0.1",
                "shane-sfdx-plugins 4.43.0",
                "├─ @mshanemc/sfdx-sosl 1.1.0",
                "└─ @mshanemc/plugin-streaming 1.1.7",
                "source 1.6.2 (core)",
                "telemetry 1.4.0 (core)",
                "templates 52.7.0 (core)",
                "texei-sfdx-plugin 1.14.0",
                "trust 1.1.0 (core)",
                "user 1.7.0 (core)"
        ],
        "osVersion": "Windows_NT 10.0.19044"
}

Additional information
Feel free to attach a screenshot.

Hi @nvuillam have you explored adding ListViews to the .forceignore file? that should prevent ListViews from being deployed

@WillieRuemmele it may work, but my requirement is do deploy some of them, and to push them in scratch orgs, so I need to package.xml way to work :/

are you using both source:deploy and source:push together? Running a deploy after a  push will ruin the source-tracking files required for push to work correctly. It is recommended to stick to using only deploy or push.
I would recommend exploring the .forceignore direction. It may require you editing that file for different commands to get different results

No, source:pull / pull are for scratch orgs / sandboxes with tracking.
My requirement is to be able to deploy to a production org a restricted list of sources (described in my package.xml), with a finer granularity level than the whole metadata .object big XML.
Basically, when the metadata folder is created under the hook by force:source:deploy before being deployed, it should not include the ListViews that are not part of my package.xml ( same way than for CustomField for example)
The problem is that undepending the content of ListView members in my package.xml, it always puts all the listviews of an object :/

ok, I understand a little better now, thank you for explaining. Unfortunately this sounds more like a limitation of the metadata API, rather than a bug in the CLI. I still believe that using the .forceignore file will lead to the best results, but I'm sure there are a lot more knowledgeable people than me online who might have a better solution.
I'm closing this issue for now. If you believe this is a bug with the CLI feel free to reopen it.

@WillieRuemmele why should force:source:deploy could deploy only one custom field on a CustomObject, and not only one ListView ?
I don't have the rights to reopen, pleas can you do it ? Thanks :)

If you're only trying to deploy certain ListViews you can specify them in your package like
<types>
    <members>Account.My_List_View</members>
    <name>ListView</name>
</types>

I also want to deploy CustomObjects , but not all their subfolders (like for CustomField

Hi, have you tried to use .forceignore on those subfolders ?

Hi, have you tried to use .forceignore on those subfolders ?

No, because i know from package.xml than I need to deploy object A with ListViews A1,A2 and A4 (and not A3 which is not in my package.xml)
This package.xml is dynamically generated from CI, and the use case is to not overwrite a ListView that is already existing in target org

I confirm that deploying a CustomObject also deploys it's custom fields:

I logged a new story @W-10384508@ it should be prioritised soon.

Many thanks @maggiben :)
I have some clients who will love to have such debug/enhancement (whatever we call it :) )

Great to see that this is being looked into - I'd be curious to hear what the experts think.
As this has been in place for so long - e.g. that CustomObject is a container that when deployed will include its children automatically - a change would affect a lot of people. I'd expect a very clear announcement or maybe something like an opt-in to any new behaviour.

This has got to be a bug.  The ant migration tool could limit itself to only what was in the package.xml file.  It had the extra feature of deploying even /less/ than what was in the package file by deploying only the sources in a .zip file (as long as the files in the zip file were in the package file).
If sfdx can't provide the same amount of control as the ant migration tool, how will developers be able to embrace it without falling back to ant?
I'm having an issue right now that no matter whether I remove listviews from my package.xml, ALL the listviews keep showing back up.

Still triggering issues at Cloudity... any chance we have a fix someday ?