The method pages of search plugin is undefined

Version
1.18.0
Platform
Windows
What steps will reproduce the bug?
I created a JSX component that fetches all trending posts in my blog and renders a list. But the problem starts when I try access the method pages in Search  helper class my JSX component. I receive the following error:
Task lume echo "import 'lume/cli.ts'" | deno run --unstable -A - "--serve"
Loading config file file:///C:/Users/rafae/Projects/Personal_Blog_New/_config.ts

Error: Error rendering the layout of this page
- page: /index.mdx
    at (https://deno.land/x/lume@v1.18.0/core/renderer.ts:157:19)
    at async concurrent (https://deno.land/x/lume@v1.18.0/core/utils.ts:163:3)
    at async Renderer.renderPages (https://deno.land/x/lume@v1.18.0/core/renderer.ts:139:7)
    at async Site.#buildPages (https://deno.land/x/lume@v1.18.0/core/site.ts:615:5)
Caused by TypeError: Cannot read properties of undefined (reading 'pages')
    at async Site.build (https://deno.land/x/lume@v1.18.0/core/site.ts:530:9)
    at async build (https://deno.land/x/lume@v1.18.0/cli/build.ts:41:3)
    at async Command.execute (https://deno.land/x/cliffy@v0.25.7/command/command.ts:1794:7)
    at async Command.parseCommand (https://deno.land/x/cliffy@v0.25.7/command/command.ts:1639:14)
    at async (https://deno.land/x/lume@v1.18.0/cli.ts:134:3)

    at TredingBlogPosts (file:///C:/Users/rafae/Projects/Personal_Blog_New/src/_components/home/TrendingBlogPosts.tsx:5:26)
    | 4 | const TredingBlogPosts = ({ search }: PageData) => {
    | 5 |     const posts = search.pages('blog');
    | ~ | ~~~~~~~~~~~~~~~~~~~~~~~~~^
    | 6 |     if (!posts.length) return (<> No new posts </>)

I don't know why is not working.
How often does it reproduce? Is there a required condition?
No response
What is the expected behavior?
No response
What do you see instead?
Task lume echo "import 'lume/cli.ts'" | deno run --unstable -A - "--serve"
Loading config file file:///C:/Users/rafae/Projects/Personal_Blog_New/_config.ts

Error: Error rendering the layout of this page
- page: /index.mdx
    at (https://deno.land/x/lume@v1.18.0/core/renderer.ts:157:19)
    at async concurrent (https://deno.land/x/lume@v1.18.0/core/utils.ts:163:3)
    at async Renderer.renderPages (https://deno.land/x/lume@v1.18.0/core/renderer.ts:139:7)
    at async Site.#buildPages (https://deno.land/x/lume@v1.18.0/core/site.ts:615:5)
Caused by TypeError: Cannot read properties of undefined (reading 'pages')
    at async Site.build (https://deno.land/x/lume@v1.18.0/core/site.ts:530:9)
    at async build (https://deno.land/x/lume@v1.18.0/cli/build.ts:41:3)
    at async Command.execute (https://deno.land/x/cliffy@v0.25.7/command/command.ts:1794:7)
    at async Command.parseCommand (https://deno.land/x/cliffy@v0.25.7/command/command.ts:1639:14)
    at async (https://deno.land/x/lume@v1.18.0/cli.ts:134:3)

    at TredingBlogPosts (file:///C:/Users/rafae/Projects/Personal_Blog_New/src/_components/home/TrendingBlogPosts.tsx:5:26)
    | 4 | const TredingBlogPosts = ({ search }: PageData) => {
    | 5 |     const posts = search.pages('blog');
    | ~ | ~~~~~~~~~~~~~~~~~~~~~~~~~^
    | 6 |     if (!posts.length) return (<> No new posts </>)

    at renderWithHooks (file:///C:/Users/rafae/AppData/Local/deno/npm/registry.npmjs.org/react-dom/18.2.0/cjs/react-dom-server-legacy.browser.development.js:5661:16)
    at renderIndeterminateComponent (file:///C:/Users/rafae/AppData/Local/deno/npm/registry.npmjs.org/react-dom/18.2.0/cjs/react-dom-server-legacy.browser.development.js:5734:15)
    at renderElement (file:///C:/Users/rafae/AppData/Local/deno/npm/registry.npmjs.org/react-dom/18.2.0/cjs/react-dom-server-legacy.browser.development.js:5949:7)
    at renderNodeDestructiveImpl (file:///C:/Users/rafae/AppData/Local/deno/npm/registry.npmjs.org/react-dom/18.2.0/cjs/react-dom-server-legacy.browser.development.js:6107:11)
    at renderNodeDestructive (file:///C:/Users/rafae/AppData/Local/deno/npm/registry.npmjs.org/react-dom/18.2.0/cjs/react-dom-server-legacy.browser.development.js:6079:14)
    at renderNode (file:///C:/Users/rafae/AppData/Local/deno/npm/registry.npmjs.org/react-dom/18.2.0/cjs/react-dom-server-legacy.browser.development.js:6262:12)
    at renderHostElement (file:///C:/Users/rafae/AppData/Local/deno/npm/registry.npmjs.org/react-dom/18.2.0/cjs/react-dom-server-legacy.browser.development.js:5645:3)
    at renderElement (file:///C:/Users/rafae/AppData/Local/deno/npm/registry.npmjs.org/react-dom/18.2.0/cjs/react-dom-server-legacy.browser.development.js:5955:5)
    at renderNodeDestructiveImpl (file:///C:/Users/rafae/AppData/Local/deno/npm/registry.npmjs.org/react-dom/18.2.0/cjs/react-dom-server-legacy.browser.development.js:6107:11)

Additional information
No response

Hi @rafaelschueng
I just test it and works fine (version 1.18 and 1.19). How can I reproduce this error?

I just create a new JSX component
// my TrendingBlogPost.tsx file

import type { } from "react/types";
import type { PageData } from 'lume/core.ts'

const TredingBlogPosts = ({ search }: PageData) => {
    const posts = search.pages('blog');
    if (!posts.length) return (<> No new posts </>)
    return (

            {posts?.map((post:any) =>
{post.data}
)}

    )
}

export default TredingBlogPosts;

When I call the component in my HomeBody.tsx(Is my component that renders my Index.tsx) and he doesn't render. The Server helper class dont have the pages method available. I don't know if I'm doing something wrong.

It works fine to me. Do you have a public repo to take a look?
Or just try this and let me know if it works fine to you:
search-in-jsx.zip

It works fine to me. Do you have a public repo to take a look?
Or just try this and let me know if it works fine to you: search-in-jsx.zip

Here is the repository: https://github.com/rafaelschueng/Personal_Blog_New/blob/development/src/_components/home/TrendingBlogPosts.tsx
I tested your code and I don't understand why my code is not working.
Thanks for helping me

Okay, I found the problem. You're importing the components as regular modules:
import TrendingBlogPosts from "./TrendingBlogPosts.tsx";

export default function () {
  return (
    <TrendingBlogPosts />
  )
}

In Lume, components are in the comp variable:
export default function ({ comp }) {
  return (
    <comp.home.TrendingBlogPosts />
  )
}

This has two advantages:

Lume can inject automatically the common variables like search, paginate, etc.
Live-reload works. The module system of Deno caches all modules loaded with import ... and it's not possible to refresh a module if the code has changed (you have to restart the server). The Lume way to load components solves that problem.

I forgot the fact that I'm not working with reactjs and regular components. I rewrite all my components and now works perfectly.
Thanks for helping me. I love this SSG.


Unable to use cargo 0.55 as library

Problem
I just tried to update the cargo version from 0.54 to 0.55 and hit the following compile error:
error[E0432]: unresolved import `cargo_util::registry`
  --> /home/msrd0/.cargo/registry/src/github.com-1ecc6299db9ec823/cargo-0.55.0/src/cargo/sources/registry/index.rs:75:25
   |
75 | use cargo_util::{paths, registry::make_dep_path};
   |                         ^^^^^^^^ could not find `registry` in `cargo_util`

error[E0432]: unresolved import `cargo_util::registry`
  --> /home/msrd0/.cargo/registry/src/github.com-1ecc6299db9ec823/cargo-0.55.0/src/cargo/sources/registry/remote.rs:12:25
   |
12 | use cargo_util::{paths, registry::make_dep_path, Sha256};
   |                         ^^^^^^^^ could not find `registry` in `cargo_util`

The only compatible version of cargo_util published on crates.io at the time of writing is 0.1.0, which is what's being used according to the Cargo.lock file.
Steps

Run cargo init
Add cargo = "0.55" dependency to Cargo.toml file
Run cargo check

Notes
cargo +stable version
cargo 1.54.0 (5ae8d74b3 2021-06-22)

OS: ArchLinux

Apologies, I will post a fix soon.

I have published 0.1.1 of cargo-util.  You should be able to run cargo update -p cargo-util to update it.


Git: commit-graph options are not fully documented.

Documentation/commit-graph.txt is missing the explanation for some options. Need to flesh that out.

Should this be filed in https://github.com/microsoft/git/issues instead of the VFS4G backlog?

@jrbriggs and @derrickstolee to confirm this is the right place. This issue I am working on https://github.com/microsoft/VFSForGit/issues/1086 is in the vfs4git backlog as well, so I just chose the same place for the related doc work.
Let me know where you would like this to live and I will transfer it over.. there is a button here that gives me the power :)

I think that I gave bad advice earlier. Now that we are balancing three repos, the stuff focused only on Git and not an interaction with VFS for Git or [redacted] should live in microsoft/git.


support customization of alert payload with fields/context

related to: #305
Background
To enable faster triage, it would be ideal if users could have more control over the data that gets sent to alerting outputs (pagerduty, slack, etc).
Desired Change
Support defining a custom 'alert output', either based globally on a log type or from within rules (or both). All alert outputs should support sending a 'consolidated' or 'custom' alert, if one is defined except for the firehose:alerts output that should retain the original, unmodified record.
We/I can add more context as needed.

This is also useful if we want to redact some information that we think might be sensitive. Example: we have an alert for specific command lines being run that might potentially have sensitive information that we don't want to leak to pgduty/slack. It would be useful if we could construct just a custom alert message and leave the full alert in the firehose/s3 meant for athena.

I believe this is now resolved by #900

Yup! This is exactly what Alert Publishers were supposed to do


When using "openssl speed" to test the benchmakr, when it shows "compiler: /home/sat_bot/base/conda-bld/openssl_split_1615307469352/_build_env/bin/x86_64-conda-linux-gnu-cc"?

I use the icc compiler and gcc compiler to build the openssl. And I want to test the benchmark using "openssl speed", in the output, it shows the below information,

OpenSSL 1.1.1j  16 Feb 2021
built on: Tue Mar  9 16:31:59 2021 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: /home/sat_bot/base/conda-bld/openssl_split_1615307469352/_build_env/bin/x86_64-conda-linux-gnu-cc
The 'numbers' are in 1000s of bytes per second processed.
....

I didn't use conda, why the compiler info is "/home/sat_bot/base/conda-bld/openssl_split_1615307469352/_build_env/bin/x86_64-conda-linux-gnu-cc"?

I checked the  ' compiler_flags ' variable in buildinf.h, it did show that i used icc compiler.

static const char compiler_flags[] = {
'c','o','m','p','i','l','e','r',':',' ','i','c','c',' ','-','f',
'P','I','C',' ','-','p','t','h','r','e','a','d',' ','-','m','6',
'4',' ','-','W','a',',','-','-','n','o','e','x','e','c','s','t',
'a','c','k',' ','-','W','a','l','l',' ','-','O','3',' ','-','D',
'O','P','E','N','S','S','L','','U','S','E','','N','O','D','E',
'L','E','T','E',' ','-','D','L','','E','N','D','I','A','N',' ',
'-','D','O','P','E','N','S','S','L','','P','I','C',' ','-','D',
'O','P','E','N','S','S','L','','B','U','I','L','D','I','N','G',
'','O','P','E','N','S','S','L',' ','-','D','N','D','E','B','U',
'G','\0'
};

I didn't use conda, why the compiler info is "/home/sat_bot/base/conda-bld/openssl_split_1615307469352/_build_env/bin/x86_64-conda-linux-gnu-cc"?

You must have either had the conda-build environment still active (or somehow broken) so that it still picks up the gcc from there. Also, those compiler_flags look completely busted (like calling list(...) on a string in python, which turns the string into a list of characters)

Check you PATH, you're picking up the wrong openssl.

Thanks @paulidale  and @h-vetinari . There is indeed an activated conda environment on my machine. I have resolved my problem. So close this ticket.


version to 1.1.1

Codecov Report

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

@@             Coverage Diff              @@
##             master    #1564      +/-   ##
============================================
- Coverage      56.1%   48.62%   -7.48%
- Complexity     1060     1896     +836
============================================
  Files           191      393     +202
  Lines          5648    11495    +5847
  Branches        588     1192     +604
============================================
+ Hits           3169     5590    +2421
- Misses         2238     5477    +3239
- Partials        241      428     +187

Impacted Files
Coverage Δ
Complexity Δ

...ework/apollo/portal/controller/ItemController.java
1.51% <0%> (ø)
1% <0%> (?)

...o/configservice/wrapper/DeferredResultWrapper.java
100% <0%> (ø)
12% <0%> (?)

...omponent/emailbuilder/GrayPublishEmailBuilder.java
11.53% <0%> (ø)
1% <0%> (?)

...k/apollo/portal/controller/FavoriteController.java
14.28% <0%> (ø)
1% <0%> (?)

...apollo/portal/entity/vo/AppRolesAssignedUsers.java
0% <0%> (ø)
0% <0%> (?)

...ponent/emailbuilder/NormalPublishEmailBuilder.java
20% <0%> (ø)
1% <0%> (?)

.../framework/apollo/portal/entity/vo/SystemInfo.java
0% <0%> (ø)
0% <0%> (?)

...rk/apollo/portal/service/NamespaceLockService.java
12.5% <0%> (ø)
1% <0%> (?)

...k/apollo/portal/spi/ctrip/CtripUserInfoHolder.java
0% <0%> (ø)
0% <0%> (?)

...llo/portal/listener/AppNamespaceDeletionEvent.java
0% <0%> (ø)
0% <0%> (?)

... and 192 more

Continue to review full report at Codecov.

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


docs: Update WIP PR convention to GitHub draft PRs

Since GitHub supports draft PRs, our [WIP] convention is obsolete.

Merged, thanks @andersk!


errors that popped w/ recent gdext commits

Already fixed by: https://github.com/clementine-tech/godot_json_schema/commit/102cb478f89b5a10ec5b736ff90cd57e7428528d


Implemeted missing enums + DataPackageVersions

Added DataPackageVersions Dict[str,int] to the RoomInfoPacket
Added JsonMessagePartType to the Type of a JsonMessagePart
Added JsonMessagePartColor to the Color of a JsonMessagePart

Looks good, thanks very much!


Remove dependency on CommandLine

The CommandLine project is being used to parse command line arguments.
Some time ago the development of that project has changed so much that it broke our integration and thus the git submodule points to an older commit.
The git submodule is in itself a problem, not to blame CommandLine for us including it as such.
The idea is to write something simple to parse arguments just enough to fit our need.
Hopefully without breaking existing functionality.

Command line is back as nuget package with #52


viewport widget: fix viewport child widget

widget was shuffled when special attack orb was added in latest revision 166

ba88c222b29b31baa5bb6a216b5d23e7c8b62ee4


TypeError: Cannot read property 'split' of undefined

Issue summary
when I do npm run dev at terminal it returns a TypeError :
TypeError: Cannot read property 'split' of undefined
at Object. (C:\Users\daves\Project\sample-app\server.js:15:42)
at Module._compile (node:internal/modules/cjs/loader:1092:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10)
at Module.load (node:internal/modules/cjs/loader:972:32)
at Function.Module._load (node:internal/modules/cjs/loader:813:14)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
at node:internal/main/run_main_module:17:47

Browser: Chrome
Device: PC
Operating System: Windows 10

I experienced the same problem following the Build a Shopify App with Node and React tutorial in Step 3. Resolved it by:

Switching to the root folder in the CLI
Deleting the node_modules folder and .package-lock.json
Re-running npm install

Also having this issue

I experienced the same problem following the Build a Shopify App with Node and React tutorial in Step 3. Resolved it by:

Switching to the root folder in the CLI
Deleting the node_modules folder and .package-lock.json
Re-running npm install

This did not resolve. Should I add a var to the .env?

I had this same problem but realized that I didn't have a .env file .. mine was process.env but instead needs to just be .env .. then my script ran.

Im having this issue as well. I wil attach my server.js file.
My process.env is a .env file, made it with vs code
`require('isomorphic-fetch');
const dotenv = require('dotenv');
const Koa = require('koa');
const next = require('next');
const {default: createShopifyAuth} = require('@shopify/koa-shopify-auth');
const {verifyRequest} = require('@shopify/koa-shopify-auth');
const {default: Shopify, ApiVersion} = require('@shopify/shopify-api');
const Router = require('koa-router');
dotenv.config();
Shopify.Context.initialize({
API_KEY: process.env.SHOPIFY_API_KEY,
API_SECRET_KEY: process.env.SHOPIFY_API_SECRET,
SCOPES: process.env.SHOPIFY_API_SCOPES.split(","),
HOST_NAME: process.env.SHOPIFY_APP_URL.replace(/https:///, ""),
API_VERSION: ApiVersion.October20,
IS_EMBEDDED_APP: true,
SESSION_STORAGE: new Shopify.Session.MemorySessionStorage(),
});
const port = parseInt(process.env.PORT, 10) || 3000;
const dev = process.env.NODE_ENV !== 'production';
const app = next({dev: dev});
const handle = app.getRequestHandler();
const ACTIVE_SHOPIFY_SHOPS = {};
app.prepare().then(() => {
const server = new Koa();
const router = new Router();
server.keys = [Shopify.Context.API_SECRET_KEY];
server.use(
createShopifyAuth({
afterAuth(ctx) {
const {shop, scope} = ctx.state.shopify;
ACTIVE_SHOPIFY_SHOPS[shop] = scope;
    ctx.redirect(`/?shop=${shop}`);
  },
}),

);
const handleRequest = async (ctx) => {
await handle(ctx.req, ctx.res);
ctx.respond = false;
ctx.res.statusCode = 200;
};
router.get("/", async (ctx) => {
const shop = ctx.query.shop;
if (ACTIVE_SHOPIFY_SHOPS[shop] === undefined) {
  ctx.redirect(`/auth?shop=${shop}`);
} else {
  await handleRequest(ctx);
}

});
router.get("(/_next/static/.)", handleRequest);
router.get("/_next/webpack-hmr", handleRequest);
router.get("(.)", verifyRequest(), handleRequest);
server.use(router.allowedMethods());
server.use(router.routes());
server.listen(port, () => {
console.log(> Ready on http://localhost:${port});
});
});`


Script defined functions

Add support for defining functions within a script (requires #3)

Completed in 43f659da0b0e64152c1c51cc74b7dc55917c05e1


hunterdouglas_powerview no longer works in 0.98

**Home Assistant release with the issue: 0.98.2
**Last working Home Assistant release (if known): 0.97.2
**Operating environment (Hass.io/Docker/Windows/etc.): Hass.io
**Component/platform: hunterdouglas_powerview
**Description of problem: Scenes defined on the Powerview hub are no longer known in Home Assistant and therefore unable to be triggered in automations. Result is that my curtains no longer go up or down.
Entity not available: scene.#####

**Problem-relevant configuration.yaml entries :
scene:
  platform: hunterdouglas_powerview
  address: 192.168.X.X

**Traceback: Happens during Home Assistant start
**Errors thrown in the home assistant log file:
2019-09-03 07:02:11 ERROR (MainThread) [homeassistant.components.scene] Error while setting up platform hunterdouglas_powerview
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/aiopvapi/helpers/aiorequest.py", line 66, in get
    response = await self.websession.get(url, params=params)
  File "/usr/local/lib/python3.7/site-packages/aiohttp/client.py", line 497, in _request
    await resp.start(conn)
  File "/usr/local/lib/python3.7/site-packages/aiohttp/client_reqrep.py", line 844, in start
    message, payload = await self._protocol.read()  # type: ignore  # noqa
  File "/usr/local/lib/python3.7/site-packages/aiohttp/streams.py", line 588, in read
    await self._waiter
concurrent.futures._base.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/aiopvapi/helpers/aiorequest.py", line 67, in get
    return await check_response(response, [200, 204])
  File "/usr/local/lib/python3.7/site-packages/async_timeout/__init__.py", line 45, in __exit__
    self._do_exit(exc_type)
  File "/usr/local/lib/python3.7/site-packages/async_timeout/__init__.py", line 92, in _do_exit
    raise asyncio.TimeoutError
concurrent.futures._base.TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 150, in _async_setup_platform
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
    return fut.result()
  File "/usr/src/homeassistant/homeassistant/components/hunterdouglas_powerview/scene.py", line 47, in async_setup_platform
    _scenes = await Scenes(pv_request).get_resources()
  File "/usr/local/lib/python3.7/site-packages/aiopvapi/helpers/api_base.py", line 91, in get_resources
    resources = await self.request.get(self._base_path, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/aiopvapi/helpers/aiorequest.py", line 70, in get
    raise PvApiConnectionError
aiopvapi.helpers.aiorequest.PvApiConnectionError

Started to work again after several reboots. No real config changes, seems noone else got this issue so I closed the issue.


Error  cannot open device on MacOS BigSur

Issue
when running showing this error msg
"Error
cannot open device with vendor id 0x1770 and product id 0xff00
Did you try using sudo?"
Describe your issue, comment or suggestion
System versions:
Hackintosh MacOS Bigsur beta 3
HW: MSI GE62
nodejs: v12.16.1
npm: 6.14.7
libusb:

Not supporting Beta OS at this point. Will accept a PR for future support.


skeleton and sbt-chisel-dep

I'm currently trying to use subprojects as described in the skeleton branch and with sbt-chisel-dep.
Here is the hierarchy of my projetc and an example of build.sbt:

myproj/

build.sbt
src/
subproj1/

build.sbt
src/

subproj2/

build.sbt
src/

def scalacOptionsVersion(scalaVersion: String): Seq[String] = {
  Seq() ++ {
    // If we're building with Scala > 2.11, enable the compile option
    //  switch to support our anonymous Bundle definitions:
    //  https://github.com/scala/bug/issues/10047
    CrossVersion.partialVersion(scalaVersion) match {
      case Some((2, scalaMajor: Long)) if scalaMajor < 12 => Seq()
      case _ => Seq("-Xsource:2.11")
    }
  }
}

def javacOptionsVersion(scalaVersion: String): Seq[String] = {
  Seq() ++ {
    // Scala 2.12 requires Java 8. We continue to generate
    //  Java 7 compatible code for Scala 2.11
    //  for compatibility with old clients.
    CrossVersion.partialVersion(scalaVersion) match {
      case Some((2, scalaMajor: Long)) if scalaMajor < 12 =>
        Seq("-source", "1.7", "-target", "1.7")
      case _ =>
        Seq("-source", "1.8", "-target", "1.8")
    }
  }
}

scalacOptions ++= scalacOptionsVersion(scalaVersion.value)

javacOptions ++= javacOptionsVersion(scalaVersion.value)

resolvers ++= Seq(
  Resolver.sonatypeRepo("snapshots"),
  Resolver.sonatypeRepo("releases")
)

addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full)

// Provide a managed dependency on X if -DXVersion="" is supplied on the command line.
val defaultVersions = Seq(
  "chisel-iotesters" -> "1.4.1+",
  "chiseltest"  -> "0.2.1+"
  )

val projDeps = chisel.dependencies(Seq(
  ("org.myproj" %% "subproj1" % "0.0.1-SNAPSHOT", "gen/subproj1"),
  ("org.myproj" %% "subproj2" % "0.0.1-SNAPSHOT", "gen/subproj2")
))

libraryDependencies ++= defaultVersions.map { case (dep, ver) =>
  "edu.berkeley.cs" %% dep % sys.props.getOrElse(dep + "Version", ver) }
libraryDependencies ++= projDeps.libraries

val dependentProjects = projDeps.projects

lazy val myproj = (project in file("."))
    .settings(
      version := "0.0.1-SNAPSHOT",
      organization := "org.myproj",
      scalaVersion := "2.12.10",
      publishLocal := {},
      publish := {},
      packagedArtifacts := Map.empty,
      libraryDependencies ++= projDeps.libraries
    )
    .dependsOn(dependentProjects.map(classpathDependency(_)): _*)
    .aggregate(dependentProjects: _*)

In subproj2/src/test/scala, I have a ChiselFlatSpec tester hat I run with the sbt command 'testOnly subproj2.Tester'.
But, when I launch it from the myproj directory, it seems to check all the different subproject before launch it:
[info] Run completed in 25 milliseconds.
[info] Total number of tests run: 0
[info] Suites: completed 0, aborted 0
[info] Tests: succeeded 0, failed 0, canceled 0, ignored 0, pending 0
[info] No tests were executed.
[info] Passed: Total 0, Failed 0, Errors 0, Passed 0
[info] No tests to run for Test / testOnly
[info] ScalaTest
[info] Run completed in 10 milliseconds.
[info] Total number of tests run: 0
[info] Suites: completed 0, aborted 0
[info] Tests: succeeded 0, failed 0, canceled 0, ignored 0, pending 0
[info] No tests were executed.
[info] Passed: Total 0, Failed 0, Errors 0, Passed 0

[info] [0.015] RAN 8 CYCLES PASSED
[info] Tester:
[info] InitRam
[info] - should test read sequences
[info] - should test write sequences
[info] ScalaTest
[info] Run completed in 6 seconds, 173 milliseconds.
[info] Total number of tests run: 2
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 2, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.
[info] Passed: Total 2, Failed 0, Errors 0, Passed 2

It it is not a major problem at the moment (I only have two sub-projects), it could be penalizing if this number increases.
Do you know what this could be due to? Maybe the management of ChiselFlatSpec is not compatible the subprojects or have I badly configured my build.sbt?

Investigation is currently underway into more official techniques to support switching chisel dependencies between source-based and published-jar-based alternatives. Development of sbt-chisel-dep is suspended pending the outcome of this investigation.

@escou64 I wanted to let you know that a better way of handling this was merged in https://github.com/freechipsproject/chisel3/pull/1563 and it has a short description in the README: https://github.com/freechipsproject/chisel3#building-chisel-with-firrtl-in-the-same-sbt-project


Loader rewrite

Issue #, if available:
None. However, an offline discussion with someone who was trying out IonElement indicated that loading all values as IonElement was allocating up to 4x as memory as compared to loading the equivalent data as IonValue.
Description of changes:
This rewrites the loadCurrentElement function to eliminate some unnecessary allocations, and minimize the amount of branching in this function. The result is a very modest memory improvement, but a fairly decent speed improvement, and the size of the compiled bytecode of the rewritten function is about 40% of that of the current version of the function.
Performance testing results
Using arbitrary data that I put together from a few different sources (~5kB)

API
Time (ms/op)
gc.alloc.rate.norm (B/op)

IonValue
0.053 ± 0.001
81128.034 ± 0.004

IonElement 1.2.0
0.047 ± 0.001
215416.030 ± 0.004

ion-element-kotlin#100
0.032 ± 0.001
131720.020 ± 0.003

Ion binary application log file (~20 MB)

API
Time (ms/op)
gc.alloc.rate.norm (B/op)

IonValue
635.450 ±  75.384
625408257.218 ±  49.211

IonElement 1.2.0
630.640 ± 215.099
2348935671.047 ± 146.942

ion-element-kotlin#100
452.451 ± 283.069
2245469209.217 ± 113.536

Sample catalog data (~40 kB)

API
Time (ms/op)
gc.alloc.rate.norm (B/op)

IonValue
0.616 ± 0.093
696584.433 ± 0.297

IonElement 1.2.0
0.559 ± 0.028
2999688.359 ± 0.046

ion-element-kotlin#100
0.513 ± 0.007
2854072.329 ± 0.041

This was not as much of an improvement as I had hoped, but I will be following up this PR with another change that is orthogonal to this that should have a more significant impact on the memory allocation rate.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Is the win here predominantly from branching reduction? Can you say anything else about performance in theory or practice of the pieces here?

Is the win here predominantly from branching reduction? Can you say anything else about performance in theory or practice of the pieces here?

It's not practical to try to attribute specific amounts of improvement to specific parts of the change (I'd have to test the individually, and hope that the sum of the parts is equal to the whole, which is not guaranteed on the JVM). However, here is a list of the things that I did which, in theory, should all contribute to the improvement:

I got rid of forEachValue function calls (and the function itself) in favor of just having a while loop at the former call sites.
The old version would create an IonElement instance without annotations, and then if there were annotations, it would create a new copy of that value with the annotations added. I changed it so that the values are constructed with the annotations. I think this accounts for some of the reduced memory allocations, especially in the first dataset which had a higher proportion of annotated values than the other datasets. This also has the effect of entirely eliminating the branching that checked whether the annotations were non-empty and needed to be added to the value.
I made the same changes for "metas" as I did for annotations, but I did not use any "metas" in my perf testing. In theory, the "metas" change should be even more impactful than the annotations change because if you are populating location metadata, every value has that data whereas not every value has annotations.
I replaced the use of the factory functions (e.g. ionInt()) with the internal-only constructors. This removes 1-2 levels of indirection when creating a new IonElement instance.
By changing the APIs that are used to construct the IonElement instances and adding the annotations in the initial construction, I was able to minimize the amount of defensive copying of collections. It is safe to do that in this case because the lists that we construct in loadCurrentElement are all local and cannot be leaked elsewhere.
The main logic of the function had 3 levels branching. (Is it a datagram or null? Is it a container? What is the IonType?) All of those were flattened into one when expression. It is worth mentioning that a when expression that contains arbitrary expressions (such as ionReader.isNullValue on L114 of the old side of the diff) will be compiled as a chain of if/else if/else statements. However, a when (value) for an enum (or integer) can be compiled using the tableswitch instruction, which is O(1) to evaluate, so we're not just reducing the number of times we have to make a branching decision, we're also using a more efficient form of branching.

My only specific question is if making the IonReader.forEachValue method inline with a crossinline block param would help be the same win here and wherever else it was used.

I don't know because I did not test that. Since it was private to this file, I just got rid of the function entirely.


Svelte 5 compatibility

Reported in discord.  If ran within the Svelte 5 beta (ex. 5.0.0-next.15), currently Input throws a 'type' attribute must be a static text value if input uses two-way binding error

Thanks @CropWatchDevelopment, but it looks like this is a regression with the Svelte 5 compiler (see issue and Twitter/X discussion, including confirmation by Simon (Svelte/Vercel team).
I also found a workaround using <svelte:element>, although I would prefer to wait for it to be fixed upstream (which it should be).  It looks like Svelte 3/4 had an explicit check for bind:this that likely was overlooked as part of the Svelte 5 rewrite, so likely the fix will be similar (and hopefully as simple).
Would it be OK if we wait a bit to see if this is resolved upstream before we consider a workaround?
I'm curious what you found in TreeList.

100% Yes OK to wait until later. After checking the Svelte repo and seeing all of the v5 issues logged. I am thinking I may wait a few months even before making the move. It seems like v5 may take a bit be fully worked out :) I will pull down the PR, but Hope to help out in the future!

100% Yes OK to wait until later. After checking the Svelte repo and seeing all of the v5 issues logged. I am thinking I may wait a few months even before making the move. It seems like v5 may take a bit be fully worked out :) I will pull down the PR, but Hope to help out in the future!

FWIW, the bind:this issue is already fixed and should be on 5.0.0-next.16 once released (already on the preview REPL).  I was going to test my StackBlitz until I realize .16 wasn't published yet.
TBH, that's my plan ATM.  As much as I love all the great things coming in Svelte 5, I personally will wait closer to the official release before I focus too much on it.  My plan is for Svelte UX (and LayerChart) 1.0 releases to be fully compatibility with Svelte 3/4/5, and 2.0 I'll probably start embracing some of the Svelte 5 features (runes, snippets, etc) which will likely break 3/4 compatibility, but as long as 5 is a drop in replacement for 3/4, I think that's a fair tradeoff.
Just the speed/size improvements in 5 running non-rune mode is exciting.
Thanks for the PR and discussion.

Filed https://github.com/sveltejs/svelte/issues/10382 because SelectField.svelte fails to compile with latest Svelte 5.

Thanks @dimfeld for submitting the upstream issue with repo.  I've updated this issue's description to make it easy to track any known Svelte 5 compatibility issues.  The Svelte team has been amazingly fast resolving these thus far.

Haven't tried it but I think this will hit svelte-ux as well https://github.com/sveltejs/svelte/pull/10395

Identified the root cause of the Dialog/Drawer problem (portal'd content with elements in the same conditional) - https://github.com/sveltejs/svelte/issues/12440

Workaround identified - https://github.com/techniq/svelte-ux/commit/54d9d39ee7bdb712f6c2e85faea1701aae9fe3ba

The SelectField bug is quite strange... The option setting code gets called a bunch of times, not sure if that's normal or not. But at some point updateSelected is called from the reactive statement, and options is an empty array instead of the actual options. That's why things get cleared.

Oh actually I figured it out... The problem is the SelectField that is using optionsAsync, which starts out empty. So at some point when that SelectField runs its reactivity it clears the value since its options don't contain the number, which then propagates back to the first SelectField.
Commenting out the example with optionsAsync makes everything work fine.
I think this is actually a case where some of the weird cross-component reactivity problems in Svelte 4 are fixed, and the "correct" behavior is only correct because Svelte 4 was losing the reactivity chain at some point. So here we just need to not bind:value on the optionsAsync SelectField, or perhaps bind to a different value variable.

Duration problem is because getDelay tries to access $timer but it's also called before timer is actually created, in the initial call to timerStore.
This fixes it although it's a big hack. There's probably a better way to write this but the standard tricks like typeof timer === 'undefined' didn't work.

{displayDuration}

MultiSelect issues are related to mode = "Immediate". I haven't debugged further yet.

Just spotted another Svelte 5 regression with SelectField while looking at the docs.  Sometimes (but not always) there is an extra empty option at the top.

Did a quick investigation and it looks to go aways unless you add the "append slot (field actions)" example (along with basic).  Having only those 2 examples causes the issue).  Probably because the Form on:change is being called more than expected.

`append` slot (field actions)

<Preview>
  <Toggle let:on={open} let:toggle let:toggleOff>
    <SelectField {options}>

        <Button icon={mdiPlus} class="text-surface-content/50 p-2" on:click={toggle} />

    </SelectField>
    <Form
      initial={newOption()}
      on:change={(e) => {
        options = [e.detail, ...options];
      }}
      let:draft
      let:commit
      let:revert
    >
      <Dialog {open} on:close={toggleOff}>

Create new option

          <TextField
            label="Label"
            value={draft.label}
            on:change={(e) => {
              draft.label = e.detail.value;
            }}
            autofocus
          />
          <TextField
            label="Value"
            value={draft.value}
            on:change={(e) => {
              draft.value = e.detail.value;
            }}
          />

          <Button on:click={() => commit()} color="primary">Add option</Button>
          <Button on:click={() => revert()}>Cancel</Button>

      </Dialog>
    </Form>
  </Toggle>
</Preview>

Definitely more to look into, but this helps to reduce it down.

So the root issue of the extra SelectField option being added is because <Form on:change={...}> is dispatched immediately in Svelte 5.
This is because the reactive dispatch in Form is called immediately in Svelte 5 (REPL) but not in Svelte 4 (REPL).
Component.svelte

App.svelte

<Component on:change={e => console.log('change', e.detail)} />

I'm debating on whether this is a reportable regression, or works as expected ($: console.log(value) runs immediately in Svelte 4, just not $: dispatch(value)).
If not, I need to come up with a solution to wait for the value to change.  I initially thought of...

...but then isMounted is updated reactively, which fires the change event.
@dimfeld thoughts?

One workaround is to use a changeStore since the form state is a store in this case.
$: dispatch('change', $_state);

becomes...
const changed = changeStore(_state, (value) => dispatch('change', value.current));
$changed; // must subscribe to store to get onChange callbacks

@dimfeld I decided to go ahead and use the changeStore fix/workaround.  Still curious your thoughts if this change is work a report.

It sounds more like a bug that it wasn't doing this in Svelte 4 :) And actually this is https://github.com/sveltejs/svelte/issues/4470
Yeah anything that suppresses that first firing seems fine.

Using SelectField outside a dialog gives me the following warning in<EMAIL_ADDRESS>I'm not sure what's causing this, but the select field still seems to work fine.
(index):3922 Placing %sveltekit.body% directly inside  is not recommended,
as your app may break for users who have certain browser extensions installed.

Consider wrapping it in an element:

  %sveltekit.body%

But add another select field will break the page as the browser unable to repair broken html, Uncaught (in promise) HierarchyRequestError: Failed to execute 'appendChild' on 'Node': This node type does not support this method.

@iniznet That's rather interesting, and not sure what would be causing that off the top of my head.  I first thought it might be because of the portal action, but SelectField/Menu/Popover doesn't use the action (only Dialog/Drawer/Backdrop).

Closing this overarching issue as last remaining (known) regression (MultiSelect mode="immediate" freezes browser) has been fixed.
All that remains is re-adding API docs, which is being tracking in #435 and will be re-added once the library has been migrated to Svelte 5 (planning for EoY).


chore: bdd-sbhg-1584968900 to 0.0.1

chore: Promote bdd-sbhg-1584968900 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
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:

OWNERS

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


Project using CsWin32 doesn't compile using msbuild because System.Memory is missing

Actual behavior
I'm trying to use CsWin32 source generators in our projects. It works when compiling in VisualStudio and works on our CI running "dotnet build", but doesn't run on our CI running "msbuild".

##[warning]CSC(0,0): Warning CS8785: Generator 'SourceGenerator' failed to generate source. It will not contribute to the output and compilation errors may occur as a result. Exception was of type 'FileNotFoundException' with message 'Could not load file or assembly 'System.Memory, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified.'

Expected behavior
Compiling with "msbuild" does work.
Repro steps

Create a sln with a csproj which references CsWin32.
Build using MSBuild

I'm using Azure DevOps Server 2020 Update 1.1 with this step in a yaml pipeline, not sure what exactly happens in the background.
  - task: VSBuild-sxs@1
    inputs:
      solution: MySolution.sln
      maximumCpuCount: true
      vsVersion: 17.0
      platform: Any CPU
      configuration: Debug
      msbuildArchitecture: x64

However, the build log indicates it's "msbuild MySolution.sln" with a bunch of extra options in the end that are probably just relevant for the CI.
My own analysis
It looks like this an a general shortcoming of source generators, which must provide all their transitive dependencies. I have found this similar issue: https://github.com/dotnet/roslyn/issues/52017
Probably the CsWin32 nuget package needs to have all it's transitive dependencies in the analyzers/cs folder.
Maybe this is a duplicate of #560, but I'm not entirely sure.
Context

CsWin32 version: 0.2.188-beta
Target Frameworks: net452;netcoreapp3.1;net6.0
LangVersion: 9.0

Some history is in #836. What version of VS is installed on your agent?

Hey, I work at the same company. We use VS Pro 17.2.6 on our agents.

Could you look for this file: "C:\Program Files\Microsoft Visual Studio\2022\IntPreview\MSBuild\Current\Bin\Roslyn\System.Memory.dll" and tell me what the assembly version is?

Here you go:

Ok, great. That <IP_ADDRESS> version is what I needed, and explains why the source generator fails on your machines. Upgrading VS would resolve the issue for you. I don't know if that's an option.
I checked, and there's no reason we can't reference <IP_ADDRESS> in the source generator though, so we should be able to make your system work with the next update.

Thanks a lot for looking into it, that's great news! I will also check if we can just upgrade our CI to the latest VS version, shouldn't be too much of an issue.


Full-width comment boxes and resizing

I'm entering a GitHub issue.  I need more space.  The comment box can be made longer, but not wider.  I cry.  I look to refined-github for help.  Here I am.

Sorry, we're not going to change the layout in fundamental ways and I feel the comment box is already wide enough.
https://ux.stackexchange.com/questions/108801/what-is-the-best-number-of-paragraph-width-for-readability


integration_ui_ios_keyboard_resize "Ensure keyboard dismissal resizes the view to original size" test flakes

[integration_ui_ios_keyboard_resize] [STDOUT] stdout: [   +4 ms] 00:01 +0: end-to-end test Ensure keyboard dismissal resizes the view to original size
[integration_ui_ios_keyboard_resize] [STDOUT] stdout: [+3845 ms] 00:05 +0 -1: end-to-end test Ensure keyboard dismissal resizes the view to original size [E]
[integration_ui_ios_keyboard_resize] [STDOUT] stdout: [        ]   Expected: true
[integration_ui_ios_keyboard_resize] [STDOUT] stdout: [        ]     Actual: <false>
...
[integration_ui_ios_keyboard_resize] [STDOUT] stdout: [        ]   test_driver/keyboard_resize_test.dart 45:7                     main.<fn>.<fn>

https://github.com/flutter/flutter/blob/e605b7c2250e803f46017b1d544fc8c297007546/dev/integration_tests/ui/test_driver/keyboard_resize_test.dart#L45
https://ci.chromium.org/p/flutter/builders/prod/Mac_ios integration_ui_ios_keyboard_resize/78
https://ci.chromium.org/p/flutter/builders/prod/Mac_ios integration_ui_ios_keyboard_resize/96
https://ci.chromium.org/p/flutter/builders/prod/Mac_ios integration_ui_ios_keyboard_resize/99

@cbracken should the engine team should look at this https://github.com/flutter/flutter/pull/10005 ?

Ping @cbracken as the author of the test? Any thoughts on next steps?

Htm. It’s been about four years since I wrote that test. Do we know when this started flaking? There’s not much in our keyboard dismissal logic that should be ambiguous but could be a race condition.

It’s been about four years since I wrote that test

I know, but we don't have test owners so I'm not sure who the best person would be now to investigate (like to figure out when it started flaking) 😞

This is no longer flaky.


add exportImage

refs #822

Use it like:
// save waveform image as data url (png format by default)
var dataURL = wavesurfer.exportImage();

// set canvasImg image src to dataURL
// so it can be saved as an image
document.getElementById('canvasImg').src = dataURL;

Cool, thanks!


Manage Entitlements

From chicchiricco on July 16, 2010 09:06:58
At the moment Entitlements are pretty useless...
Original issue: http://code.google.com/p/syncope/issues/detail?id=21

From chicchiricco on December 15, 2010 09:30:50
Entitlements are being used for managing REST security via spring-security.
Status: Started

From chicchiricco on December 16, 2010 07:53:11
Owner: chicchiricco

From chicchiricco on December 16, 2010 07:54:41
Status: Fixed


nootka: use getDev to access .dev attributes

To allow libjack2 to extract headers to a separare .dev output nootka should refer to it via getDev indirection.
Description of changes

Things done

Built on platform(s)

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

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

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

[ ] 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/)
23.05 Release Notes (or backporting 22.11 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 230334 run on x86_64-linux 1


curl -0- option is unkown

I installed libssl-dev and build-essential on ubuntu12, and I try to use script to install.
'curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | bash'
and it say "curl: option -0-: is unkown".
what sould i do?

What does curl --version and curl --help print out?

i don't know way but after restarting ubuntu, it works. sorry my bad.

np, thanks for following up!


Fix for issue #960

TestNG created the testng-failed.xml all the time
whereas it should have created this file only when
there are no failures.
Fixed this problem by adding a flag which indicates
that there were actual test failures in a suite.
This flag would now control the testng-failed.xml
file generation.

@cbeust
I have attempted at fixing this again. I introduced another method named shallowCopy which retains the old behaviour prior to the deep copy behaviour in the clone method. To avoid code duplication the clone method first invokes the shallowCopy internally and then adds more to it.
@juherr
I have addressed your review comments as well except for the Java 7 Files API. I haven't used the Java 7 APIs, and didn't find time to play around with those APIs prior to putting them in this pull request (work schedule gets crazy during weekdays). I hope that's fine with you, and this PR can still be considered for a merge.

Looks good, Krishnan, thanks for sticking with it!


Add unique constraint example

This PR adds an example of using a unique constraint within an XCDataModel by making the title of a Book a unique constraint.
Depends on #91
Addresses #90

:eyes: @jobot


Feature request: Soundex

Problem:
I think it would be eventually useful to detect and encode/decode Soundex (https://en.wikipedia.org/wiki/Soundex) encoding of phonetic words (i.e., "Robert" == "R163").
Solution:
There are probably Soundex modules for Python out there, it should be possible to integrate one into the encoding detector as well as in a cracker.

Hey Hackers of this spoopy month! 👻
Welcome to the Ciphey repo(s)!
This issue requires you to add a decoder.
This wiki section walks you through EVERYTHING you need to know, and we've added some more links at the bottom of this issue to detail more about the decoder.
https://github.com/Ciphey/Ciphey/wiki#adding-your-own-crackers--decoders

I'll take a stab at this : )

I would love to take up this issue :)

I would love to take up this issue :)

Go ahead @sashreek1

Here's the problem  :
As you already know a single soundex code can mean several different things. The example u gave of the word Robert (R163) is also the code for
report | revert | Robert | Rupert | rapport | rebirth | reports | revered | reverts | Roberta | Roberto | Roberts | rapports | rebirths | reburied | refereed
and many more. Which means deciding it as a single word can be difficult.
Predicting possible words would probably require an AI model.
The best one i found was from wolframalpha which is unfortunately paid.
Do y'all have any suggestions ?

It will have to be a python cracker like T9. Then it can return multiple results so that Ciphey can figure out what combination is the best. You just need to make a dictionary that maps all the soundex codes to possible English words. This and T9 will be on hold though until we get a better English dictionary as the one that we currently have in CipheyDists is not that good. Issue for a better dictionary here: https://github.com/Ciphey/Ciphey/issues/438

yeah a cracker seems perfect. I'll also be on the look out for a good English dictionary.

Hey! am I supposed to be assigned to this issue so i can get back to it later ?

I assigned you! :)


[Spec lib improvements] Prepend describe block names to spec names

This is part of a family of issues relating to Spec library improvements.
When defining specs within a describe block, it's common for those specs to have the describe blocks name prepended to their name in all places where the name of the spec is presented.
For example, with a spec suite like this:
describe "Some object" do
  it "does a thing" do
    assert(true == false)
  end
end

The error output should have the spec name "Some object does a thing".
Generally, this is done by having a Context object that holds onto the current name path at that point in the code. Entering a describe block would then push a new Context object to a stack, and each it block would then read the name path from the Context object at the top of that stack and prepend it to the given name for the spec when creating the SingleSpec instance.
An implementation like this should also work with nested describe blocks.

Implemented by #161.


Soul Campfire Crash

I don't know if the reason is due to this mod, I just set up a few soul campfires at home. The game crashed when I entered the game for 3 seconds
I also added 2 mods
healingcampfire
nohostilesaroundcampfir
latest.log
e

crash-2021-11-20_01.38.00-server.txt


Fixed broken MDOP link

Fixed broken MDOP link

@computeronix,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Add Label Support similar to filter queries executed by DBT-Fabric adapter

Addressed in #192

Add documentation for this feature


Fix flaky test on WASM environment

In JS/WASM environment, select loop without sleep seems causing deadlock. Add sleep to trigger context switch.
Reference issue
Same fix as #173

Re-ran CI 10 times. The error doesn't appear.


can't modify variaible while debugging

godot version: 3.3.stable.openSUSE
OS: openSUSE tumbleweed 20210511
I was trying to modify a variable while debugging, however the variable's value was not changed. I suspect there is a bug, or it is just a monitor for variables that is not for modify the variables' value?
how to reproduce:

use the example below and follow the gif
minimal example project:
godotbug.tar.gz

I don't think you can change variables in that window, you have to use remote scene tree and change variables on the node, and if they're local to the function I don't think you can change them at all.

Your game is at a breakpoint meaning nothing is running. This is why changing variables doesn't update them; there's nothing to call for an update since the game is frozen

I don't think you can change variables in that window, you have to use remote scene tree and change variables on the node, and if they're local to the function I don't think you can change them at all.

if it is not possible to change a variable that is local to a function, i think make them uneditable in the window could be better?

Your game is at a breakpoint meaning nothing is running. This is why changing variables doesn't update them; there's nothing to call for an update since the game is frozen

if so, i have a question (sorry if my question is stupid, i am not a professional programmer XD
when the game is at a breakpoint. a property of a node can be changed. node‘s properties are actually variables which are same as the variable in my case. since it is possible to change variables which are properties of some nodes when the game is paused, why we can't change a more common variable? what makes the difference?

Nevermind I misunderstood what the issue was, you can't change those properties through there

Edited the title (because we usually call "inspector" the one in the side pane).
Yes, changing stack variables has no effect, so the local variables "inspector" should not allow editing.

That said, modifying a local object's property does work. So just setting it as disabled would probably remove that functionality.
Either we find a way to allow editing local variables, or we selectively disable them based on types.


Installation fails on debian

Hello,
I am trying to sudo make install and I get the following error:
install -m644 doc/man/*.3 /usr/local/share/man/man3/
install: target '/usr/local/share/man/man3/' is not a directory: No such file or directory

Running ls -lah /usr/local/share/man/ yields:
drwxrwsr-x  4 root staff 4.0K Mar 25 16:22 .
drwxrwsr-x 12 root staff 4.0K Jan  2 00:47 ..
drwxr-sr-x  2 root staff 4.0K Mar 25 16:34 man1
drwxr-sr-x  2 root staff 4.0K Mar 25 16:13 man{1,3,7}

If I replace the install-man entry in the makefile
with a dummy entry like echo "hello" I instead get
the following error message
install -m755 bin/lfe{,c,doc,script} /usr/local/lib/lfe/bin
install: cannot stat 'bin/lfe{,c,doc,script}': No such file or directory
Makefile:118: recipe for target 'install' failed
make: *** [install] Error 1

Any clues as to what I'm doing wrong? Help greatly appreciated.

Hmm, I'll take a look. I think I'm responsible for that code. Thanks for the report.

Can you give me some more information about your setup? Which versions of Debian, Erlang, rebar3 (if any), pandoc (if any) and LFE are you using?

Debian version:
$ cat /etc/issue
Debian GNU/Linux stretch/sid \n \l

$ cat /etc/debian_version
stretch/sid

Erlang version:
re$ erl
Erlang/OTP 19 [erts-8.2] [source] [64-bit] [smp:4:4] [async-threads:10] [kernel-poll:false]

Eshell V8.2  (abort with ^G)

rebar3:
$ rebar3 --version
rebar 3.3.6 on Erlang/OTP 19 Erts 8.2

pandoc:
$ pandoc --version
pandoc 1.17.2

LFE version is the current HEAD of develop.
I did not realise I was on develop until just now (I was assuming master was the default branch...).
When I:
$ git checkout master
$ make clean
$ make install

It works just fine, which is good.
The make clean is necessary as the binaries that are in bin by default crash on startup on my system.
I apologise for wasting your time on my silly error, but I hope the informatioń I have provided can be of some use anyway.

This is definitely not a waste of time. Develop is where all the latest code goes, which is occasionally broken by new features. Tagged versions are generally a safe bet (otherwise please let us know right away).
The scriptsin bin/ expect LFE to be built with or without rebar3, i.e. the compiled beam files should be in ebin/ or _build/default/lib/lfe/ebin/. I don't think make clean is necessary, but it can't hurt.
I'm glad this is working for you now, but im still curious to figure out what broke before.

Is there any difference in Makefile that could cause this?

Does anyone know if this is still a problem with the develop branch? I would like to mergedevelop into master and make a new release, which I can't do if this problem still remains.

I have tested on jessie (just confirmed again). The issue was filed against sid, so I'll test on that too.

tested on sid, build works fine, man pages install is definitely broken. It's also broken on jesse.
The reason for this is that on new systems, the man1, man3, and man7 directories haven't been created. We need to do a few things:

Ensure that man is in the user's $PATH; if not, then skip the man page installation
If man is available, we run the man install target, but create man1, man3, and man7 dirs first
Run mandb after installation so all the man bits are properly updated

Since we're not installing LFE and man pages with a package manager, local is the way to go (i.e., /usr/local/share/man).
I've created a ticket to ensure that LFE docker images for all platforms run make install so that we are exercising that bit of the install process:

https://github.com/lfex/dockerfiles/issues/22

I've got a branch where I'm working on a fix for this now ...

FYI, the root cause of this is that on Debian gnumake uses the old Bourne shell which doesn't do curly expansion.

There's also another part of the install that uses curly expansion, and once I got past the docs install, found that the bin install on Debian for LFE also failed. This is fixed in the branch.
PR on its way shortly ...

@oubiwann, thanks for the GNU Make tip. I'm used to developing for 4.x, which probably contributed to my breaking this, if it was indeed me :smile:. It's helpful knowledge in general anyway.


Create "Active" bucket for program engagement stage picklist

Critical Changes
Changes
Work Items Closed

W-10082064

Issues Closed
New Metadata
Deleted Metadata
Definition of Done
Refer to Asteroids DoD document to see any additional details for the items below

[x] Any net new LWC work has Sa11y tests & 50% or above lines JEST test coverage
[x] CRUD/FLS is enforced in Apex
[x] Permission sets are updated to account for CRUD|FLS|Tab|Classes
[x] Field sets are updated to account for new fields
[x] UX approval or UX not necessary
[x] Link the pull request and work item by PR comment and Chatter post respectively, e.g. GUS: W-0000000: Work Name (https://github.com/SalesforceFoundation/PMM/pull/303)
[ ] All acceptance criteria have been met

[x] Developer
[ ] Code Reviewer
[ ] QA

[ ] PR contains draft release notes
[ ] QE story level testing completed

@ptewson-sfdo ,  I added a new stage to the bucketed values and that new bucketed value does not show up in the new program engagement creation UI but it shows up on the contact selection UI. Looks like we may have to  look at the LWC component.

@ptewson-sfdo , Can we default the Stage picklist to a value in the new Program Engagement creation screen. Now we are able to save the record without any stage and the contact does not show up on the contact selection screen.


Crash when click on timeline and no debugger is selected

When I clicked on the timeline shortcut and no debugger is selected, IDA crashed

Can you give me more information about this? I was not able to reproduce the issue.

Were you using a "fresh" database (i.e. did you have positions already saved in the timeline?)
By "no debugger is selected", do you mean the dropdown list is on "No debugger" and you are not currently debugging?

On my side, when clicking on the Timeline button while "No debugger" is selected, nothing happens


Formalize common request options in generated code

Extract common request options to own exported interface
Important: this PR depends on PR #42 (which introduces $path)

@sbusch merged and published as 1.6.0


Avoid 406 Not acceptable

From<EMAIL_ADDRESS>on January 13, 2011 09:05:16
when doing e.g.:
expect().body("something").when().get("/admin");
and /admin has content-type of application/xml we force text parsing by setting the content-type header. This is bad because the server can then respond with a 406. What we should do is to change parser ( http://groovy.codehaus.org/modules/http-builder/doc/contentTypes.html ) by:
http.parser.'application/xml' = http.parser.'text/plain'
http.parser.'application/json' = http.parser.'text/plain'
etc.
Original issue: http://code.google.com/p/rest-assured/issues/detail?id=10

From<EMAIL_ADDRESS>on February 12, 2011 02:24:39
Status: Fixed


Update Services.yml

For Symfony3+ you get the following error when trying to install the bundle
[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
The file "vendor/hampe/zurb-ink-bundle/Hampe/Bundle/ZurbInkBundle/Dependency
Injection/../Resources/config/services.yml" does not contain valid YAML.
[Symfony\Component\Yaml\Exception\ParseException]
The reserved indicator "@" cannot start a plain scalar; you need to quote t
he scalar at line 10 (near "arguments<EMAIL_ADDRESS>@file_locator]
").
All arguments in all configuration files need to be quoted in Symfony 3+ doing so fixes these errors.

Thanks.


Site PIPs with side effects

There's a nasty edge case in the Xilinx CLB where flipflops must be put into latch mode to legalise use of both O[i] and CO[i] when one isn't feeding the flipflop (or the next tile in the case of CO[3]).
Consider the following Verilog which triggers this case:
module top(
        input [3:0] di, s,
        output q
    );
    wire [3:0] o, co;
    CARRY4 carry_i (.DI(di), .S(s), .O(o), .CO(co));
    LUT2 #(.INIT(4'h8)) lut_i (.I0(o[3]), .I1(co[3]), .O(q));
endmodule

The result, as placed and routed by Vivado is:

also note:
get_property CONFIG.LATCH_OR_FF [get_bels SLICE_X0Y5/DFF]
LATCH

This is effectively a special site PIP inside the FF used for route through, but it also carries the following side effects that affect the whole site:

the LATCH feature must be set, as this is site-wide (i.e. no DFFs can be placed in the site)
CLK must be connected to ground, by enabling the clock inverter
CE must be connected to Vcc, using CEUSEDMUX

We need a way in the interchange schema of representing these kind of site pips with complex constraints. PnR should assign a high cost to them so they are only used when absolutely needed (i.e. to legalise carries in this case), as when enabled they render all the FFs in the tile useless (which might also cause some problems with placement validity checking, but that's a nextpnr-specific issue for another day).

I remember having a long discussion about this case with @litghost

It's definitely a nasty case, and working around it with Yosys techmaps (which aiui is how the current SymbiFlow works)? is definitely a reasonable starting point.
But long term, it would definitely be nice to be able to support site routing like this in the interchange format; not just because of this specific case but also it feels like a pattern that might crop up in other places, and in general enable more creative use of site resources for route-throughs.

@gatecat -- I was wondering if we just put it in the "too hard" basket for today and make it a target for V1.2 or V2? I did think that @litghost had considered this in the constraints work...

That seems totally fair - but I think if we end up working on something else in this part of the schema then it's worth revisiting. I think it should be possible to implement using a pseudo-cell approach similar to how pseudo-tile-pips currently work.


Question: Why is uri a required argument?

I'm currently using snowflake-connector-python like this:
conn = snowflake.connector.connect(
        user=...,
        password=...,
        authenticator=...,
        account=...,
        warehouse=...,
        role=...,
)

Then I use conn to query whatever database/schema I may need.
In contrast, I'm looking at the documentation here:
https://arrow.apache.org/adbc/0.5.1/driver/snowflake.html
It seems that uri is required, and every accepted uri format asks for a database.
Can anyone clarify how to use this driver the same way I use snowflake-connector-python?
Thanks for your time and consideration.

Hmm, it probably shouldn't be. https://github.com/apache/arrow-adbc/issues/841 is a similar question about R

We might just need some examples then.

Hello! There is a check in the cython code to ensure that uri is not None.
If uri is a downstream required string, then it might be better to allow uri to be None in the connect functions (in __init__ and dbapi.py in the snowflake code), but construct it from the other kwargs if uri=None.

It still doesn't work at all and there's zero documentation on how it should be configured.
I.e.:
adbc_driver_snowflake.dbapi.connect(conn_kwargs={"account": "XXXXX"}) : Nope
adbc_driver_snowflake.dbapi.connect(db_kwargs={"account": "XXXXX"}) : Nope
adbc_driver_snowflake.dbapi.connect(account="XXXXX") : Nope
All result in adbc_driver_manager.OperationalError: IO: 260000: account is empty
Essentially making the connector totally unusable when password includes any special symbols (because connecting with URI fails miserably too).

Does https://arrow.apache.org/adbc/current/driver/snowflake.html#sso-authentication help?
import adbc_driver_snowflake.dbapi
# This will open a new browser tab, and block until you log in.
adbc_driver_snowflake.dbapi.connect(db_kwargs={
    "adbc.snowflake.sql.account": "foobar",
    "adbc.snowflake.sql.auth_type": "auth_ext_browser",
    "username"<EMAIL_ADDRESS>})

All options: https://arrow.apache.org/adbc/current/driver/snowflake.html#client-options

It's not an SSO, just regular, normal account with user:password.
Fortunately I've found out that it fails on password because it tries to URL-decode it and stumbles on % sign.
So, changing % -> %25 in all passwords helps. And it starts working with URI. Non URI access doesn't work though.

The example is for SSO, but it's to demonstrate that the option is "adbc.snowflake.sql.account": "foobar"
The URL-decoding is...odd, but that appears to be a behavior of the Snowflake client or server


MQTT does not accept scheme in frontend

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

Description
The backend for MQTT lets the hostname include a scheme like mqtt:// or mqtts://, but the frontend regex doesn't allow for a scheme. When I inspect element and remove the regex, everything works fine for my mqtts:// monitor.
https://github.com/louislam/uptime-kuma/blob/f8f19d8dc5cd668665f4a4a6d3b46782fe556383/src/pages/EditMonitor.vue#L76
https://github.com/louislam/uptime-kuma/blob/f8f19d8dc5cd668665f4a4a6d3b46782fe556383/server/util-server.js#L97-L99
👟 Reproduction steps
Create a new mqtt monitor with a secure server, mqtts://yourserver.com,
👀 Expected behavior
MQTT has a URL field not a hostname field, that allows mqtt:// and mqtts://
😓 Actual Behavior
The browser won't let you submit mqtts://yourserver.com. If you remove the 'pattern' from the html in inspect element, everything works perfectly.
🐻 Uptime-Kuma Version
1.15.0
💻 Operating System and Arch
n/a
🌐 Browser
Firefox 96.0b8
🐋 Docker Version
No response
🟩 NodeJS Version
No response
📝 Relevant log output
No response
Thanks for making Uptime Kuma, the recent MQTT addition is really helpful to my setup.

@karmanyaahm  I think this PR is also showing another bug, the server code by default assumes you are using mqtt, could be the case that the user is actually using mqtts, which will fail.

Also, the library https://www.npmjs.com/package/mqtt
supports many more protocols than just (mqtt|http)s?,

The URL can be on the following protocols: 'mqtt', 'mqtts', 'tcp', 'tls', 'ws', 'wss', 'wxs', 'alis'.

I don't know what some of those protocols do, but it might be easier to just pass in whatever URL is entered by the user to the MQTT library.

I think either removing the frontend validation altogether or at least allowing any scheme would be a good idea.
For anyone trying to get this working with an MQTT broker via TLS in the meantime (which should be most people using a broker open to the internet), I can confirm that putting "mqtts://" in front of your broker hostname when editing the monitor as described by @karmanyaahm does work (right-click the hostname edit field in your browser, hit "Inspect", then delete the "pattern" field in the "" element, allowing you to save the change to the monitor).

@karmanyaahm / @novirium : thank you for the tip. On my side, I had to use pattern="(.*)" to save hostname beginning with mqtts://...

This issue should be closed as fixed.

Closing this issue as it was resolved by https://github.com/louislam/uptime-kuma/pull/2540 and released in v1.19.5

Hello!
In addition to these schemes, it doesn't support URL paths. When using WebSocket schemes you can set the websocket connection in a URL subpath like /mqtt or /ws.
The connection regex should accept a subpath in the URL definition.

Maybe you should open a new issue since the original issue is specifically about the scheme.


Re-enable check manifest action

Currently the createdAt field is updated every time the make bundle command is run. This messes with the action to check since it's always changing.
Re-enable with some override or once the following is fixed:

https://github.com/operator-framework/operator-sdk/issues/6285
https://github.com/operator-framework/operator-sdk/pull/6419

Fixed with f76f04eae4e7648dd74c359e3c86926a8d97617d


Remove vmi/vm watch and reduce default sync time to 90 seconds

Issue #100 and #78 have two things in common, they both involve issues derived from tracking VM/VMIs on external infra.
So far, we've been treating external infra as an advanced usecase, and not the default use case. The result is that external infra has been treated as a second class citizen to the use case where the capi components and VM/VMIs are running on the same k8s cluster.
I'd like to return to a single code path that satisfies the use case where the capk/capi components are running on the same cluster as the VM/VMIs (centralized infra use case) and the use case where the controller components run on a separate cluster from the VM/VMIs (external infra use case)
To achieve this, we can't assume that the VM/VMI objects are even registered on the same cluster as the capi/capk controllers. Which means we can't watch these objects by default using the default in cluster config. I propose we return back to depending on syncing the KubeVirtMachine and KubeVirtCluster objects regularly in order to pickup VM/VMI changes (basically polling). For polling to be responsive enough to pick up things like IP changes after a VM reboot, I think we should lower the default polling interval to 60 seconds.
Reduce default sync time to 90 seconds for reconcile loops

/ok-to-test

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.2%) to 52.655%

Totals

Change from base Build<PHONE_NUMBER>:
1.2%

Covered Lines:
952

Relevant Lines:
1808

💛  - Coveralls

If think we can do both, so we have responsiveness and we don't miss stuff, what do you think ?

If think we can do both, so we have responsiveness and we don't miss stuff, what do you think ?

How would you do this.

You have a pair of "knobs":

The global SyncPeriod that defaults to 10h "https://github.com/kubernetes-sigs/controller-runtime/blob/007d240d6c95ce87ba01e7a679e5b85ba294fdab/pkg/cluster/cluster.go#L98"
And you can return at RequeueAfter at the Reconcile response https://github.com/kubernetes-sigs/controller-runtime/blob/d3120b6cf6a68705cdec8646fbc9e5b9f6855c77/pkg/reconcile/reconcile.go#L33

I think with both you can have both features.

I think with both you can have both features.

The problem is that we need the capk controller to be able to function when the VM/VMI objects are not registered in the infra cluster. The watches fail when there are no VM/VMI crds registered.
I could dynamically detect of vm/vmis are present at launch, and only watch if they are, but i'd rather have a single code path to test rather than multiple (one when crds are available, one when they are not). So just using a reduced sync period with no watches seems to satisfy that requirement

I think with both you can have both features.

The problem is that we need the capk controller to be able to function when the VM/VMI objects are not registered in the infra cluster. The watches fail when there are no VM/VMI crds registered.
I could dynamically detect of vm/vmis are present at launch, and only watch if they are, but i'd rather have a single code path to test rather than multiple (one when crds are available, one when they are not). So just using a reduced sync period with no watches seems to satisfy that requirement (at the cost of efficiency, which might be okay for us at our current scale)

An alternative is to run the polling and as a result enqueue them so they enter the Reconcile, this way we don't have to remove the watchers.

/lgtm
Let's hope we don't hit control plane too much.


invalid token error should be friendlier

currently trying to run esmbot with an invalid token prints a 100+ line error which should be simplified to a one line "invalid token"
[2022-10-30 23:36:03]: [INFO] - Finished loading events.
/home/sam/sources/esmbot/node_modules/.pnpm/oceanic.js@1.2.1_bufferutil@4.0.7/node_modules/oceanic.js/dist/lib/Client.js:136
            throw new Error("Failed to get gateway information.", { cause: err });
                  ^

Error: Failed to get gateway information.
    at Client.connect (/home/sam/sources/esmbot/node_modules/.pnpm/oceanic.js@1.2.1_bufferutil@4.0.7/node_modules/oceanic.js/dist/lib/Client.js:136:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  [cause]: DiscordRESTError: 401: Unauthorized on GET /api/v10/gateway/bot
      at RequestHandler.request (/home/sam/sources/esmbot/node_modules/.pnpm/oceanic.js@1.2.1_bufferutil@4.0.7/node_modules/oceanic.js/dist/lib/rest/RequestHandler.js:95:15)
      at RequestHandler.authRequest (/home/sam/sources/esmbot/node_modules/.pnpm/oceanic.js@1.2.1_bufferutil@4.0.7/node_modules/oceanic.js/dist/lib/rest/RequestHandler.js:80:21)
      at RESTManager.authRequest (/home/sam/sources/esmbot/node_modules/.pnpm/oceanic.js@1.2.1_bufferutil@4.0.7/node_modules/oceanic.js/dist/lib/rest/RESTManager.js:47:29)
      at RESTManager.getBotGateway (/home/sam/sources/esmbot/node_modules/.pnpm/oceanic.js@1.2.1_bufferutil@4.0.7/node_modules/oceanic.js/dist/lib/rest/RESTManager.js:53:21)
      at Client.connect (/home/sam/sources/esmbot/node_modules/.pnpm/oceanic.js@1.2.1_bufferutil@4.0.7/node_modules/oceanic.js/dist/lib/Client.js:128:40)
      at init (file:///home/sam/sources/esmbot/app.js:213:10) {
    code: 0,
    method: 'GET',
    resBody: { message: '401: Unauthorized', code: 0 },
    response: Response {

followed by 81 lines of response information and then
    }
  }
}

Node.js v18.10.0

Done with #456 and 0eabee9aa94d530af6a24fff1f6cfa991ac1f571


PoC: Expose aql.transform as traditional Airflow operator

Context
As of 1.5.3, some existing Python SDK features are exposed as traditional Airflow operators (LoadFileOperator and ExportFileOperator). So far, we have yet to encourage them to be used this way, but we're changing this as part of https://github.com/astronomer/astro-sdk/issues/1853.
Some of the existing Astro SDK features may need more work to be exposed as traditional Airflow Operators. The goal of this ticket is to do a PoC to have not only the decorator aql.trasform, but also a DataframeOperator.
Some challenges may include the following:

kwargs
current magic on converting between dataframe/SQL table
Xcom handling

This ticket is a follow-up to a conversation with @manmeetkaur .
Proposal
from datetime import datetime
from airflow import DAG
from astro import sql as aql

imdb_file = File("https://raw.githubusercontent.com/astronomer/astro-sdk/main/tests/data/imdb_v2.csv")
imdb_table = Table(conn_id="sqlite_default")
popular_animations_table = Table(name="top_five_animations")

with DAG(
    "calculate_popular_movies",
    schedule_interval=None,
    start_date=datetime(2000, 1, 1),
    catchup=False,
) as dag:

    load_file = LoadFileOperator(
        input_file=imdb_file,
        output_table=imdb_table
    )

    transform_table = TransformOperator(
        sql = """
            SELECT title, rating
            FROM {{input_table}}
            WHERE genre1='Animation'
            ORDER BY Rating desc
            LIMIT 5;
        """,
        input_table = imdb_table,
        output_table = popular_animations_table
    )

    load_file >> transform_table

Acceptance criteria

[ ] Check the feasibility
[ ] If straightforward:

[ ] expose this feature in the SDK
[ ] document it
[ ] create an example DAG
[ ] create follow up for the same change to be applied to other existing decorators

@tatiana I can take up this ticket if it is okay with you.

That's amazing, @manmeetkaur . Thank you very much. Please, go ahead and reach out if you have any questions!

@tatiana just one correction, as we discussed in our meeting, the "decorator" category operators including @dataframe, @transform, @run_raw_sql have special logic included to make them work. That could be de-prioritized and we can focus on the low-hanging fruit of the these operators load_file, append , drop_table , export_to_file , merge , transform_file , check_column , check_table , get_file_list. Thoughts?

Tested Code:
from typing import Callable
import os
from datetime import datetime
from airflow import DAG
from astro import sql as aql
from astro.files import File
from astro.constants import FileType
from astro.sql.table import Metadata, Table
from astro.sql import LoadFileOperator, AppendOperator, DropTableOperator, ExportToFileOperator, MergeOperator, TransformOperator, ColumnCheckOperator, SQLCheckOperator

imdb_file = File("https://raw.githubusercontent.com/astronomer/astro-sdk/main/tests/data/imdb_v2.csv")
imdb_table = Table(name="imdb_data", conn_id="snowflake")
# popular_animations_table = Table(name="top_five_animations")
target_table = Table(name="target_imdb_data", conn_id="snowflake")
final_table = Table(name="final_imdb_data", conn_id="snowflake")
out_file = File(path=os.path.join(os.getcwd(), 'out.csv'))

with DAG(
    "calculate_popular_movies",
    schedule_interval=None,
    start_date=datetime(2000, 1, 1),
    catchup=False,
) as dag:

    load_file = LoadFileOperator(
        input_file=imdb_file,
        output_table=imdb_table
    )

    append = AppendOperator(
        target_table = target_table,
        source_table = imdb_table,
        # columns = ["X", "TITLE", "RATING", "TOTALVOTES", "GENRE1", "GENRE2", "GENRE3", "METACRITIC", "BUDGET", "RUNTIME", "CVOTES10", "CVOTES09", "CVOTES08", "CVOTES07", "CVOTES06", "CVOTES05", "CVOTES04", "CVOTES03", "CVOTES02", "CVOTES01", "CVOTESMALE", "CVOTESFEMALE", "CVOTESU18", "CVOTESU18M", "CVOTESU18F", "CVOTES1829", "CVOTES1829M", "CVOTES1829F", "CVOTES3044", "CVOTES3044M", "CVOTES3044F", "CVOTES45A", "CVOTES45AM", "CVOTES45AF", "CVOTES1000", "CVOTESUS", "CVOTESNUS", "VOTESM", "VOTESF", "VOTESU18", "VOTESU18M", "VOTESU18F", "VOTES1829", "VOTES1829M", "VOTES1829F", "VOTES3044", "VOTES3044M", "VOTES3044F", "VOTES45A", "VOTES45AM", "VOTES45AF", "VOTESIMDB", "VOTES1000", "VOTESUS", "VOTESNUS", "DOMESTIC", "FOREIGN", "WORLDWIDE"]
    )

    ## this throws an error AttributeError: 'LoadFileOperator' object has no attribute 'conn_id' because the Table returned by LoadFileOperator has no conn_id attribute -
    ## shouldn't it auto-use the conn_id of the input Table object?
    # drop = DropTableOperator(
    #     table=load_file
    # )

    export_to_file = ExportToFileOperator(
        task_id = 'export_file',
        output_file=out_file,
        input_data=target_table,
        if_exists="replace"
    )

    merge = MergeOperator(
        target_table = target_table,
        source_table = imdb_table,
        target_conflict_columns=["X"],
        if_conflicts="ignore",
        columns = ["X", "TITLE", "RATING", "TOTALVOTES", "GENRE1", "GENRE2", "GENRE3", "METACRITIC", "BUDGET", "RUNTIME", "CVOTES10", "CVOTES09", "CVOTES08", "CVOTES07", "CVOTES06", "CVOTES05", "CVOTES04", "CVOTES03", "CVOTES02", "CVOTES01", "CVOTESMALE", "CVOTESFEMALE", "CVOTESU18", "CVOTESU18M", "CVOTESU18F", "CVOTES1829", "CVOTES1829M", "CVOTES1829F", "CVOTES3044", "CVOTES3044M", "CVOTES3044F", "CVOTES45A", "CVOTES45AM", "CVOTES45AF", "CVOTES1000", "CVOTESUS", "CVOTESNUS", "VOTESM", "VOTESF", "VOTESU18", "VOTESU18M", "VOTESU18F", "VOTES1829", "VOTES1829M", "VOTES1829F", "VOTES3044", "VOTES3044M", "VOTES3044F", "VOTES45A", "VOTES45AM", "VOTES45AF", "VOTESIMDB", "VOTES1000", "VOTESUS", "VOTESNUS", "DOMESTIC", "FOREIGN", "WORLDWIDE"]
    )

    transform = TransformOperator(
        sql='my_sql.sql',
        python_callable=lambda: ('my_sql.sql', {"input_table": target_table}),
        parameters={"input_table": target_table},
        op_kwargs={"output_table": final_table}
    )

    drop = DropTableOperator(
        table=imdb_table
    )

    column_check = ColumnCheckOperator(
        dataset=target_table,
        column_mapping={
            "x": {"null_check": {"geq_to": 0, "leq_to": 1}},
            "title": {
                "null_check": {
                    "equal_to": 0,
                },
            },
        }
    )

    table_check = SQLCheckOperator(
        dataset=final_table,
        checks={
            "row_count": {"check_statement": "count(*) > 10"}
        }
    )

    load_file >> append >> export_to_file >> merge >> drop >> transform >> column_check >> table_check

    aql.cleanup()


Feature request: keep only N latest versions of the package

It would be cool to have an option to keep only N latest versions of 'package-name' and deleting other versions.
It can be used in combination with date-based deletion https://github.com/actions/delete-package-versions/issues/4

Voted for this one : it would really help if we could keep only N latest versions of a package. Thanks!

Yes, this feature would be highly useful

👍🏼 Came here to ask for this :)

The Action does not make sense without this. Upvote!

similarly, i'd want say "last X versions and all versions less than 30 days old"

Until this is implemented here, I wrote an action which is able to delete everything apart from a configurable number of latest packages (ordered by date desc): https://github.com/SmartsquareGmbH/delete-old-packages

Excellent!

This feature is the first thing I thought about when I found out about this action. I was actually surprised to find out it couldn't do it. Definitely upvoting, but I'm not too hopeful given this project hasn't been updated for quite some time...

Yes, would like to setup package deletion rule like this:

Keep the N most recent versions, and
keep all versions created in the past Y months.

(and delete all other versions)

For now one workaround to limit the scope of deletion to the current version, is to use negative lookahead. For example, this config only deletes the packages tagged with the current branch, while only keeping the last 4.
- name: Purge older packages
  uses: actions/delete-package-versions@v2
  with:
    package-name: "${{ github.event.repository.name }}"
    # Ignore all tags not matching this branch name
    ignore-versions: ^(?!${{ github.event.release.tag_name }})$
    min-versions-to-keep: 4


No .well-known endpoint for OpenID Connect

It looks like this almost supports OpenID Connect (an id_token is provided with a valid Practitioner resource as a user), but it doesn't provide the .well-known/openid-configuration well-known endpoint to validate the id_token.  It is just rendering an html page there. Let me know if you think we are doing something wrong though.
https://inferno.healthit.gov/suites/test_sessions/5fb92232-ee6e-4cd1-942f-f3939839d66f#g10_certification-g10_smart_standalone_patient_app

This is a really nice improvement from v1, good job!

Thanks @arscan,
I am trying to figure out why this is happening. The .well-known/openid-configuration is available at {FhirBaseURL}/.well-known/openid-configuration
Looking at Inferno settings, I can see that FHIR Endpoint is defined as https://smart-launcher-staging.herokuapp.com/v/r4/sim/......./fhir but the openid config is expected at https://smart-launcher-staging.herokuapp.com/v/r4/sim/......./auth/fhir/.well-known/openid-configuration (note the extra auth segment). Do you have any idea how Inferno is building that URL?

It looks like the iss parameter in the decoded id_token has that extra auth segment.  Tests for SMART in Inferno are more like "steps", and you can see what gets passed between the steps by inspecting the output and input tabs.  In this case, you can see what the id_token gets decoded as in the '1.5.01 ID Token can be decoded' test and passed to later tests as an input:

This is consistent with what the sample app that you provide says (which is excellent too!):

Per the SMART spec:

3.0.7 Steps for using an ID token

Examine the ID token for its “issuer” property
Perform a GET {issuer}/.well-known/openid-configuration
Fetch the server’s JSON Web Key by following the “jwks_uri” property
Validate the token’s signature against the public key from step #3
Extract the fhirUser claim and treat it as the URL of a FHIR resource

So we don't use the {fhirBaseURL} but instead we use {iss} here, as required by the spec.  I don't think that the spec says anywhere that the iss must equal the fhir base url, but if it did we could add that check here which might have been a more straightforward way to figure out what was wrong.

Thanks Rob, this is a perfect explanation! I have that fixed, although I can't quite figure out how to test it with Inferno.

Closer, because now we can retrieve the well-known endpoint.  But that file (located at https://smart-launcher-staging.herokuapp.com/v/r4/sim/.../fhir/.well-known/openid-configuration) lists the 'issuer' as https://smart-launcher-staging.herokuapp.com/v/r4/fhir, but the id_token provides an iss value of https://smart-launcher-staging.herokuapp.com/v/r4/sim/.../fhir.  Those must match.
I think you need to update the issuer to include that sim/... in the case of standalone launches here:
https://github.com/smart-on-fhir/smart-launcher-v2/blob/f795eaf1c1e3f619bf510545e866e2956511eb01/backend/routes/fhir/.well-known/openid-configuration.ts#L15-L20
I also highlighted the comment above which helpfully points out that the issuer there must match the iss in the id_token, which is what our tests flag as an error.
You can see the error in this inferno session.  You can just click 'run tests' at the top right to rerun those tests.
There are also a few more fields in the well-known that it looks like you are supposed to fill out.

Let me know if any of those errors don't look right to you.

I think I got all those fixed, but now I'm getting an expired id token error. I definitely can't figure out how to use inferno to go through the auth flow and obtain new id_token.

Hmm, ok.  Clearly we need to improve the experience when just testing servers for SMART App Launch support, outside the g10 context.  We haven't focused much on that yet.
Regardless, those updates caused all our tests to pass against both our SMART App Launch v1 tests and SMART App Launch v2 tests. And it passed the Backend Services Authorization tests that we have as well.  👍

Thank you! Even though the launcher is basically a faking tool, it is nice to know that it is faking things properly :)


Move examples to pymbar repository

This is a good opportunity to consider whether we need ALL of the files in
this before we commit it.
Are there any inessential data output files we can omit?

So if there are non-essentially files, I think we should delete them via separate pull request to pymbar-examples.  Then I will copy the files into pymbar and file a new PR.

Deleting files before a move is better, because if they are deleted after,
they stay in the repository.
On Sun, Jan 11, 2015 at 12:28 PM, Kyle Beauchamp<EMAIL_ADDRESS>wrote:

So if there are non-essentially files, I think we should delete them via
separate pull request to pymbar-examples. Then I will copy the files into
pymbar and file a new PR.
—
Reply to this email directly or view it on GitHub
https://github.com/choderalab/pymbar/pull/157#issuecomment-69502555.

alchemical-free-energy/gromacs/output_11steps_skip_lambda should be deleted.  It's no longer used.
The alchemical-free-energyamber/data/ti00*/ti00*.out files together take up 30M.  I wonder if they should be zipped or something in the repository.  It's only about 200 ps of data (and only output every 10 ps) so we probably can't truncate it.
constant-force-optical-trap/original_data and /processed_data contain the second most data, but I don't know what can be eliminated there.

I think bzipping some of the outputs is a reasonable idea, given that we only need to check the reference output very infrequently.

It would probably best to do that before merging, so the full files + the bzipped files aren't in the repository.  Also, does Windows have an issue with bzipped files?

We can do zip files if we want, or tar.gz.  AFAIK, winrar supports bz2 (http://en.wikipedia.org/wiki/WinRAR)
I think we have two steps:

File pull requests to pymbar-examples deleting unused / obsolete files
File a pull request to pymbar-examples putting some (or all) of the output files in some form of tarballs.
I file a pull request to pymbar copying in the files.

I'm going to close this pull request for now as we apparently haven't decided which files we want to delete versus tarball versus include in plaintext.

I removed and compressed files to result in 32 M more space.


It should be possible to install from the full commit SHA

At the moment, pkg.pr.new publishes packages using the short version of the commit SHA, however it should be possible to retrieve it/install it using the full commit SHA:
@biomejs/wasm-web: npm i https://pkg.pr.new/biomejs/website/@biomejs/wasm-web@d7a4398

Run pnpm i https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@d7a4398868fd71842cc7db9cbf99aa01db07849b
Progress: resolved 0, reused 0, downloaded 1, added 0
 ERR_PNPM_FETCH_404  GET https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@d7a4398868fd71842cc7db9cbf99aa01db07849b: Not Found - 404

For more context, during the GitHub action workflow, I am not able to retrieve the short version of github.sha unless I use some other action that does the job. Maybe there's a global variable that I am not aware of?

Hey, yea makes sense, but I wonder if you can abbreviate the commit hash (sha.substring(0, 7)) and use that. would it solve your issue for now?

Yeah, that's a workaround, but I am not very good with CI scripts, or bash scripts, so I wouldn't know how to do that without losing another 1h 😓

Ok I'll find a way through this and I'll let you know!

just fixed this, will release soon!

That was fast! Thank you

🙌🙌🙌

just released 0.0.8!


Condense messages in case of package move (2)

Follow-up to https://github.com/larshp/abapGit/pull/3529
Mark remote files as processed in the status calculation to avoid additional messages.

I'd suggest covering with a UT. file status is one of the most complex pieces of code in AG afaik

It's the same UT I had added in https://github.com/larshp/abapGit/commit/ce8c4fa9e489919685ea7f37b4771cc071a16353. Makes it run a bit faster if large number of files change package assignment.

Taking it back. If an object is modified and assigned to a new package at the same time, then the existing logic must remain (without the clear statement).


cupyx.scipy.signal.upfirdn has different default for 'mode'

Description
In scipy, the mode argument to upfirdn is declared in the signature as mode="constant" i.e. if you want to get the default behaviour, you can either omit it or pass mode="constant" when calling. In cupyx, the signature is mode=None, and if you explicitly pass mode="constant" you get an exception (because cupyx doesn't support any non-default modes).
I'm writing a wrapper code that dispatches to either cupyx or scipy underneath (depending on what argument it is given) and it's annoying that I have to mangle the mode argument on the way through to conform to each library's expectation. It would be better if cupyx could follow the scipy signature.
To Reproduce
#!/usr/bin/env python3

import cupy as cp
import cupyx.scipy.signal
import numpy as np
import scipy.signal

scipy.signal.upfirdn(np.zeros(1), np.zeros(1), 3, 2, mode="constant")  # works, default behaviour
scipy.signal.upfirdn(np.zeros(1), np.zeros(1), 3, 2, mode=None)  # AttributeError: 'NoneType' object has no attribute 'lower'

cupyx.scipy.signal.upfirdn(cp.zeros(1), cp.zeros(1), 3, 2, mode="constant")  # NotImplementedError: mode = 'constant' and cval =0 not implemented
cupyx.scipy.signal.upfirdn(cp.zeros(1), cp.zeros(1), 3, 2, mode="constant")  # works, default behaviour

Installation
Source (pip install cupy)
Environment
OS                           : Linux-6.8.0-39-generic-x86_64-with-glibc2.39
Python Version               : 3.12.3
CuPy Version                 : 13.2.0
CuPy Platform                : NVIDIA CUDA
NumPy Version                : 1.26.4
SciPy Version                : 1.14.0
Cython Build Version         : 0.29.37
Cython Runtime Version       : None
CUDA Root                    : /usr/local/cuda
nvcc PATH                    : /usr/local/cuda/bin/nvcc
CUDA Build Version           : 12050
CUDA Driver Version          : 12050
CUDA Runtime Version         : 12050 (linked to CuPy) / 12050 (locally installed)
cuBLAS Version               : (available)
cuFFT Version                : 11203
cuRAND Version               : 10306
cuSOLVER Version             : (11, 6, 3)
cuSPARSE Version             : (available)
NVRTC Version                : (12, 5)
Thrust Version               : 200200
CUB Build Version            : 200200
Jitify Build Version         : <unknown>
cuDNN Build Version          : None
cuDNN Version                : None
NCCL Build Version           : None
NCCL Runtime Version         : None
cuTENSOR Version             : None
cuSPARSELt Build Version     : None
Device 0 Name                : NVIDIA GeForce RTX 4070 Laptop GPU
Device 0 Compute Capability  : 89
Device 0 PCI Bus ID          : 0000:01:00.0

Additional Information
No response

cc: @ev-br (in case you have thoughts)

cupyx's upfirdn was ported from cuSignal. non-default mode and cval were not implemented in cuSignal, so implementing them in cupy could be a nice enhancement probably.

While non-default modes might be nice, I'm not actually suggesting that. I'd just like it to be possible to select the default mode explicitly (rather than implicitly by omitting the kwarg) in a way that's compatible with scipy i.e. to have the following two statements be equivalent:
cupyx.scipy.signal.upfirdn(cp.zeros(1), cp.zeros(1), 3, 2)  # Implicit
cupyx.scipy.signal.upfirdn(cp.zeros(1), cp.zeros(1), 3, 2, mode="constant")  # Explicit

Would be a nice enhancement indeed. Still an enhancement because scipy's default, mode="constant" is not implemented as of today.

Perhaps I've misunderstood what cupyx's behaviour is then. If you don't specify a mode at all in cupyx, which scipy mode is that equivalent to?

Sorry, what I wrote above was just wrong. So the suggestion is basically to change https://github.com/cupy/cupy/blob/v13.0.0rc1/cupyx/scipy/signal/_upfirdn.py#L495 into
if mode not in (None, "constant") or cval != 0:
    ....

That is very reasonable indeed!
BTW, if you're dispatching to either scipy or cupyx.scipy in your code, you might be interested in that scipy is actually implementing this sort of delegation. At the moment, scipy.ndimage and parts of scipy.special delegate, scipy.signal is in the works (help is welcome and appreciated BTW).

Sorry, what I wrote above was just wrong. So the suggestion is basically to change https://github.com/cupy/cupy/blob/v13.0.0rc1/cupyx/scipy/signal/_upfirdn.py#L495 into
if mode not in (None, "constant") or cval != 0:
    ....

Yes, exactly. Or possibly:
def upfirdn(
    h,
    x,
    up=1,
    down=1,
    axis=-1,
    mode="constant",
    cval=0
):
    ....
    if mode != "constant" or cval != 0:
        ...

That would break backwards compatibility (for any code that currently passes mode=None explicitly) but give behaviour more consistent with scipy (which raises an exception on mode=None). I don't know what the relative priorities of these goals is. If you let me know which approach you prefer, I'm happy to make a PR.

I'd go with allowing both None and "constant", just to avoid thinking about backwards compat. OTOH a more strict version is probably better going forward, and upfurdn support is very new, so maybe backwards compat is not a big issue in practice.
The pragmatic thing to do is to go with the version you prefer, send a PR, and let maintainers decide in the review, I'd say.