request: ability to see the help for subcommands

When the command is known to have subcommands, such as gobject, show the help for the subcommand as well:
help gobject

help gobject submit

This requires signaling which commands have subcommands, and then parsing the params array and getting the first element when such a command is used.

Added in #16


agda: install literate files

Motivation for this change
New agda builder did not copy over literate agda files (https://agda.readthedocs.io/en/v2.6.1/tools/literate-programming.html). None of the libraries seem to use these which is why we didn't see this issue but I don't see a reason not to support them.
Things done

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

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

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

cc @turion
@GrahamcOfBorg test agda

Would it be better to manually list the different extensions for literate agda files (.lagda.org, .lagda.md, and .lagda.rst) rather than using .lagda.*?

Would it be better to manually list the different extensions for literate agda files (.lagda.org, .lagda.md, and .lagda.rst) rather than using .lagda.*?

How about having an option for a list of extension to search for, and append that to a conservative whitelist? As example value, you can then give .lagda.*.

Would it be better to manually list the different extensions for literate agda files (.lagda.org, .lagda.md, and .lagda.rst) rather than using .lagda.*?

How about having an option for a list of extension to search for, and append that to a conservative whitelist? As example value, you can then give .lagda.*.

There are already quite a few options and I think the list I have put in now should cover everything for now

It would be very easy to add, I am more worried about making the documentation not confusing

It would be very easy to add, I am more worried about making the documentation not confusing

I suppose a line could be put in saying these can be overriden by an extensions attribute. lmk if you think this would be useful

There are already quite a few options and I think the list I have put in now should cover everything for now

It's just a hunch that it might be useful to leave this configurable. Sometimes a new markdown format pops up, and people start using it before these settings are adjusted. For example in Haskell it's annoying that literate programming in *.md is so poorly supported.

I have added the extraExtensions tag

Thanks for the catches

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

not sure if this is a regression:
builder for '/nix/store/g959q8d44jds9vz6jmxvknvqasbspmb5-agda-prelude-compat-2.6.0.drv' failed with exit code 1; last 10 log lines:
    /build/source/src/Builtin/Reflection.agda:113,21-24
    /build/source/src/Builtin/Reflection.agda:118,16-23
    /build/source/src/Builtin/Reflection.agda:124,17-20
    /build/source/src/Builtin/Reflection.agda:128,16-23
    /build/source/src/Builtin/Reflection.agda:224,44-45
    /build/source/src/Builtin/Reflection.agda:227,44-45
    /build/source/src/Builtin/Reflection.agda:236,44-45
    /build/source/src/Builtin/Reflection.agda:239,44-45
  when scope checking the declaration
    open import Builtin.Reflection
builder for '/nix/store/61z839518w39acsyplahb0ikm3qjhsvy-iowa-stdlib-1.5.0.drv' failed with exit code 2; last 10 log lines:
  agda  -v 0 negation.agda
  agda  -v 0 neq.agda
  agda  -v 0 nat-thms.agda
  agda  -v 0 braun-tree.agda
  /build/source/braun-tree.agda:34,1-50,75
  Termination checking failed for the following functions:
    bt-replace-min
  Problematic calls:
    bt-replace-min A _<A_ a
    (bt-node a' (bt-node x l r u) bt-empty (injmake: *** [Makefile:35: braun-tree.agdai] Error 1
cannot build derivation '/nix/store/7kikqifn9n2x7a699irg9mzjcw07c5f3-env.drv': 2 dependencies couldn't be built
[4 built (2 failed), 166 copied (4111.6 MiB), 321.3 MiB DL]
error: build of '/nix/store/7kikqifn9n2x7a699irg9mzjcw07c5f3-env.drv' failed
https://github.com/NixOS/nixpkgs/pull/89245
2 packages failed to build:
agdaPackages.agda-prelude agdaPackages.iowa-stdlib

2 packages built:
agdaPackages.cubical agdaPackages.standard-library

@Lassulus those two packages were already broken as they have not been updated to work with (/ do not have a release for)  Agda-2.6.1

Just for the record, this broke the nixpkgs manual, fix is in #90689.


What's the deal with cookies?

Getting an error from a page for not having cookies enabled.  I don't see any mention of cookies in this repository.

Cookies are supported. Without knowing the page you're trying to work with there is no context for debugging the problem. Sounds like a site issue and not something with Puppeteer. Can you please provide a site where the problem reproduces for you?

Looks like this was a red herring.


Fix error if timezone with name is used in parser

What this PR does / why we need it:
Fixes a TypeError: nil can't be coerced into Integer when a timezone name is used in a parser configuration.

Hmm... Could you show the actual example?
timezone Europe/Zurich has this problem?

Every zone name has this problem (see https://makandracards.com/makandra/67330-why-you-can-t-use-timezone-codes-like-pst-or-bst-for-time-objects).
With daylight saving time it is needed to use a zone name and the validation on line 155 accepts it whilst the parsing implementation on line 206 is not able to handle it.
And yes it is this config:
[...]
<parse>
  [...]
  timezone Europe/Zurich
</parse>
[...]

Thanks. I will check it.

Your patch has performance penalty and it is not good for existing users.
So need to rewrite the patch like below:
when timezone
  offset = Fluent::Timezone.utc_offset(timezone)
  if offset.respond_to?(:call)
    ->(t) { Time.now.localtime.utc_offset + offset.call(t) }
  else
    ->(t) { Time.now.localtime.utc_offset + offset }
  end

when strptime
  if offset_diff.respond_to?(:call)
    ->(v){ t = strptime.exec(v);  Fluent::EventTime.new(t.to_i + offset_diff.call(t), t.nsec) }
  else
    ->(v){ t = strptime.exec(v);  Fluent::EventTime.new(t.to_i + offset_diff, t.nsec) }
  end
# same as format

@ganmacs Could you also check this patch? I want to release v1.5.1 with this patch.

Thanks!


bug: DaisyUI hangs Docker builds for 64 bit platforms

What version of daisyUI are you using?
4.10.5
Which browsers are you seeing the problem on?
All browsers
Reproduction URL
not a UI issue
Describe your issue
I have a server-rendered project that uses DaisyUI. It's being deployed on Google Cloud Run, which requires docker containers to be built for 64bit platforms.
When I run the build command for Docker (see below), the build hangs at the npm run build command perpetually. If I remove dailyui from the plugins list in tailwind.config.js, then the build runs just fine. I can also keep Daisy, but then I have to drop the platform spec from the docker build command, which makes the image undeployable in GCP.
Here's my Dockerfile:
# Stage 1: Build the project
FROM amd64/node:buster AS builder

# Set the working directory
WORKDIR /app

# Copy package.json and package-lock.json (or npm-shrinkwrap.json) for npm install
COPY package*.json ./
COPY elm-tooling.json ./

# Install dependencies
RUN npm cache clean --force
RUN npm install

# Copy the rest of your application's source code from your host to your image filesystem.
COPY . .

# Build the project
RUN npm run build

# Stage 2: Setup the runtime environment
FROM amd64/node:buster-slim

# Set the working directory
WORKDIR /app

# Copy the build output from the previous stage
COPY --from=builder /app/dist dist
COPY --from=builder /app/dist-server dist-server

# Install production dependencies only
# This is helpful if your dist-server relies on node_modules like koa and koa-static
COPY --from=builder /app/package*.json ./
COPY --from=builder /app/elm-tooling.json ./
RUN npm install

# Expose the port the app runs on
# EXPOSE 8080
RUN echo $PORT
EXPOSE $PORT

# Run the server
CMD ["node", "dist-server/server.mjs"]

Here's the build command:
docker build  -t $IMAGE_TAG --platform linux/amd64 .

When DaisyUI is included in the Tailwind config, the build step looks like this:
#15 [builder 8/8] RUN npm run build
#15 0.691
#15 0.691 > build
#15 0.691 > npm run generate-all && elm-pages build
#15 0.691
#15 1.296
#15 1.296 > generate-all
#15 1.296 > npm run generate:tailwind
#15 1.296
#15 1.902
#15 1.902 > generate:tailwind
#15 1.902 > postcss tailwind.css -o src/tailwind-compiled.css
#15 1.902
#15 2.715
#15 2.715 🌼   daisyUI 4.10.5

It's stuck there perpetually. When it's not included in the config, it builds (although none of the daisy classes or themes are included). If I remove the --platform linux/amd64 but keep the DaisyUI, it also builds fine, but is undeployable in GCP.

It's probably an issue from one of the build tools or their dependencies. And since it's not giving an error, it's not easy to guess which one is the problem.
Unfortunately there's nothing I can fix about it on our side.
Can you try with the latest version of Node and the latest version of all NPM dependencies?

Here are my dependencies:
  "devDependencies": {
    "@fullhuman/postcss-purgecss": "^6.0.0",
    "autoprefixer": "^10.4.19",
    "concurrently": "^8.2.2",
    "daisyui": "^4.10.5",
    "elm-codegen": "^0.5.3",
    "elm-optimize-level-2": "^0.3.5",
    "elm-pages": "^3.0.14",
    "elm-review": "^2.11.1",
    "elm-tooling": "^1.15.1",
    "lamdera": "^0.19.1-1.2.1-1",
    "postcss": "^8.4.38",
    "postcss-cli": "^11.0.0",
    "tailwindcss": "^3.4.3",
    "vite": "^5.2.10",
    "vite-plugin-webfont-dl": "^3.9.3"
  },

Here is a simplified dockerfile that has the same issue:
# Stage 1: Build the project
FROM node:latest AS builder

# Set the working directory
WORKDIR /app

# Copy package.json and package-lock.json (or npm-shrinkwrap.json) for npm install
COPY package*.json ./
COPY elm-tooling.json ./

# Install dependencies
RUN npm cache clean --force
RUN npm install

# Copy the rest of your application's source code from your host to your image filesystem.
COPY . .

# Build the project
RUN npm run build

CMD ["echo" "Hello there!"]

It still hangs.
I realize this is a difficult bug to solve. Could it be in the Tailwind plugin code rather than DaisyUI?

You don't need @fullhuman/postcss-purgecss anymore (it was only needed for older Tailwind versions) Here's what's needed for PostCSS setup:
https://tailwindcss.com/docs/installation/using-postcss
Also you can try using TailwindCSS CLI instead of postcss and postcss-cli:
https://tailwindcss.com/docs/installation

I'll try that setup. I use a framework called elm-pages which runs with Vite, and haven't had luck with tailwind cli so far which is why I used postcss this far.
At this point I removed Daisy UI from my project and refactored it out so the deploy can proceed, but if I have time this weekend I'll try to work it back in.

I'm going to close this issue because the problem can't be from daisyUI. it's probably one of build tools.
Feel free to continue the conversation and let me know if you have any questions.

I have a similar issue building a docker image for my Rails app on macOS. I'm running docker build --platform="linux/amd64" to build docker image locally.
These are the logs without DaisyUI in my tailwind config, which takes about 7.2s to precompile assets:

And this is what I see when I include DaisyUI in my tailwind config:

It sits there forever, and I couldn't produce any additional logs. However, when I run the precompile command outside of docker, it takes just a couple of seconds to finish with DaisyUI. Running on Node v20 with the following dependencies:
{
  "dependencies": {
    "daisyui": "^4.4.4",
    "logrocket": "^8.1.0",
    "stimulus-autocomplete": "^3.1.0",
    "tailwindcss": "^3.3.5",
    "@tailwindcss/forms": "^0.5.7",
    "@tailwindcss/line-clamp": "^0.4.4"
  },
  "engines": {
    "node": "^20.x"
  },
  "devDependencies": {
    "prettier-plugin-erb": "^0.4.0"
  }
}

@AndreyBarkov can you share the setup pipeline for tour CSS file? How are you generating the CSS? Is it Tailwind CLI?

Just started experiencing this as well, going to probably end up switching to another component library but would love to figure out what's going on. Anyone on this thread resolve the issue?
Utilzing the tailwind CLI via rails assets compilation. I've tried modifying my tailwind.config.js to comment out everything but the require('daisyui') line but it always hangs at the same place. It looks like it's somewhere in these lines https://github.com/saadeghi/daisyui/blob/v4.12.10/src/index.js#L31-L77
  "devDependencies": {
    "daisyui": "^4.11.1",
    "tailwindcss": "^3.4.10"
  }
}

Here's the simplest possible setup I could do to trigger the build hanging, it's most likely ARM specific when building for linux/amd64, removing the platform option builds just fine. Only the files below are in this directory so there's nothing for daisyui to actually do besides being required by tailwind.
.dockerignore
node_modules

Dockerfile
FROM node:slim AS builder
WORKDIR /app

COPY package*.json ./

RUN npm cache clean --force
RUN npm install

COPY . .

RUN npx tailwindcss

CMD ["ls", "-lha"]

package.json
{
  "devDependencies": {
    "daisyui": "^4.12.10",
    "tailwindcss": "^3.4.10"
  }
}

tailwind.config.js
module.exports = {
  plugins: [
    require('daisyui')
  ],
}

docker build --platform linux/amd64 .

Figured it out. It hangs on >= node-22. Works fine on node 18 and 20.
FROM node:20-slim AS builder
WORKDIR /app

COPY package*.json ./

RUN npm cache clean --force
RUN npm install

COPY . .

RUN npx tailwindcss

CMD ["ls", "-lha"]

I have the same issue, and I've confirmed that commenting out the require('daisyui') plugin makes the issue go away, so the issue does seem to stem from something within the daisyui plugin.

I'm experiencing the same error. Does anyone have a workaround in mind?

Also running into this! The logs and examples others have shown mirror exactly what I'm seeing. My exact example is running tailwindcss w/ daisyui as part of precompiling assets for a rails app.

Try changing or upgrading your build tool. Try updating the dependencies related to CSS process. Try changing Node version.
daisyUI is a plugin for Tailwind CSS. It adds CSS class names to Tailwind CSS. If your setup can not handle processing the CSS, it's w problem from the build tool and there's nothing we can fix on daisyUI side.

I can confirm this issue, specifically when building a docker image for linux/amd64 on macOS 15.1.1 (M1 Mac). Notably, the build doesn't hang in other environments I've tested: either on a native linux/amd64 machine (Fedora 41) or when using Lima to run a QEMU linux/amd64 VM (using this config) with Lima on macOS ARM.

I'm also facing the same issue. It happes when i add daisyUI, everything else was working fine

I understand that you're experiencing the issue WHEN you add daisyUI. But daisyUI is not the issue. Your build tool can not build the new CSS for whatever reason. There's nothing we can help about here.
Try upgrading or changing the build tool.


feat(@ngtools/webpack): allow ts to be transformed before loading

This allows defining a transformation function that can be run on Typescript sources before they're loaded into the compilation.
Our use case is that we output multiple application bundles, which involves some preprocess flags depending on the build target. Previously we could not have used preprocess flags in constructor vars, since the metadata extraction happens before the normal TypeScript loader chain is executed (where we had a loader to take care of preprocessing).

sorry, realized this is the wrong branch


feat(i18n): add English translation

Add en-GB.json and en-US.json for translation
Update README.md
Update index.js for translation

Notice that placeholder texts such as 搜索昵称、邮箱、网址、IP、评论正文、文章地址 that does not support i18n are not translated.

Note that placeholder texts such as 搜索昵称、邮箱、网址、IP、评论正文、文章地址 that do not support i18n are not translated.

Will support in next version.
Thank you for the translation!


Fix incorrect help documentation of XCTestMain

The option --list-test is incorrect. The correct option is --list-tests.
This is the same as https://github.com/apple/swift-corelibs-foundation/pull/5044.

@swift-ci test

@swift-ci please test

@swift-ci test Linux

@swift-ci please test

@swift-ci test

What is the current status of this pull request?

This PR can be merged once the holiday lockout ends.

@swift-ci test


Make JSX example more readable

Just a little cleanup in the README example, for the jsx section :

set markdown highlight to jsx instead of javascript
use arrow functions
use imports

Coverage remained the same at 90.66% when pulling 6731e346670dec2c41c6d57c5d3832ca6300dca3 on dawee:master into eddad02b669cfe5e996f4a7a1f9e6dedb60fd174 on furqanZafar:master.

Coverage remained the same at 90.66% when pulling df1f1d6225d4873bd4c1d84761bfd7468a042c1e on dawee:master into eddad02b669cfe5e996f4a7a1f9e6dedb60fd174 on furqanZafar:master.

Thanks 👍


Issue with PPM Decoder Code: BN Layer in the code doesn't work with 1x1 resolution input.

ValueError: Expected more than 1 value per channel when training, got input size torch.Size([1, 512, 1, 1])
I tried to use the code of your PPM Decoder without DeepSup with a Resnet50 encoder...It breaks at
pool_scale(conv5)
Where one of the scales leads to 1x1 map, followed by a BN.
This is resolved by making the net.eval() call, but what to do during training?

I have this problem as well. Did you manage to resolve it?


SDE version of Petri Semantics

It would be awesome to have an SDE model of PetriNets with the interface
pn = Petri.Model(...)
p, cb = SDEProblem(pn, u0, params, tspan)
solve(p, callback=cb)

https://github.com/epirecipes/sir-julia/blob/master/markdown/sde_stochasticdiffeq/sde_stochasticdiffeq.md
basing the SDE implementation on this page


no_prefixes: expand defaults

Cover more cases by default like

MV_... for instance variables
C_... for constants
ST_... for statics

Switch to upper-case to align with other rule definitions.

thanks


generate.py on A100 using OpenLLaMA weights does not work well out of the box

Feel free to WONTFIX this if it's a known problem with OpenLLAMA. Following the official instructions using the OpenLLaMa weights I get this on inference:
$ pp python generate.py --prompt "Hello, my name is"
Loading model ...
Time to load model: 26.91 seconds.
Global seed set to 1234
Hello, my name is and I'm writing you today to learn more about the 1996 FORD F-250. I'm in the area and I would like to get back on the road. Please contact me with more information on getting
Time for inference 1: 3.29 sec total, 15.20 tokens/sec
Memory used: 13.54 GB

PyTorch build is from source at 719584600bbe91cfed7121e3be1fa037112c74f3

Hi Edward!
From your description, I assume you are referring to the fact that the generation does not include the actual name: "My name is ??? and I'm...".
I get the same behaviour:
$ python generate.py
Loading model ...
Time to load model: 18.82 seconds.
Global seed set to 1234
Hello, my name is and I'm writing you today to learn more about the 1996 FORD RANGER XLT SUPERCREW 4X4 listed for $3,500.00. I live in the area and
Time for inference 1: 5.68 sec total, 8.80 tokens/sec
Memory used: 13.54 GB

I think it's an issue with the weights. For instance, here are some other prompts that are completed as you'd expect:
$ python generate.py --prompt "Hello, my name is Jack"
Loading model ...
Time to load model: 17.86 seconds.
Global seed set to 1234
Hello, my name is Jack Schiffman and I am a third-year student at the New College of Florida. I am currently a student of Dr. Sarah Sussman and Dr. Justin Sapp, but I was previously a student of Dr. Jane Gerhard.
Time for inference 1: 5.69 sec total, 8.79 tokens/sec
Memory used: 13.54 GB

$ python generate.py --prompt "The list of all alphabet letters is: a, b, c, d, e, f, g"
Loading model ...
Time to load model: 17.23 seconds.
Global seed set to 1234
The list of all alphabet letters is: a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z.
This alphabet letter is used to write the word "
Time for inference 1: 5.72 sec total, 8.74 tokens/sec
Memory used: 13.55 GB

Sounds good! It was just funny that the suggested test prompt gave such bad results haha, usually at least the hello world is cherry picked :)

We chose it back when Meta's LLaMA was the only llama, looks like we should change it though.


getRecords indexed array from 1

Bug Report

Information
Description

Version
9.2

PHP version
7.3

OS Platform
Linux

Summary
different array indexes
Standalone code, or other way to reproduce the problem
        $csv = Reader::createFromPath($filePath, 'r');
        $csv->setHeaderOffset(0);
        $records = $csv->getRecords(); // indexed from #1

        $record = $csv->fetchOne(1); // indexed from 0, return record #2

Expected result
getRecords indexed array from 0
Actual result
getRecords indexed array from 1

@tebaly thanks for using the library.
Please refers to the documentation website as this is expected behaviour.
<?php
$csv->setHeaderOffset(0);
$records = $csv->getRecords(); // indexed from #1

Since the first record is used as the CSV header it is removed from iteration hence iteration starts at #1 .
<?php
$record = $csv->fetchOne(1); // indexed from 0, return record #2

The ResultSet does not re-order the CSV so using fetchOne(1) means your are fetching the nth_records starting from the first row (ie: you start at 1 and search for the nth_record from 1 = you are getting the second index.. as expected.
Remember your are using a StreamIterator that's why we are not re-indexing everytime the index to preserve index loss between objects.

Link works. But where is it written about? I have not found any references or descriptions.
//by setting the header offset we index all records
//with the header record and remove it from the iteration

There is not written about the indexes. After all, you can remove headers and rewrite indises starting from 0, But you do not do it
The problem is different
It is expected that you did not change the indexes again. But you do it
        $csv = Reader::createFromPath($filePath, 'r');
        $csv->setHeaderOffset(0); // REMOVE HEADERS, Index [0]
        $record = $csv->fetchOne(1); // Fetch FIRST record, expected

After setHeaderOffset(0) expected same index behavior.
I thought.

@tebaly you Can found the info for how fetchOne works using this link https://csv.thephpleague.com/9.0/reader/resultset/#selecting-a-specific-record


fix: Do not export functions in getNonDefaultConfiguration

This is necessary for interstitials to be able to pass the configuration to admanger and make it secure.


Update dependencies, make TypeScript a peer dependency

Includes changes:

ts-jest at version 24 supplies a preset for Jest 24s new preset option, documentation
Updated the testRegex configuration to only pay attention to *.ts files for tests, it was running both js and ts files before.
Made typescript >= 2.2.2 or >= 3.4.1 (latest) a peer dependency which should close out #112 and make the plugin a little more flexible for folks on newer versions

The builds only fail on node 9 as a newer package depends on LTS releases only, should we update the travis pipelines to test only LTS as well? Especially considering GCP and AWS support only LTS releases AFAIK.

@JackCuthbert : The build failed for node 9, do you have access to travis already? Can you please make it green again.

@JackCuthbert : Is there an alternative to this new package that works for more node versions? Node 9 is recent enough and people might want to use that. Let us see if we can support that :)

Is there an alternative to this new package that works for more node versions? Node 9 is recent enough and people might want to use that. Let us see if we can support that :)

@divyenduz, it looks like the package requiring an LTS node<EMAIL_ADDRESS>is required by Jest 24 (via jest-haste-map) which is not used in the plugin itself. To resolve this we'd have to use Jest < 24.
I'd personally prefer to keep things up to date and add node 10 to the list of tests replacing node 9. What do you think?

Sounds great, let us circle back on this if people want node 9 support, merging this one for now.

:tada: This PR is included in version 1.1.6 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


corrected the solution to the problem

adding the optimal solution to the problem, solving the question in CPP.

@shubham7668 kindly review my PR.

1st rule violated
(https://github.com/shubham7668/hacktober#readme)
Kindly make a pr according to rules


SSL_shutdown() might incorrectly return EAGAIN on FreeBSD using KTLS resulting in data corruption

SSL_shutdown() might incorrectly return EAGAIN on FreeBSD using KTLS.
Data corruption with large images and mp3 may also occur.
SSL_shutdown() should not return SSL_ERROR_SYSCALL with errno EAGAIN.
SSL_shutdown() should return SSL_ERROR_WANT_READ or SSL_ERROR_WANT_WRITE
if unable to read or write, respectively.
Note: SSL_shutdown() works as expected without KTLS.
Reported on machine:
FreeBSD 14
OpenSSL 3.0.12  (system provided)
network device: igb0 and igb1
ktls_ocf.ko is compiled into kernel
sysctl.conf
  # KLTS
  kern.ipc.tls.enable=1
  kern.ipc.mb_use_ext_pgs=1

Application: lighttpd web server (64-bit)
(affects all versions of lighttpd since lighttpd 1.4.68, which first enabled KTLS)
Reporter noted:
Tested client is local Firefox ESR 115.8.0, lynx, and with my phone.
Even if lighttpd is patched to retry if SSL_shutdown() returns EAGAIN,
larger files (images and mp3) served by lighttpd are still being corrupted.
On issue reporter's machine with FreeBSD 14 and OpenSSL 3.0.12,
the issue reliably occurs, and has never worked.  (An older version of
FreeBSD or OpenSSL was not available for comparison.)
lighttpd has supported OpenSSL with KTLS on FreeBSD and Linux since
lighttpd 1.4.68 (released Jan 2023).  There have been no other reports to
lighttpd developers of this issue on FreeBSD in the past year.
I was not able to reproduce issue in a FreeBSD 14 virtual machine,
but have asked the original reporter to subscribe here to help answer
questions.
What steps might be taken to troubleshoot this further?
On issue reporter's machine:
> sysctl kern.ipc.tls.stats
kern.ipc.tls.stats.ocf.retries: 0
kern.ipc.tls.stats.ocf.separate_output: 1039
kern.ipc.tls.stats.ocf.inplace: 185
kern.ipc.tls.stats.ocf.tls13_chacha20_encrypts: 0
kern.ipc.tls.stats.ocf.tls13_chacha20_decrypts: 0
kern.ipc.tls.stats.ocf.tls13_gcm_recrypts: 0
kern.ipc.tls.stats.ocf.tls13_gcm_encrypts: 1224
kern.ipc.tls.stats.ocf.tls13_gcm_decrypts: 62
kern.ipc.tls.stats.ocf.tls12_chacha20_encrypts: 0
kern.ipc.tls.stats.ocf.tls12_chacha20_decrypts: 0
kern.ipc.tls.stats.ocf.tls12_gcm_recrypts: 0
kern.ipc.tls.stats.ocf.tls12_gcm_encrypts: 0
kern.ipc.tls.stats.ocf.tls12_gcm_decrypts: 0
kern.ipc.tls.stats.ocf.tls11_cbc_encrypts: 0
kern.ipc.tls.stats.ocf.tls11_cbc_decrypts: 0
kern.ipc.tls.stats.ocf.tls10_cbc_encrypts: 0
kern.ipc.tls.stats.destroy_task: 0
kern.ipc.tls.stats.ifnet_disable_ok: 0
kern.ipc.tls.stats.ifnet_disable_failed: 0
kern.ipc.tls.stats.switch_failed: 0
kern.ipc.tls.stats.switch_to_sw: 0
kern.ipc.tls.stats.switch_to_ifnet: 0
kern.ipc.tls.stats.failed_crypto: 0
kern.ipc.tls.stats.corrupted_records: 0
kern.ipc.tls.stats.active: 0
kern.ipc.tls.stats.enable_calls: 52
kern.ipc.tls.stats.offload_total: 52
kern.ipc.tls.stats.sw_rx_inqueue: 0
kern.ipc.tls.stats.sw_tx_inqueue: 0
kern.ipc.tls.stats.sw_tx_pending: 0
kern.ipc.tls.stats.threads: 32

corrupted image example:

To rule out potential relation to #21202, reporter tested without SSL_MODE_ENABLE_PARTIAL_WRITE and without SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER.  This issue still occurs without those flags being specified in SSL_CTX.

I have tested it with openssl 3.0.13 without patches. FreeBSD-14.0-p5 with KTLS enabled works fine with it.
The issue appears to have been fixed.

@Pauli-CoE built openssl 3.0.12 from openssl source and that worked, too, so @Pauli-CoE suggested looking at the patches in the FreeBSD openssl package.
@Sp1l there may be an issue with the KTLS patch https://cgit.freebsd.org/ports/tree/security/openssl/files/extra-patch-ktls

@Sp1l there may be an issue with the KTLS patch https://cgit.freebsd.org/ports/tree/security/openssl/files/extra-patch-ktls where downloads might get corrupted and SSL_shutdown() might incorrectly return EAGAIN on FreeBSD using KTLS.


Error - missing certificate_base64 in .json file while uploading JSON to playstore

I generated a .json file using externallyhosted.py with the following command:
python3 externallyhosted.py --apk="myApk.apk" --externallyHostedUrl="https://myserver.com/myApk.apk" > myJson.json

The .json file was generated successfully. However, when I attempted to upload the same .json file to the Play Store, I encountered the following error:

"Your Externally-hosted APK Definition file did not parse correctly. The error message was: Field certificate_base64 missing."

Is the "certificate_base64" field available in your myJson.json file and does it have any content?

It's not. The JSON file is generated without "certificate_base64" field.

Is the "certificate_base64" field available in your myJson.json file and does it have any content?

https://github.com/google/play-work/issues/39#issuecomment-2196246638

In the newer versions of build tools, Gradle no longer uses V1 app signing by default, which means it doesn't generate an .RSA file in the META-INF directory. According to the script, if no .RSA file is present, the "certificate_base64" will not be generated.
Solutions
Option 1: Enable V1 Signing in Your Release Configuration
To ensure the .RSA file is generated, you can enable V1 signing in your release signing configuration by adding the following:
signingConfigs {
    release {
        //existing config

        v1SigningEnabled true
        v2SigningEnabled true
    }
}

Option 2: Manually Generate and Add Base64 Certificate
Alternatively, you can generate a .pem file from your .jks/.keystore, convert it to base64 manually, and copy it into your generated JSON file before uploading to the Play Store:

Run command:

keytool -exportcert -alias MY_ALIAS -keystore signingkey.jks -storepass MYPASSWORD -rfc -file cert.pem

Now run:

openssl base64 -in cert.pem -out cert_base64_nowrap.txt -A

Copy the content of cert_base64_nowrap.txt and manually add it to your JSON file:

   "certificate_base64": [
     "yourbase64signaturegoeshere=="
   ],

Ensure your JSON file is properly formatted and try uploading to the Play Store again.


stylint doesn't do anything

I've got this linter installed. It doesn't seem to do anything at all. I can feed my .styl file the weirdest garbage and it doesn't throw any sort of error or warnings.

Have you installed linter-stylint? Linter on its own doesn't lint anything it just provides an interface for other linters.
If you have linter-stylint installed you might want to post your issue there.

Yes I have it installed. Alright.


Update autorest.go and autorest.core version to unblock the generation on some new swaggers

Update autorest.go to v2.1.153 to avoid some unexpect NPE when namespace is not set or not detected.
Update autorest.core to v2 instead of previous to catch the latest swagger definitions

Can one of the admins verify this patch?


TS-4984: Memory leaks in test_sslheaders

FreeBSD build successful! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/1052/ for details.

Linux build successful! See https://ci.trafficserver.apache.org/job/Github-Linux/944/ for details.


Implement 'peer' sync mode

Change summary:

Implement 'peer' sync mode

Add SYNC_MODE='peer' option
Add SNAPSHOT_CHUNK_REQUEST and SNAPSHOT_CHUNK_RESPONSE message types
Add STATE_LOADING / STATE_SYNCING / READY_TO_START node states

Replace getNumBlockFiles() with getLatestBlockInfo()
Set default SYNC_MODE='fast'

Related issues:

https://github.com/ainblockchain/ain-blockchain/issues/713

Thanks for the comments and questions.
They were all addressed. PTAL @minsulee2 @liayoo

Comments addressed, PTAL~ @liayoo @minsulee2

Thanks for the review! Now merging..


Add InfluxDB::Client::ping

The ping endpoint is useful to check whether the influxdb is alive or not. I'd like to use this method from the sensu-community-plugins project.
Btw, I had to specify "rspec", "~> 3.0.0" in the influxdb.gemspec to run the tests. Otherwise I get
% bundle exec rake spec                                                                                ✹ ✭
Your Gemfile lists the gem webmock (>= 0) more than once.
You should probably keep only one of them.
While it's not a problem now, it could cause errors if you change the version of just one of them later.
rake aborted!
TypeError: no implicit conversion of Rake::FileList into String
/home/maoe/src/influxdb-ruby/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.1.1/lib/rspec/core/rake_task.rb:117:in `exist?'
/home/maoe/src/influxdb-ruby/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.1.1/lib/rspec/core/rake_task.rb:117:in `file_inclusion_specification'
/home/maoe/src/influxdb-ruby/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.1.1/lib/rspec/core/rake_task.rb:151:in `spec_command'
/home/maoe/src/influxdb-ruby/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.1.1/lib/rspec/core/rake_task.rb:85:in `run_task'
/home/maoe/src/influxdb-ruby/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.1.1/lib/rspec/core/rake_task.rb:109:in `block (2 levels) in define'
/home/maoe/src/influxdb-ruby/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.1.1/lib/rspec/core/rake_task.rb:107:in `block in define'
Tasks: TOP => spec
(See full trace by running task with --trace)

Thanks, @maoe!


how to install mediapipe_model_maker<IP_ADDRESS> in windows?

OS Platform and Distribution
windows10
Compiler version
No response
Programming Language and version
python3.9.13
Installed using virtualenv? pip? Conda?(if python)
virtualenv
MediaPipe version
No response
Bazel version
No response
XCode and Tulsi versions (if iOS)
No response
Android SDK and NDK versions (if android)
No response
Android AAR (if android)
None
OpenCV version (if running on desktop)
No response
Describe the problem
I run "pip install mediapipe_model_maker" , but I can only install version <IP_ADDRESS>. I was trying to install mediapipe_model_maker by "pip install mediapipe_model_maker-<IP_ADDRESS>-py3-none-any.whl", but also failed
Complete Logs
I run "pip install mediapipe_model_maker" , but I can only install version <IP_ADDRESS>. I was trying to install mediapipe_model_maker by "pip install mediapipe_model_maker-<IP_ADDRESS>-py3-none-any.whl", but also failed. The error:
ERROR: Cannot install mediapipe-model-maker and mediapipe-model-maker==<IP_ADDRESS> because these package versions have conflicting dependencies.

The conflict is caused by:
mediapipe-model-maker <IP_ADDRESS> depends on tensorflow-text
tf-models-official 2.15.0 depends on tensorflow-text~=2.15.0
mediapipe-model-maker <IP_ADDRESS> depends on tensorflow-text
tf-models-official 2.14.2 depends on tensorflow-text~=2.14.0
mediapipe-model-maker <IP_ADDRESS> depends on tensorflow-text
tf-models-official 2.14.1 depends on tensorflow-text~=2.14.0
mediapipe-model-maker <IP_ADDRESS> depends on tensorflow-text
tf-models-official 2.14.0 depends on tensorflow-text~=2.14.0
mediapipe-model-maker <IP_ADDRESS> depends on tensorflow-text
tf-models-official 2.13.2 depends on tensorflow-text~=2.13.0I run "pip install mediapipe_model_maker" ,but I can only install version <IP_ADDRESS>. I was trying to install mediapipe_model_maker by "pip install mediapipe_model_maker-<IP_ADDRESS>-py3-none-any.whl", but also failed. The error:
ERROR: Cannot install mediapipe-model-maker and mediapipe-model-maker==<IP_ADDRESS> because these package versions have conflicting dependencies.

The conflict is caused by:
mediapipe-model-maker <IP_ADDRESS> depends on tensorflow-text
tf-models-official 2.15.0 depends on tensorflow-text~=2.15.0
mediapipe-model-maker <IP_ADDRESS> depends on tensorflow-text
tf-models-official 2.14.2 depends on tensorflow-text~=2.14.0
mediapipe-model-maker <IP_ADDRESS> depends on tensorflow-text
tf-models-official 2.14.1 depends on tensorflow-text~=2.14.0
mediapipe-model-maker <IP_ADDRESS> depends on tensorflow-text
tf-models-official 2.14.0 depends on tensorflow-text~=2.14.0
mediapipe-model-maker <IP_ADDRESS> depends on tensorflow-text
tf-models-official 2.13.2 depends on tensorflow-text~=2.13.0

To fix this you could try to:

loosen the range of package versions you've specified
remove package versions to allow pip to attempt to solve the dependency conflict
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

Can version <IP_ADDRESS> be installed in windows?

Hi @libofei2004,
Unfortunately, you can not install the latest version of MediaPipe Model Maker on Windows and Silicon-based macOS due to the discontinued support of TensorFlow Text on these platforms, as noted here. Currently, installing the latest version is little complex, but a community member has identified a potential method here. However, due to the dependency on TensorFlow Text, there is little we can do at this time.
Thank you!!

I would like to add the following to his topic:
This issue has been going on for a year now and several issues have been created. If no quick fixes can be found, I think that at least the MediaPipe Model Maker documentation + related sites (https://ai.google.dev/edge/mediapipe/solutions/model_maker) and the project description on the pypi site (https://pypi.org/project/mediapipe-model-maker/) should state that it can currently only be installed on Linux or WSL (or maybe Intel-based Macs, I am unsure), or that Google Colab should be used. I think that would help some people instead of everyone always trying to get it to work, wasting hours trying to fix dependency issues and then ending up searching for old issues or reopening the same issue over and over again.
Especially since the Model Maker is a really cool feature that allows you to customize your own ML model.
Thank you very much!!

Hi @jk4e,
Thank you for suggesting that we add descriptions to the documentation and PyPI. We should make this information available to help the community understand the currently supported platforms for Model Maker. For now, we are marking this as a feature request and sharing it with the team. We will try to address this based on our bandwidth, but we cannot promise a timeline for its availability.
Thank you!!

Hi @kuaashish,
Thanks so much for your quick and positive feedback and your efforts!!


Spacy embeddings vs sentence transformer embeddings

Hi there,
I have been using the classy-classification library for a few multi-label text classification tasks lately. I believed that the use of sentence transformer embeddings would always generate better results compared to the spacy embeddings. However, during my recent project, resulted in the opposite.
Below are the code snips I used:
Space embeddings (this generated better results) -
nlp = spacy.load("en_core_web_lg") nlp.add_pipe("classy_classification",      config={         "data": data,         "model": "spacy",         "multi_label": True,         "config": {"seed": 11},         "device": "gpu"     } )
Sentence transformer embeddings -
# NLP model nlp = spacy.load("en_core_web_lg") nlp.add_pipe("classy_classification",      config={         "data": data,         "model": "sentence-transformers/all-mpnet-base-v2",         "multi_label": True,         "config": {"seed": 11},         "device": "gpu"     } )
Will you be able to provide some guidance on when to use sentence transformer embeddings and when to use Spacy embeddings please?
Thank you

Spacy embedding are normally based on aggregated word embedding but sentence transformers on transformer embeddings which generally should be able to better  process the inter-dependencies of semantic meaning by using attention and positional encoding.


Adding Pickle references back into hl7apy

Adding pickle references and profile parsing tools back.
PRs for this repo are restricted because this code is intended to parse and create HL7 messages, which can contain sensitie ePHI. Any updates to this repository must be approved by Chris/a codeowner.
For upgrading the version of this package, create a new software request by following the steps outined here: https://docs.google.com/document/d/1Ex-vYJsMo3EfSZZM9A3p_G-BHYOh3kuOeSptO77GTNM/edit#heading=h.oquf7smwcp85

this is adding back MLLP related things too, was that intentional?

Yeah I had removed the to_mllp function but this function on its own is just formatting the message with mllp encoding characters, so I think it's safe to keep. The example files that include the server communication code is still removed.


Add shift filters to csp decorators

Our CSP (calibrator, selector, producer) decorators already have flags like data_only or mc_only which control whether the underlying task array function should be applied in case they are evaluated in a dataset that is not data or mc.
Along the same lines, this PR adds additional flags to make a similar decision based on the currently processes shift. It is possible to set

nominal_only, to skip the CSP in case a systematic variation is processed, or
shifts_only, for a more fine-grained control of the shifts that should actually be not skipped.

The implementation is identical through the three decorators.

Ready to re-review or merge from my side :)


Bad loginAs method args type when chained to a guard

In tests, only when chaining loginAs to guard methods, arguments of loginAs method are of type never.
(method) loginAs(...args: never): ApiRequest

Package version
@adonisjs/auth: 8.2.1
Node.js and npm version
Node.js: 16.13.0
npm: 8.10.0
Sample Code (to reproduce the issue)
Just create a new project with at least @adonisjs/auth package, then fill the existing test with the following code :
const user = await User.create({ email<EMAIL_ADDRESS>password: '123456' })

const response = await client.get('/').loginAs(user) // Everything good

const responseApi = await client.get('/').guard('api').loginAs(user) // <-- Argument of type 'User' is not assignable to parameter of type 'never'

response.assertStatus(200)
responseApi.assertStatus(200)

Can you share the contracts/auth.ts file?

Here is the file:
import User from 'App/Models/User'

declare module '@ioc:Adonis/Addons/Auth' {
  interface ProvidersList {
    user: {
      implementation: LucidProviderContract<typeof User>
      config: LucidProviderConfig<typeof User>
    }
  }

  interface GuardsList {
    api: {
      implementation: OATGuardContract<'user', 'api'>
      config: OATGuardConfig<'user'>
    }
  }
}

Its a bug with the default auth contract template. Lemme push a fix

Its a bug with the default auth contract template. Lemme push a fix

Any hint what the problem is?

You will have to make the changes made in this commit manually.  https://github.com/adonisjs/auth/commit/946e730cdebcfd277cf69ce29d5be40c80a25ce0
The changes will be inside the contracts/auth.ts file. New projects will not have this issue

@Foohx was guard or loginAs undefined for you when you run the tests?

@Foohx got it, I fixed the type issue—I also had to use the ! operator for the error to go away. only issue I have is during runtime, the authjs test functions are undefined.

@MANTENN Weird that you have to use the ! operator.
I'm using it without problem like this:
    const user = await UserFactory.apply('verified').with('roles').create()

    const mock = sinon.mock(ConversationPolicy.prototype)
    mock.expects('before').once().resolves(undefined)
    mock.expects('viewList').once().resolves(true)

    await client.get('/conversations').guard('api').loginAs(user).json({})

    mock.verify()
    mock.restore()

But I am not in the latest version for the moment. I'm going to update all deps in the next few days and I'll let you know if I encounter the same problem. :)

@Foohx I used the User.find(1) which either returns a user or null hence why I had to use the ! operator.

@Foohx turns out I had NODE_ENV set to local so the bindings never were loaded when I ran my tests. I will need to open a PR to create a warning in the CLI.

@Foohx I used the User.find(1) which either returns a user or null hence why I had to use the ! operator.

Okay, so everything is normal.


feature: agent expect JSON config and secrets files by default

Need some way to override agent config values at agent run time.
Nomad Team:

Run pre-agent script, which takes in a RUN_ENV environment variable. This script will output a template secrets.json and the a config.json from the Nomad configuration crate for that RUN_ENV (config will be development or production json files in crate).
Override any necessary values in secrets.json or config.json.
Run agent with RUN_ENV and AGENT_HOME. All agent expects is secrets.json and config.json in cwd.

External Party (no usage of Nomad configuration crate)

Create custom config.json and secrets.json in cwd (might not include all our networks).
Run agent.

Closed due to miscomm


Fix ccache support

Setting the compiler launcher to "ccache" is the recommended way of enabling ccache for the build.
If cmake is run with it defined, it causes an error when ccache tries to run:
ccache: error: Recursive invocation (the name of the ccache binary must be "ccache")

This was because the compiler was getting invoked as ccache ccache [COMPILER]
Reproduced by running cmake:
mkdir BUILD && cd BUILD &&
cmake \
    -DCMAKE_C_COMPILER_LAUNCHER=ccache \
    -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
    ..
make

This results in the following error:
$ make
Scanning dependencies of target winpr
[  0%] Building C object winpr/libwinpr/CMakeFiles/winpr.dir/synch/address.c.o
ccache: error: Recursive invocation (the name of the ccache binary must be "ccache")
make[2]: *** [winpr/libwinpr/CMakeFiles/winpr.dir/build.make:63: winpr/libwinpr/CMakeFiles/winpr.dir/synch/address.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:250: winpr/libwinpr/CMakeFiles/winpr.dir/all] Error 2
make: *** [Makefile:152: all] Error 2

(This patch also takes into account the fact there might be ccache alternatives in the future, or even crazy custom settings like distcc & ccache somehow working together via the compiler launcher)

@freerdp-bot test
@h3xx Do you have a link at hand, can not find the proper documentation for the variable in the CMake docs
All I can find are mailing list entries that are at most 2 years old, so this most likely needs some compatibility for CMake-2.8 versions

The documentation for CMAKE_<LANG>_COMPILER_LAUNCHER is here. It mentions cmake and distcc as examples.
The documentation for RULE_LAUNCH_COMPILE is here.

@h3xx Thanks. So CMAKE_<LANG>_COMPILER_LAUNCHER is available from CMake 3.4 onward? Should fall back to the old version if CMake is too old, otherwise this looks good.
Thanks for your contribution!

Okay, I added backwards-compatibility for cmake <3.4. I looked up all the tags in their git repo where it wasn't supported.

@freerdp-bot test

@h3xx thanks.


Option for don't create  SpriteFrames Resource (.res) file

Hi, Vini..
First your plugin is great for me to manager spritesheet. I really like the option Split Layer to Multiple Resource. Currently I only want it to import the png(and .json) but not create extra SpriteFrames(.res). Because I use Animation PLayer with another Plugin that take the .json file of layer.
Second, yep I could just delete the .res file after import but could take time to select .res file and delete it. Can you make a quick option for it. I tried to run into plugin but seem like could not fully understand it( Sorry I don't good at plugin)
Thanks for your great work.

Hello @SyliawDeV,
I'm glad the plugin is useful for you. I believe this option fits well the wizard screen and it shouldn't take much to implement it.
I'll take a look and let you know. Thanks for the suggestion.

Hi @SyliawDeV . The feature was included in version 1.3.0. It's already on the main branch and the asset library.
Thanks :)

Thanks @viniciusgerevini, version 1.3.0 work like charm and your work on plugin too.

Thanks @SyliawDeV , and thanks for contributing to the project :+1:


Improve checks and radios, add tests

Reference: https://getbootstrap.com/docs/5.0/forms/checks-radios/

Covered by #18 and #43


import 'uno.css' syntax get import/unresolved error

according to the documentation of unocsshttps://github.com/unocss/unocss, the import code should be:
import 'uno.css'
// or import 'virtual:uno.css'

but get error:

Unable to resolve path to module 'virtual:uno.css'. eslint(import/no-unresolved)

That's because css files can't be imported by anything standard. You likely need to use the webpack resolver (assuming you're using webpack) so that eslint can figure out what that kind of import means.

That's because css files can't be imported by anything standard. You likely need to use the webpack resolver (assuming you're using webpack) so that eslint can figure out what that kind of import means.

I'm using vite, and unocss has a official vite plugin.

ok, but vite has nothing to do with eslint. if you want eslint to be able to understand vite imports, you'd need to use a vite eslint resolver - and i'm not sure if that exists yet.

you can take a look at https://github.com/unocss/unocss/discussions/2448#discussioncomment-5939205, I tested fined.

@azin-cn that works around the problem by disabling the rule for those imports, rather than resolving them properly and ensuring they're present.


Write-Progress not rendered when it called too fast

Steps to reproduce
foreach ($item in 1..3) {
    Write-Progress -Activity "I: $item" -Status 'Start'
    Write-Progress -Activity "I: $item" -Status 'Work'
    Start-Sleep 3
    Write-Progress -Activity "I: $item" -Status 'End'
}

Expected behavior
On PS 5.1 it works as expected:
I: 1
    Work
I: 2
    Work
I: 3
    Work

Actual behavior
On PS 6-7 it shows
I: 1
    Start
I: 1
    End
I: 2
    End

So if you have a few Write-Progress without Sleep or something that takes a long time between them only the first one is displayed
I see there is an optimization mentioned here https://github.com/PowerShell/PowerShell/issues/5370#issuecomment-342803915
It listed in https://github.com/PowerShell/PowerShell/issues/3366 as point "4." but I don't think it's only a Write-Progress -Completed problem, it's a problem on any Write-Progress
Maybe a good solution instead of not updating after Write-Progress for 200ms is to wait 200ms after Write-Progress then write to screen the last Write-Progress in this 200ms. this way you will have a 200ms delay but in return you will get the correct/more relevant Write-Progress shown and not display an irrelevant Write-Progress for potentially minutes/hours?

Main purpose of the cmdlet is to inform users about a progress in long time process. Current implementation allows to cover  most of real scenarios. Even in the above example, you can place important information instead of "End" string. (I believe that it is possible to write a script that will do this the same way in both versions.)
Current optimization is really skipping all updates for 200 ms. It is simple and gives great performance. You ask to track last update. This will complicate the code and consume more resources. Given other issues with this cmdlet, this is not worth the effort.

Hmm. It shouldn't be too much more complicated to just cache the last update somewhere & overwrite that reference when a new record is received, I wouldn't think?
Sounds like a fairly straightforward improvement to me.

Improving what? Do you know a real scenario that requires this?

Improving what? Do you know a real scenario that requires this?

In the example I posted lest say the the loop takes an hour to complete. you see in the progress bar something like "I: 1" "step xxx" manning you are somewhere on loop 1 but in reality loop 1 finished half an hour ago and you are actually on loop 2 for the last half hour .
The progress bar in this scenario is more confusing then helpful.
putting information in the "End" string as you say will not help as this stage is not relevant any more.
Hope it's clear.

@ili101 In "Expected behavior" you say that you expect "Work". This also says that you agree ignore "Start" and "End". In the case you can remove these two Write-Progress and get expected behavior.

@ili101 In "Expected behavior" you say that you expect "Work". This also says that you agree ignore "Start" and "End". In the case you can remove these two Write-Progress and get expected behavior.

Now you may say do something like this:
foreach ($item in 1..3) {
    Write-Progress -Activity "Working on: $item"
    Start-Sleep 3
}

That will work but not always because lest say 1 takes an hour (shows correctly as "Working on: 1"), then step 2 take no time (lest say something not exists so noting to do for 2), then step 3 take an hour like 1.
for the entire hour of step 3 you will see in the progress bar "Working on: 2" and not 3.

@ili101 If you know that one cycle can take 1 hour and next 0 sec you can add short delay in 200 ms.

Yeah, but that's the kind of implementation detail that should just be handled nicely by the cmdlet / underlying system already.
Users shouldn't have to know the fine details of exactly how progress buffers records to make it work.

It is an implementation detail for developers, not for end users.
Also you ask to address "Work" but next request would be to address "Start" and/or "End". This can not be resolved automatically in common - in any case developers will have to do a workaround while the optimization exits but we can not remove it.

Can you describe the issues you're foreseeing in more detail? I'm not sure I understand why that would be any different to its current behaviour, nor why the suggested improvement will make a non-negligible impact there.

@vexx32 A root of the issue is that we skip some progress records for performance. This means that there will always be a situation that will require a workaround. Today we have a compromise. In fact, the situation is even worse because there may be several runspaces which affect each other.

Sure, but it stands to reason that the most recently-submitted progress record should be the one used to redraw after a rest period.
The current implementation assumes that there will always be a constant stream of progress records, so when no more progress records are received, any sent since the last update are completely ignored. Instead we can flip this around so that the more recent record is always displayed.
There are a multitude of other issues we could bring up -- I enumerated many of them in my issue #7983 from 2018. At the very least, until someone is willing to redesign the whole system we can allow smaller QOL fixes for the current system to be a little more usable.

Sure, but it stands to reason that the most recently-submitted progress record should be the one used to redraw after a rest period.

That is how it works. I assumed that we ignore records at all, but in fact we put them in a cache and delay only for show to the screen.
To address the request we would to have to make the show code async and put the show code in another thread. This was rejected in time the performance optimization was added because of complicity.
So it is by-design since a simple workaround with delay exists and until this area will be redesigned and reimplemented.

I think the most common thing I see Write-Progress used for is "copying files with a progress bar".  While generally not super advisable, it's the first experience a lot of folks are going to have with the cmdlet.  For this use case, it's pretty much exclusively going to show the wrong thing:
for ($i = 0; $true; $i++) {
    Write-Progress "Processing $i"
    Write-Host "Actually processing $i"

    # Simulate the occasional large file
    if ($i % 5 -eq 0) {
        Start-Sleep 5
    }
}

Most folks aren't going to research the work around, they're just going to assume the cmdlet is broken and never touch it again.
Would it be possible to simply put the show code in the TimerCallback (enclosed in a try/finally that starts and stops the timer)?

Would it be possible to simply put the show code in the TimerCallback (enclosed in a try/finally that starts and stops the timer)?

This was my first impulse, but after discussion, we chose an easier way. Why? This is a fundamental property of this progress bar function that developers have to adopt to every specific scenario.
An operation can take 1ms or/and 1 hour. In first case we should skip updates because users cannot see such frequent updates. In second case users will see one message long time - it is not good experience. Windows file copy API can register and call a callback so that if we copy 1 Tb file we can see that a progress bar is updated. But .Net API does not utilize the API. (I did not found such API in Linux too.). In the third case, short and long operations may alternate. This again requires a special approach.
Even if we move the show code to the timer callback, we will not solve most scenarios. Therefore, the conclusion was that the simplest thing that users can do is add a delay as needed.
Taking into account that MSFT team does not do a review for most contributions, at present I do not think that any changes in this code will be approved.

This was my first impulse, but after discussion, we chose an easier way. Why? This is a fundamental property of this progress bar function that developers have to adopt to every specific scenario.

Can you elaborate a bit? I'm having a hard time following how this is a fundamental property.

An operation can take 1ms or/and 1 hour. In first case we should skip updates because users cannot see such frequent updates.

My proposal will still skip the same amount of updates, it'll just ensure that the most relevant one is rendered instead of waiting until the next WriteProgress call.

In second case users will see one message long time - it is not good experience.

What about 5 seconds like my example? If most operations take 50ms but some take 2 seconds the progress message will still be consistently wrong.

Windows file copy API can register and call a callback so that if we copy 1 Tb file we can see that a progress bar is updated. But .Net API does not utilize the API. (I did not found such API in Linux too.). In the third case, short and long operations may alternate. This again requires a special approach.

Yeah like I said, not generally advisable.  Still though, it's going to be what a lot of newbies try first, and if it just straight up shows the wrong thing a lot will just never touch the command again.

Even if we move the show code to the timer callback, we will not solve most scenarios.

Gotcha.  Out of curiosity could you elaborate on the scenarios that will miss?

Therefore, the conclusion was that the simplest thing that users can do is add a delay as needed.

Is that really better than just ditching progress entirely though?  The only time you don't have to add the delay is if you don't care if the message shows the wrong step.  Or if you know for sure that there are no machines where one step will take under 200ms, and another will take a couple seconds. I guess what I'm getting at is, was performance really fixed if the only way to use it reliably is to add a delay?

@SeeminglyScience You intend to plunge me into a redesign of this feature. :-) But I do not see any chance that this will be realized in near months... :-(
Although ... I think I know a better way - to add more flexibility to this feature.
But it bothers me more that this feature creates strong pressure on garbage.
I hope to resolve this after the project comes to life.

You intend to plunge me into a redesign of this feature. :-)

Maaaybee... 😀
Let me just spell out real quick what I'm suggesting though.  Feel free to disregard if you have a better plan 🙂

Put a lock around https://github.com/PowerShell/PowerShell/blob/7500513911763d5cd9ad08ded6ce0a7f3b336617/src/Microsoft.PowerShell.ConsoleHost/host/msh/ConsoleHostUserInterfaceProgress.cs#L72

Change https://github.com/PowerShell/PowerShell/blob/7500513911763d5cd9ad08ded6ce0a7f3b336617/src/Microsoft.PowerShell.ConsoleHost/host/msh/ConsoleHostUserInterfaceProgress.cs#L93-L98 to be:
Interlocked.Exchange(ref someNewFlagIndicatingUpdateNeeded, 1)

Change https://github.com/PowerShell/PowerShell/blob/7500513911763d5cd9ad08ded6ce0a7f3b336617/src/Microsoft.PowerShell.ConsoleHost/host/msh/ConsoleHostUserInterfaceProgress.cs#L107-L110 to be:
ProgressPaneUpdateTimerElapsed(object sender)
{
    if (Interlocked.CompareExchange(ref someNewFlagIndicatingUpdateNeeded, 0, 0) == 0)
    {
        return;
    }

    var timer = (Timer)sender;
    timer.Stop();
    try
    {
        lock (_sameLockAsUpdate)
        {
            _progPane.Show(_pendingProgress);
            Interlocked.Exchange(ref someNewFlagIndicatingUpdateNeeded, 0);
        }
    }
    finally
    {
        timer.Start();
    }
}

Needs tweaking but hopefully gives the full idea.


Support multiple passwords for any given URL / user combo

This is essentially in support of password history -- a very useful thing when attempting to log into older accounts.

We now have this since unique records are determined by:

Record type (reocrds::Kind)
Category (user-supplied)
Name (same as user for records that have a user)
URL


[bug] As of v4.11.0, Array.from and Set polyfills (at least) now cause JS errors in IE11 when used in a web worker via importScripts

What
Prior to v4.11.0, including Set and Array.from polyfills in a worker context worked in IE11. After that release, including those features causes JS errors.
Details
Two JS errors occur now in IE11:

'window' is undefined
Could not complete the operation due to error 80020101

Here's a demo: https://embed.plnkr.co/B3MWjla3dtkAI8XYo9p9/

Unclear if it's related, but it looks like the Type function throws an exception with Array.from in Internet Explorer 11 because this isn't defined at call-time, although it works when the entire polyfill.js bundle initializes because the whole thing is called with this set to window or self or global, in that order. The callstack was sometihing like Array.from -> isConstructor -> Type.
https://github.com/Financial-Times/polyfill-library/blob/f7fe94f900c8fae9b97365a044b114514b0db732/polyfills/_ESAbstract/Type/polyfill.js#L18


HoloClip info Server to Client unreliable

Hello,
This has been a long standing issue where newly spawned holograms occasionally are clipped in random position/angles.
This occurs even when there are no clips enabled on the holo itself or anywhere in the E2.
I have tried running holoClipEnabled both on and off for each hologram to see if they are still effected and it seems they are.
We have also ruled out the possibility of other addons causing the issue by spawning large multiple holo E2s on a fresh server.
Example
All the E2 fans in that image are the same code and spawned in roughly 3 seconds apart.
Also each user seems to receive different random clips, sometimes on totally different holograms.
This issue is a nightmare for us as we convert all our high prop count vehicles to holo and upon spawning them in random props appear missing or split in half  or quartered etc.
Help with resolving this would be greatly appreciated,
Sam.

Yeah, I don't know why my issue about this was closed 3 years ago, especially after all the good discussion on the post - and nothing was every done about it.
https://github.com/wiremod/wire/issues/247

@shadowscion The commit fixed the obvious bug (recreating the holo on the same chip not clearing clips), not the compartively edgecase of reusing a holoid for a different chip.
Looks like the clientside table is indexed by entity id (clip_buffer[eidx]), while the server checks the clips from the holo id. It will never will find clips when a new holos is created on a reused entity id, and as such never send the reset packets.
The holoid only when sending the packet, which doesn't happen here.
Maybe the resetholocl should sent a packet to the client to drop the entityid from the table, instead of just setting everything to false.
A better way IMO would be to add a hook to clear the table when the entity is deleted (if possible), to avoid the problem of lingering entries altogether.

Could Clip data serverside have an extra variable of the entity's Creation ID
That way the client can validate the ents creation id with the one in the clipdata?
if there is a mismatch then drop the clip data.

Anyone with more understanding of the underlying hologram functions that could verify Any of the above? and/or trial some fixes?
It would be amazing to have this one resolved

Fixed by:
Commit 69c7e9a

That remains to be seen

@shadowscion I had been running this change on a trainbuild server where 100+ hologram E2s are the norm for every locomotive.
This completely resolved the issue for me over the week to 2weeks testing :)

The big test would be on notoriously afflicted servers like cre8tive.


not working

For given example
trunofficial<PHONE_NUMBER>
`
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/trunofficial/trunofficial.py", line 148, in __init__
    self.phone = _Phone(phone_parsed)
  File "/usr/local/lib/python3.5/dist-packages/trunofficial/trunofficial.py", line 171, in __init__
    self.national = phone['nationalFormat']
KeyError: 'nationalFormat'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/trunofficial", line 11, in <module>
    sys.exit(command_line())
  File "/usr/local/lib/python3.5/dist-packages/trunofficial/trunofficial.py", line 113, in command_line
    owner = search(number, cc=cc)
  File "/usr/local/lib/python3.5/dist-packages/trunofficial/trunofficial.py", line 35, in search
    results = _Attributes(response)
  File "/usr/local/lib/python3.5/dist-packages/trunofficial/trunofficial.py", line 166, in __init__
    six.raise_from(TruecallerError("Cannot find the number in Truecaller database, " + str(self.phone.number) + '.'), None)
AttributeError: '_Attributes' object has no attribute 'phone'

`

Facing the same error here...

I am not entirely sure but it seems like Truecaller servers are blocking our requests.

Could it be because truecaller changed its endpoint from "http://api4.truecaller.com/v1/key" , to  "https://api4.truecaller.com/v1/key"

Umm is the service working?

is there any solution for above issue ?


feat: adding new forth color (blue) option

I guess we needed new color, I met a situation where I needed new color option
Let us say
red: failed deployment
yellow: deploying
green: deployed
blue: undeployed (new color)
I bilieve the third color would be able to fit  other scenarios  which must not necessary  be in error,warning,sucess color scheme

Summary by CodeRabbit

New Features

Introduced blue badge formatting in markdown text.

Tests

Added a test case to ensure the correct functionality of the blue badge formatting.

@claranceliberi
Thank you for the pull request.
Your explanation was clear, so I immediately understood the use case.


build error on macOS Mojave + brew: NSException

Description:
Attempting to install XfreeRDP HEAD via brew fails on macOS Mojave (10.14.3) fails with NSException error.
To Reproduce
from fresh brew install on latest macOS:
$ brew install --HEAD freerdp
==> Cloning https://github.com/FreeRDP/FreeRDP.git
Updating /Users/rstark/Library/Caches/Homebrew/freerdp--git
==> Checking out branch master
Already on 'master'
Your branch is up to date with 'origin/master'.
HEAD is now at da66485 Merge pull request #5252 from akallabeth/big_endian_fix
==> cmake . -DCMAKE_C_FLAGS_RELEASE=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/freerdp/HEAD-da66485_1 -DCMAKE_BUILD_TYPE=Rele
==> make install
Last 15 lines from /Users/rstark/Library/Logs/Homebrew/freerdp/02.make:
	11  IDEFoundation                       0x0000000110eb23f5 _IDEInitializeOnePlugInAndPrerequisites + 539
	12  IDEFoundation                       0x0000000110eb23f5 _IDEInitializeOnePlugInAndPrerequisites + 539
	13  IDEFoundation                       0x0000000110eb134b _IDEInitializePlugIns + 1598
	14  IDEFoundation                       0x0000000110eb0758 IDEInitialize + 8444
	15  ibtoold                             0x000000010f7385b0 IBIDEInitialize + 52
	16  ibtoold                             0x000000010f7376dc main + 1744
	17  libdyld.dylib                       0x00007fff72f88ed9 start + 1
	18  ???                                 0x000000000000000c 0x0 + 12
)
libc++abi.dylib: terminating with uncaught exception of type NSException
/bin/sh: line 1: 27205 Abort trap: 6           /usr/bin/ibtool --errors --warnings --notices --output-format human-readable-text --compile /tmp/freerdp-20190301-22997-as3nj/client/Mac//MacFreeRDP.framework/Versions/2.0.0/Resources/CertificateDialog.nib /tmp/freerdp-20190301-22997-as3nj/client/Mac/CertificateDialog.xib
make[2]: *** [client/Mac/MacFreeRDP.framework/Versions/2.0.0/MacFreeRDP] Error 134
make[2]: *** Deleting file `client/Mac/MacFreeRDP.framework/Versions/2.0.0/MacFreeRDP'
make[1]: *** [client/Mac/CMakeFiles/MacFreeRDP-library.dir/all] Error 2
make: *** [all] Error 2

READ THIS: https://docs.brew.sh/Troubleshooting

Expected behavior
Previous builds of --HEAD completed without error last time this was attempted (High Sierra, mid-2018).
Thank you for your review and insight!

Hmm, might want to check with brew and check your build setup.
This does not look like something freerdp (the project) related but a build configuration issue.

Thanks for the quick review & update!
Problem resolved, not all Xcode components were installed.


Incorrect viewport scale on mobile devices

If host page specifies viewport meta for mobile devices:
<meta name="viewport" content="width=device-width, initial-scale=1" >
then WorldWind engine uses incorrect viewport size and use very low level of details and big fonts.
It may be fixed by multiplication of WorldWind canvas size by pixelFactor,
// Check if canvas size is changed
       val width = (gl.canvas.clientWidth * engine.densityFactor).roundToInt()
       val height = (gl.canvas.clientHeight * engine.densityFactor).roundToInt()

but this cause additional side effects:

Gestures distance become non-proportional (divided by pixelFactor)
Stars in StarFieldLayer become closer to globe by pixelFactor distance.
May be some other side effects exists, e.g. font size.

This issue must be investigated and fixed in complex.

Fixed in cefa451bdec31523503cb2ec7ab09ffcbfe9a519


 I used 0.9.11 before this and everything works just fine.
Steps to reproduce:

Run carla server
Create ego vehicle from client.

import os
import carla
import random

# connect client to carla server
import time
start = time.time()
while True:
    try:
        print("Waiting for CARLA")
        client = carla.Client('localhost, 2000)
        client.set_timeout(10.0)
        world = client.get_world()
        break
    except:
        import traceback
        traceback.print_exc()
        time.sleep(5)
        pass

# spawn an ego-vehicle randomly
spawn_points = world.get_map().get_spawn_points()
blueprints_vehicles = world.get_blueprint_library().filter("vehicle")
ego_transform = spawn_points[random.randint(0, len(spawn_points) - 1)]

blueprints_vehicles = [x for x in blueprints_vehicles if int(x.get_attribute('number_of_wheels')) == 4]

# let CarlaViz know this vehicle is the ego vehicle.
blueprints_vehicles[0].set_attribute('role_name', 'ego') # or set to 'hero'
batch = [carla.command.SpawnActor(blueprints_vehicles[0], ego_transform).then(carla.command.SetAutopilot(carla.command.FutureActor, True))]
results = client.apply_batch_sync(batch, True)
if not results[0].error:
    ego_vehicle = world.get_actor(results[0].actor_id)

while True:
    world.tick()

This code works as expected in 0.9.11. For 0.9.12+ the autopilot drives off road and is eventually destroyed.

Are you using synchronous mode when running the simulation?

No @jackbart94 . The code above is all that I used.

Asynchronous mode has been sort-of deprecated from TM in 0.9.12 and onwards. We always expect the simulation to be in synchronous mode.

Hi @jackbart94 I tired the synchronous mode i.e.
settings = world.get_settings()
settings.synchronous_mode = True # Enables synchronous mode
world.apply_settings(settings)

In 0.9.11 the off road is resolved when using this, in 0.9.12 the autopilot is driving very naively it seems on edge of lanes accelerating and decelerating very frequently. As for 0.9.13, it drives road on the next junction.

Could you also set fixed_time_step to 0.05, as per the tutorial, while setting synchronous mode?

@jackbart94 Even after setting fixed_time_step=0.05 autopilot cannot stay on track in version 0.9.13. But the issue is fixed in previous version i.e 0.9.12.

I have a very similar issue https://github.com/carla-simulator/carla/issues/5707#issuecomment-1271871350

I have a very similar issue #5707 (comment)

Did you able to fix the issue ?

@ronyshaji yes... by using different traffic manager port for different clients.

@ronyshaji yes... by using different traffic manager port for different clients.
Is that means :
terminal 1: ./CarlaUE4.sh -carla-rpc-port=4000
terminal 2: python3 spawn_npc.py --port 4000 --tm-port 4050 # TM-Server
terminal 3: python3 spawn_npc.py --port 4000 --tm-port 4050 # TM-Client
Is this way to fix your problem ?

In my problems, The code that I want spawn 10 vehicles without sensors is in terminal2. And the code that spawn one vehicle with lidar is in terminal 3.

@ronyshaji yes... by using different traffic manager port for different clients.

Use different port for traffic manager in different clients. And that should solve the issue of vehicles going wild.


FedAvg weighted average implementation

The current FedAvg implementation doesn't support weighted average aggregation. We need to support this. This issue possibly is dependent on #18.
https://github.com/bnnthang/RealFL/blob/c3510b7dfc32b54e74eda4207fc335fc3c82d837/Server/src/main/java/com/bnnthang/fltestbed/Server/AggregationStrategies/FedAvg.java#L12-L24

@tem556  Regarding this, I think the easiest way is to add a property in the FedAvg class to save the weight list. Then in the aggregate method, we can check the length of the weight list and the update list and calculate the weighted average.

Isn't that a big against single responsiblity principle or am I misunderstanding. Like the FedAvg class does the average. A new FedWeighted class would do weights. What do you think?

But yes, I think your way would be much easier actually

Isn't that a big against single responsiblity principle or am I misunderstanding. Like the FedAvg class does the average. A new FedWeighted class would do weights. What do you think?

Well, I would not say so because apparently when people talk about FedAvg, they expect it to be weighted. I appreciate the thoughts though.


Add validations against other params

Addresses: https://github.com/fire-library/openfire/issues/7


Fix Typo in Publishing Apps guide

Changed appaname to appname, which is what I think the author meant and is consistent with other references to the app directory.

I have read the CLA Document and I hereby sign the CLA

recheck


don't set 'background' without setting 'color' too

This would explicitly set the text color to black, is that what it currently is?
Personally, I don't think this is needed, as the only reason I can think of that it would be needed is if a user has a custom CSS file that sets the default text color to something other than black. (As far as I know, the major browser's all default to black text)

Forgot to mention: Nick Sabalausky complained about this.

This would explicitly set the text color to black, is that what it currently is?

If no user stylesheet interferes, it inherits from <body> and that's black, yes.

Personally, I don't think this is needed, as the only reason I can think of that it would be needed is if a user has a custom CSS file that sets the default text color to something other than black.

You just gave the reason why it's needed. A user stylesheet can set a background/color pair for <input>. If we set only one of them, it may end up being white/white for example.

Ah, alright, I'd failed to think of the probability of them styling all <input> by default, which isn't an unreasonable thing for someone to do. With that in mind, I do agree that this is a needed change.

Users of dark themes thank you.

screenshots pliz

This change will be invisible to almost all users, and will fix things for the remaining ones. Thanks.


Feature request: support SV array query functions like $high and $left

Systemverilog has functions that return information about the bounds of a vector, like $high/$low and $left/$right. They are convenient helper functions for width-agnostic code/functions.
To give an example, in my use case they are extremely helpful for fixpoint DSP, e.g. automatically calculating the correct vector width and tracking the number of integer/fractional bits:
logic [3:-4] a; // a Q4.4 number
logic [3:-8] b; // a Q4.8 number
logic [$high(a)+$high(b)-1 : $low(a)+$low(b)] c = a*b; // automatically generates a 20-bit wide Q8.12 number

logic [$high(c) : 0] c_integer = c[$high(c) : 0];    // extracting the integer part is easy since both bounds can be obtained from a given vector

I see no way whatsoever to achieve this with the SV subset supported by Yosys; read_verilog -sv fails with ERROR: Can't resolve function name ``\$left'
I use sv2v as a workaround in my flow, although it would be great if yosys would support it natively

A few years ago I did the $bits() and $size() PR. I think $high() and $low() are pretty easy to do and are quite similar.
(reference: https://github.com/YosysHQ/yosys/pull/425)
I wasn't even aware that they were not implemented yet.
I was quite busy recently, but if no one else pick this up, I'll try to do it in a few days.

Have a go: https://github.com/YosysHQ/yosys/pull/2378

PR accepted!
https://github.com/YosysHQ/yosys/commit/7e2fc2eaeb70179c8da3e5dc8be800f486d5b912

@udif for future reference: please write "Fixes #2377" in the commit message in cases like this — it will automatically link the PR with the issue, and merging the PR will then automatically also close the issue.
I suppose this issue can now be closed?


v4 issues and design ideas

Hey hey!

bioimageio.spec==<IP_ADDRESS>
bioimageio.core==<IP_ADDRESS>

I am not sure if we still want to support v4, but I was trying to use it, for backwards compatibility for testing tiktorch, since there are some models defined as v4 still.
I have experienced the following issues.
My project structure is:
├── myspec
│   ├── dummy_network.py
│   ├── __init__.py
│   ├── model.py
│   └── src
│       ├── __init__.py
│       └── main.py
└── setup.py

And in case you want to reproduce this setup, here is the repo https://github.com/thodkatz/spec-playground.
All the issues are based usually when I want to create a v4 object from scratch, not reading a yaml file.
It is worth mentioning that v5, I don't experience these issues.
Networks's file path can't be absolute
# myspec/model.py

from myspec.dummy_model import DummyNetwork # 'DummyNetwork' is my nn.Module

dummy_model_module = /home/username/repos/myspec/myspec/dummy_model.py

v0_4.WeightsDescr(
            pytorch_state_dict=v0_4.PytorchStateDictWeightsDescr(
                source=Path(weights_file.name),
                architecture=f"{dummy_model_module}:{DummyNetwork.__name__}",
                architecture_sha256="cb1e8501cca44a63f3acd91cf35da121063156d4bd8213d466614f6a84bbfbfa"
            )
        )

The validation will fail because absolute paths are not accepted. This can be not so convenient, if the network is defined not in a relative convenient path.
But let's try to make it relative...
Network's relative path isn't realized in model descriptor's definition
Having as reference the file structure mentioning in the beginning, expected relative path of my network's definition should be dummy_model.py:{DummyNetwork.__name__}
# myspec/model.py

v0_4.WeightsDescr(
            pytorch_state_dict=v0_4.PytorchStateDictWeightsDescr(
                source=Path(weights_file.name),
                architecture=f"dummy_model.py:{DummyNetwork.__name__}",
                architecture_sha256="cb1e8501cca44a63f3acd91cf35da121063156d4bd8213d466614f6a84bbfbfa"
            )
        )

# myspec/src/main.py

my_model = get_my_descriptor() # `get_my_descriptor` returns the v4 object defined in `myspec/model.py`

then the validation will fail with /path/to/myspec/myspec/src/dummy_network.py does't point to an existing file, meaning that the relative path was resolved based on where the module was called, and not defined.
But even if this is desired behavior, we can fix this by using ../dummy_model.py, but then the next issue will come.
Serialized object keeps relative path
# myspec/model.py

v0_4.WeightsDescr(
            pytorch_state_dict=v0_4.PytorchStateDictWeightsDescr(
                source=Path(weights_file.name),
                architecture=f"../dummy_model.py:{DummyNetwork.__name__}",
                architecture_sha256="cb1e8501cca44a63f3acd91cf35da121063156d4bd8213d466614f6a84bbfbfa"
            )
        )

# myspec/src/main.py

from myspec.model import get_bioimage_model_v4
from bioimageio.spec import save_bioimageio_package, load_description

model = get_bioimage_model_v4()
zip_file = save_bioimageio_package(model)
ret_model = load_description(zip_file)

, the load_description will fail with /tmp/tmpdkby6kms.bioimageio.zip.unzip/../dummy_network.py, meaning that the relative path of ../dummy_network was retained when we have attempted to save the package with save_bioimageio_package. I think it should be updated based on the structure that the save_bioimageio_package is crafting.
What I currently use and works nicely
providing modules in the architecture, works nicely :) It is imported as expected.
weights=v0_4.WeightsDescr(
    pytorch_state_dict=v0_4.PytorchStateDictWeightsDescr(
        source=Path(weights_file.name),
        architecture="myspec.dummy_network.DummyNetwork",
    )
)

Idea
Also, regarding the design of the v5 and v4 models, I think that they are very much coupled with files, and an expected yaml file as a reference point. Maybe an object ModelDescr should be assumed as the ground truth, and instead of using an object to describe a file, the object should just be expressed as a file.
Also instead of relying on a path to get the data, the object should be content dependent. For example, if we have as a dependency, a numpy array, then we need a numpy array and not a file that points to a numpy array. That way the dependency is decoupled, and there could be many ways to get a numpy array.
I am trying to say that maybe creating a ModelDescr object should be possible without any file? We could have a nice decoupling, and testing won't rely on disk operations as well.
From a design perspective, a builder pattern could be also very useful, since these objects have many arguments, and some could be optional, making the process of creating objects like that quite sophisticated. A builder pattern could be very handy. I am not sure if pydantic supports this.
edit: the builder pattern isn't really valid, essentialy the features of optional, keyword, required arguments with potential classmethods provides the functionality of a builder pattern. Python supports all of the above. Nice read: https://python-patterns.guide/gang-of-four/builder/

We should add factory methods for up-to-date Descriptions and their sub nodes where this makes sense. I'll make this into a new issue and close this one as we do not plan to improve on model v0.4 and instead move forward with model v0.5


russian translation

Anna Chubaeva from Panorics will lead on the translation in russian.

Hey @anyachu, just wondering how you doing with the translation? if the undertaking is too much we could help you maybe outreach to get more friends to help translate making360.

Hey @fsoudiere, unfortunaely, I am not working anymore for Panorics and currently out of vr/360 industry.

@fsoudiere I've asked vr360 community in Russia if someone could help, however, I can start doing some chapters by myself. Let's decide which of them should go first and if it has to be published partly or only when you'll have full translation?

Hey Fabien! I would like to join making360 and start from Russian translation.

Hey guys @gmolodtsov @AlexeyS3D, Perfect! Download/Clone the making360 github to your desktop and check out the videos in the readme files on how to commit your russian edits. I will compile the pdf for every pull requests, an dfix conflicts if any.


Allow variable overrides

Also see: https://sass-lang.com/documentation/variables#default-values

🎸


openDatabase error while using PouchDB with adapter cordova - sqlite

Hi,
I want to create windows 10 cordova application for storing offline data in pouchdb using cordova-sqlite adapter.
I used cordova-sqlite-storage along with cordova-sqlite adapter but while putting the data into db gives an error of "openDatabase is undefined", so not able to put data into db.
please let me know if anyone has faced this issue or does this approach is supported in windows 10

deviceready event is not supported for windows 10.
https://cordova.apache.org/docs/en/4.0.0/cordova/events/events.deviceready.html
I have written simple script to insert data to pouchdb after installing pouchdb, pouchdb-adapter-utils, pouchdb-core, pouchdb-adapter-cordova-sqlite and cordova-sqlite-storage.
since pouchdb-adapter-cordova-sqlite requires cordova-sqlite-storage plugin to work which supports windows platform so i have included that out of the three plugins mentioned here.
PFB code snippet.
//To create pouchdb with cordova-sqlite adapter
PouchDB.plugin(PouchAdapterCordovaSqlite);
var db = new PouchDB('todos.db', { adapter: 'cordova-sqlite' });
//Calling following method to add data from textbox into db
function addTodo(text) {
var todo = {
_id: new Date().toISOString(),
title: text,
completed: false
};
db.put(todo, function callback(err, result) {
if (!err) { // here i am getting openDatabase error.
console.log('Successfully posted a todo!');
}
});
}
pouchdb todo project reference link
https://pouchdb.com/getting-started.html

issue got resolved.
problem was with deviceready event.


Mcs 33 - Generate Scenes with Simple Interaction Goals

Implements goal generation

I don't see an issue- but adding other reviewers

Nothing jumped out at me, looked solid, will see if @ThomasSchellenbergNextCentury has any.


[SPARK-37389][SQL][3.1] Check unclosed bracketed comments

What changes were proposed in this pull request?
This PR used to backport https://github.com/apache/spark/pull/34668 to branch 3.1
Why are the changes needed?
The execute plan is not expected, if we don't check unclosed bracketed comments.
Does this PR introduce any user-facing change?
'Yes'. The behavior of bracketed comments will more correctly.
How was this patch tested?
New tests.

Test build #145573 has started for PR 34696 at commit 2bd8736.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50046/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50046/

Test build #145573 has finished for PR 34696 at commit 2bd8736.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class UnclosedCommentProcessor(

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/50046/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/145573/

Test build #145582 has started for PR 34696 at commit a8e5167.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50054/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50054/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/50054/

Test build #145582 has finished for PR 34696 at commit a8e5167.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/145582/

Test build #145599 has started for PR 34696 at commit 2618bee.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50071/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50071/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/50071/

Test build #145599 has finished for PR 34696 at commit 2618bee.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/145599/

ping @cloud-fan

thanks, merging to 3.1!

@cloud-fan Thank you.


Confirm Download

Expected Behavior
Is it possible to add a download confirmation when I open a file?
Also a confirmation if the server file is different.
Actual Behavior
"downloadOnOpen": true,
"downloadConfirm": true,
Steps to Reproduce the Problem
Requisites (important to diagnose the problem!)
Extension Logs
Specifications

Version:
Platform:

You can set "downloadOnOpen" to 'confirm' in v1.1.9.


Add current-user and current-practice-user models.

This gives you a mechanism to retrieve/store the current_user
from Snowflakes /me endpoint and retrieve it as necessary in your
routes.

:octocat:


Incorrect webhook was created in Docker hub

Related issue https://github.com/UffizziCloud/uffizzi_platform/issues/138

TESTED on https://github.com/UffizziCloud/uffizzi_platform/issues/138 - OK