feat: add $$operation$$ file template

Description
I added $$operation$$ as a file template.
Related issue(s)

#1116

@jonaslagoni I see that you introduced the v3 support. Does it make any sense what I am suggesting or am I missing something?

@jonaslagoni yeah, to be honest I did not recall file templates are actually useful for nunjucks only 😄
we have at least comparizon from the perspective of "template for templates". So we see file templates in use in https://github.com/asyncapi/template-for-generator-templates/tree/nunjucks/template/schemas in times of nunjucks and then after conversion to react https://github.com/asyncapi/template-for-generator-templates/blob/master/template/schemas/schema.js
just to be sure, @lukas-mertens what templating engine are you using?

@derberg Yeah, I am using the old one. I didn't see it in any documentation that a new one exists and I was building my template based on https://github.com/asyncapi/dotnet-nats-template/tree/master
I didn't know it is that outdated back then. It would be really nice to have a few reference-implementations based on the new api version and new renderer

actually https://github.com/asyncapi/dotnet-nats-template/tree/master runs on new engine, the react one
also in docs that talk about template development we reference this template example implementation -> https://github.com/asyncapi/template-for-generator-templates
is the source code of your template somewhere available?
my assumption is you use react so you do not need file templates. Have a look at examples I shared in previous comment and lemme know

@lukas-mertens hey, did you have a chance to have a look at it?

closing this PR
we should not add more features to Nunjucks.
and for React - functionality is already in place - we just need to properly document it -> https://github.com/asyncapi/generator/issues/1199


Fix logic to get latest GitHub release for a project

This PR fixes the logic of determining the latest release for a project on GitHub. Previously, we were simply taking the first element in the releases or tag list as the latest revision. But this could lead to false positives if the project released a patch from an older release branch, which would make it appear at the top of the list, below the true latest version.
Before
$ version-tracker display --project cert-manager/cert-manager
ORGANIZATION  REPOSITORY    CURRENT VERSION  LATEST VERSION
cert-manager  cert-manager  v1.13.2          v1.12.7

$ version-tracker display --project goharbor/harbor
ORGANIZATION  REPOSITORY  CURRENT VERSION  LATEST VERSION
goharbor      harbor      v2.9.1           v2.7.4

After
$ version-tracker display --project cert-manager/cert-manager
ORGANIZATION  REPOSITORY    CURRENT VERSION  LATEST VERSION
cert-manager  cert-manager  v1.13.2          v1.13.3

$ version-tracker display --project goharbor/harbor
ORGANIZATION  REPOSITORY  CURRENT VERSION  LATEST VERSION
goharbor      harbor      v2.9.1           v2.9.1

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


X86_64 - TFLite different inference results depending on whether it was compiled with XNNpack delegate or not

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): 4.19.0-18-amd64 1 SMP Debian 4.19.208-1 (2021-09-29) x86_64 GNU/Linux
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: No
TensorFlow installed from (source or binary): source
TensorFlow version (use command below): r2.5, r2.8
Python version: 3.7.3
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source): gcc 8.3.0
CUDA/cuDNN version: N/A
GPU model and memory: N/A

Describe the current behavior
Running inference in CPP using tensorflow lite library compiled from source using CMake with default settings with XNNPACK support produce wrong results:
[0, 0, 1, 0, ]
If tflite is sompiled with disabled XNNPACK support (cmake -D TFLITE_ENABLE_XNNPACK=OFF ..) - model works as expected.
If inference is running from python with XNNPACK support (based on console output - it prints INFO: Created TensorFlow Lite XNNPACK delegate for CPU.) - it is provide expected results.
[1, 0, 0, 0, ]

if we run inference from python with tensorflow==2.5.0 it doesn't show string above in regards of XNNPACK but produce valid results as well.

Describe the expected behavior
TFlite compiled with XNNPACK in cpp produce the same result as library without XNNPACK
Contributing

Do you want to contribute a PR? (yes/no): no

Standalone code to reproduce the issue
https://github.com/kruglov-dmitry/tensorflow_lite_from_cpp_python
Repository contains:

tflite model and test image to run inference
cpp source, makefile and build instructions
python source

Currently, we use XNNPACK for TFLite floating-point ops. Comparing with the TFLite that doesn't use XNNPACK, we expect very similar accuracy but won't expect bitwise identical results.
As for your case, what're the input values of the calculation that produces the final integer vector? Do they differ a lot between TFLite w/ XNNPACK and TFLite w/o XNNPACK?

Sorry for delay with answer.

Do they differ a lot between TFLite w/ XNNPACK and TFLite w/o XNNPACK?

w/o XNNPACK:
7.89871e+36,
-3.18431e+38,
3.14411e+37,
2.27216e+38,

w/ XNNPACK
-2.71105e+36,
-inf,
3.25951e+37,
2.47283e+38,

same exact model in python:
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
[[ 1799.3785    582.42206 -1973.1395  -1173.8969 ]]

Model were produced by loading weights of keras model, pop last layer and converting using the same snippet as in repo above.
Model without last layer - google drive ~ 15 mb

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
The TFLite team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the TFLite space.


Availability of pretrained model for RNN Transducer & Seq2Seq Attention Model

Hey,
I wanted to inquire if there are any plans to open source the pretrained models, for the RNN Transducer and Seq2Seq Model?
If there are such pretrained models, can anyone please share the link?

Hey,
Even I wanted to know whether any pre-trained model is available for RNN Transducer.

I also want to get the pre-train model. Thanks.

Unfortunately no pre-trained models as of yet, but we can consider releasing them? What datasets would you want them pre-trained on?


Race between ClientDisconnect and Server shutdown causes process not to be able to exit.

Causes execution timeout: http://aspnetci/viewLog.html?buildId=508484&tab=buildResultsDiv&buildTypeId=Lite_IISIntegration

https://github.com/dotnet/corefx/pull/31212

@pakrym can we add a test for this now that https://github.com/aspnet/IISIntegration/commit/84d4627b8b3441372efa0b7773ec07fbc7564e64 is in.

https://github.com/dotnet/corefx/issues/32163


Add nonce property to script tags

Resolves #1554

:+1:

The crypto module should only be loaded if needed, and by using @brillout/import to avoid crypto from being bundled by bundlers.
What's wrong with using Math.random() instead? I wonder how Math.random() can be a security hazard.

Thanks for the feedback! I'll update the import to not include crypto as a part of the bundle. Based on the MDN docs, that the nonce value needs to be cryptographically secure:
Allowing all inline scripts is considered a security risk, so it's recommended to use a nonce-source or a hash-source instead. To allow inline scripts and styles with a nonce-source, you need to generate a random nonce value (using a cryptographically secure random token generator) and include it in the policy. It is important to note, this nonce value needs to be dynamically generated as it has to be unique for each HTTP request:

Based on the MDN docs for Math.random, it does not generate cryptographically secure values.

:+1: Good to know, how about adding a comment about this in the code?
I think we need to add the nonce to all other <script> tags?
How about we set the generated random nonce value to pageContext.nonce? Is there a use case for that? E.g. if the user wants to inject a script to the HTML?
Maybe we can also let the user set a pageContext.none value (Vike wouldn't use crypto then but take that user-defined value instead), but I don't think there is a use case for that?
How about we load the crypto module only if strictly necessary , e.g. only ifpageContext.nonce is set?
Up for adding docs? Maybe creating a new page vike.dev/CSP?

Thank you for the feedback! I don't have answers for you at the moment about whether or not there is value in generating a nonce by default. I'll also work on adding the nonce to the other script tags as well.

What about nonce attributes on style and link tags?

@branberry Are you still up for this? Let's re-open if you are (or someone else). Looking forward to it!

@brillout  For SSG case I have to provide a dummy nonce value, which gets replaced in runtime by coloudflare csp worker. It uses node:crypto under the hood. The framework itself should not generate nonce if it is SSG rendered code, cos in this case it will  be random on each build, and it will be impossible to replace it in html.
this is example of cloudflare worker: https://github.com/moveyourdigital/cloudflare-worker-csp-nonce/blob/master/nonce-worker.js

Also: https://github.com/vikejs/vike/discussions/1919#discussioncomment-11042864


Add IntSet

Implement IntSet as a wrapper of IntMap and add corresponding tests.
Fix #4.

@arbuztw Wow, thanks! You did a great job! I have nothing to add. You implemented IntSet just perfectly. Thanks for your contribution :)

@ChShersh Thank you for the quick response! I am happy to have contributed to this project :)


audit: exempt wine's deps from the universal deprecation

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew tests with your changes locally?

This can be reverted when wine's dependencies are all vendored.

Thanks @ilovezfs


Fix #66: Build errors when compiling with Emscripten

Returns false from settings::available() for now, since functionality is not yet available in the browser.

Thanks! I haven’t had time to work on the JS implementations so this makes sense.


Choice of uptime% on status page

⚠ Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find similar feature request

🏷 Feature Request Type
UI Feature
🔖 Feature description
A choice about what uptime % (24 hour / 30 day / custom) is displayed for each monitor on the status page.
✔ Solution
A global setting for status page, along with per monitor overrides for what uptime% is shown on the status page.
❓ Alternatives
No response
📝 Additional Context
I want to claim "99.95% uptime guaranteed", and I would like to show this to the public, without having to explain "I meant 99.95 uptime in the whole year, not in the past 24 hours as is shown on the status page"

This is a good one, right now status history is generated pretty much based only on interval, which results in different time range data for targets.

Yes, would actually like both 24 hour and 30 day on the status page.

I'd to be able to show yearly uptime! :D

I love the idea and would love to get it added.

Hope for this date dimension to choose in status page which like https://demo.upptime.js.org

Yes can very great to have this kind of view ! Thanks to the team ;)

This would be awesome. Is there a way to get this in the next release?

Is there any update to this feature request? It's 2024 and still no info about the state and no information in the milestones about this "important" feature?

We are also community oriented ^^
Our contribution guide can be found here


Add tweetdeck style scrollbar

What: The style of the scroll bar in illustrations list has been changed.
Why: The original Chromium scrollbar is not pretty.
How: Modify the css of the scroll bar. (Style is copied from tweetdeck.)
Checklist:

[ ] Documentation
[ ] Tests
[x] Ready to be merged
[ ] Added myself to contributors table

New scrollbar:

Cool. Thanks!


[NEW CONTENT TYPE REQUEST] Sound Font 2

What type of file would you like magika to detect?
Sound Font 2 (.sf2)
What software can create/open these files?
lmms, polyphone.
Where can these files be found?
https://www.williamkage.com/snes_soundfonts/, https://musical-artifacts.com/artifacts?formats=sf2, https://www.polyphone-soundfonts.com/download-soundfonts.
If possible, please provide a specification for this file type.
Additional context

Note to self: Riff-based!


Restructure sections to separate UWP and .NET Standard

The toolkit currently includes a number of APIs that are not UWP-specific, with more targeting .NET Standard on their way as well. Right now it's difficult to see at a glance which APIs are only available on UWP and which can be used from any kind of .NET project instead.
It'd be nice to restructure the sections (eg. with two main "UWP" and ".NET Standard" sections) to clearly separate the two main types of APIs. This would also make life easier for devs working on .NET Standard projects (or .NET Core, or any other portable runtime), as they'd be able to just expand the ".NET Standard" section and look at APIs available there, instead of having to double check the framework/namespace of each API across the various sections.
cc. @michael-hawker

Should also better separate the UWP based controls from the XAML Islands helpers.

We should also make sure all our blocks at the bottom are updated to differentiate between .NET Standard vs. UWP as was called out here: https://github.com/MicrosoftDocs/WindowsCommunityToolkitDocs/pull/302#discussion_r391033546

I was in the process of writing the docs for https://github.com/windows-toolkit/WindowsCommunityToolkit/pull/3353 and I think I've identified another big improvements we could add to the docs for the toolkit, assuming this is possible.
Right now, writing the docs for a new control/helper requires contributors to perform the following steps:
✅ Create the page, add it to the toc.file
✅ Write the introduction for the new thing
✅ Write a section to detail how it works
✅ Possibly write a section to show the usage/syntax
⛔ Manually copy all the properties and their docs/info
⛔ Manually copy all the methods and their docs/info
I would argue the current workflow is not ideal, especially for new developers. The steps with the green checkmark are perfectly fine and those should be the only ones required for contributors. There are a number of issues with the last two steps:

They're pretty error prone, as you need to just copy every single API that's exposed
They lack contextual info on their arguments/returns, as right now they're all just plain text.
They lack info on all arguments, as we're just indicating the types for brevity.
If a devs want to know more on one of them (eg. read the rest of the XML docs), they need to manually search for that API in the docs. They're not linked - they're literally all just plain text.
They immediately get out of sync if there's any change in one of the APIs and the contributor forgets to also update the docs.
They're extremely boring to write 😅
Literally all this info is perfectly duplicated (and done better) in the autogenerated docs anyway.

Consider this example from the docs for the SpanOwner<T> type:

Compare that with the autogenerate section from the same type (here):

Much better! 😄
For the reasons listed above, I don't think just asking contributors to spend more time eg. adding hyperlinks etc. to their hand-crafted docs is a good solution, ideally we'd just want to rethink this strategy here entirely. A few possible options:

Just have the hand-crafted docs be for usage/overview/explanation, and just link the others for the actual APIs list
Have the MS docs website autogenerate that same table with properties/methods for the hand-crafted docs (eg. we could have a custom widget like that > [!NOTE] one that can be used to tell the MS docs website to just load the APIs table for a given type at a specific spot in a markdown file. Like:

> [!API-PROPERTIES](microsoft.toolkit.highperformance.buffers.spanowner-1)

> [!API-METHODS](microsoft.toolkit.highperformance.buffers.spanowner-1)

This second one was just an idea and I realize it'd be more complex to do as it'd require some work from the MS docs team too. Personally I'd be fine with the first one as well at least for now, as I'm not really convinced the current docs creation procedure is ideal, for the reasons listed above.
Just some thoughts I had while writing the docs, hope this helps! 😊
I thought I'd share since we mentioned we wanted to restructure the docs anyway for the future.
cc. @michael-hawker @azchohfi


[BUG] Spoiler block is the same colour as the background

Describe the bug
Marking text as a spoiler blocks it out, and the block is the same colour as the background making it impossible to see where spoiler text is.
To Reproduce
Steps to reproduce the behavior:

Mark some text as spoiler.
Block should be visible to be clicked on. It can still be clicked on but is not visible.

Screenshots
Covered spoiler:

Uncovered:

Setup

OS: Same in Windows and Linux
Client Mod: BetterDiscord
Release Channel: stable
Custom CSS: no
Discord Language: English

hopefully fixed


I broke something :-(

Hi
Been using the script for years and decided I would give it a try to convert some media to H.265 using Nvidia card in a docker environment.
All the media i have gives the following error.
Kindly have a look. Thanks
"Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> hevc (hevc_nvenc))
Stream #0:1 -> #0:1 (eac3 (native) -> aac (native))
Stream #0:1 -> #0:2 (eac3 (native) -> eac3 (native))
Stream #0:2 -> #0:3 (subrip (srt) -> mov_text (native))
Press [q] to stop, [?] for help
Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scaler_0'
Error reinitializing filters!
Failed to inject frame into filter network: Function not implemented
Error while processing the decoded data for stream #0:0
[aac @ 0x55b31d34f140] Qavg: 59828.000
[aac @ 0x55b31d34f140] 2 frames left in the queue on closing
Conversion failed!"
Here are my .ini settings
[Converter]
ffmpeg = ffmpeg
ffprobe = ffprobe
threads = 0
hwaccels = cuda, nvenc, cuvid, ,hevc_cuvid,cuda,vaapi, dxva2, qsv, d3d11va
hwaccel-decoders = h265_nvenc,hevc_cuvid,h265_cuvid,hevc_nvenc,h264_cuda, hevc_cuda, h264_cuvid, hevc_cuvid, mjpeg_cuvid, mpeg1_cuvid, mpeg2_cuvid, mpeg4_cuvid, vc1_cuvid, vp8_cuvid, vp9_cuvid, hevc_qsv, h264_qsv
hwdevices = cuda
hwaccel-output-format = cuda:cuda
output-directory =
output-format = mp4
output-extension = mp4
temp-extension =
minimum-size = 0
ignored-extensions = nfo, ds_store
copy-to =
move-to =
delete-original = True
sort-streams = True
process-same-extensions = True
bypass-if-copying-all = False
force-convert = True
post-process = False
wait-post-process = False
detailed-progress = False
opts-separator = ,
preopts =
postopts =
regex-directory-replace = [^\w-_. ]
[Permissions]
chmod = 0644
uid = -1
gid = -1
[Metadata]
relocate-moov = True
full-path-guess = True
tag = True
tag-language = eng
download-artwork = poster
sanitize-disposition =
strip-metadata = False
keep-titles = False
[Video]
codec = hevc_nvenc, hevc
max-bitrate = 0
bitrate-ratio =
crf = -1
crf-profiles =
preset =
codec-parameters =
dynamic-parameters = False
max-width = 480
profile =
max-level = 0.0
pix-fmt =
filter =
force-filter = False

after testing on command line , the command below produces the desired results.
How do I making the changes on autoprocess.ini to make these  replicate this?
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i 'The Goldbergs (2013) - S09E06 - The Hunt for the Great Albino Pumpkin WEBDL-1080p.mp4' -c:v nvenc_hevc -vtag hvc1 -c:a copy 'The Goldbergs (2013) - S09E06 - The Hunt for the Great Albino Pumpkin WEBDL-1080p-h265.mp4'

Can you include the commands that is generated with your current Settings? Full debug logs would be ideal

Also the error you're getting is due the scaler being applied because of your max width setting so your test command avoids this entirely so not really an apples to apples test


NaN data in the environment which hook not pass the center of the drone.

❓ Issue

Object state has NaN.

🤔 Possible solutions

ignore trajectory
limit the max rope force.

🔧 Trail
**🧰 Method: **

👀 Results: 😢/😃

🔧 Trail
🧰 Method: force clip + large force auto reset

clip the rope force to limit its value
if the l2-norm of the force larger than 500N, then auto reset.

👀 Results: 😢/😃
Now the issue is resolved, and they can be trained without any issues.


Fix bug where duplicate students can be uploaded

Codecov Report

Merging #573 (3c27367) into master (5b8aac1) will decrease coverage by 0.02%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master     #573      +/-   ##
============================================
- Coverage     60.90%   60.88%   -0.03%
  Complexity      622      622
============================================
  Files           104      104
  Lines          2246     2247       +1
  Branches        259      259
============================================
  Hits           1368     1368
- Misses          761      762       +1
  Partials        117      117

Impacted Files
Coverage Δ

src/main/java/seedu/programmer/ui/MainWindow.java
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Wrong binary encoding on Consumer

Bug Report
I'm creating the minimal example of a producer and consumer for node.
The producer works great, and our kafka monitoring tools seem to receive messages perfectly.
Even the kafka-console-consumer receives messages in the right way.
> kafka-console-consumer --bootstrap-server $KAFKA_HOST:$KAFKA_PORT --topic t1 --offset 0 --partition 0
foobar
foobar
foobar

The problem looks on the node kafka consumer, where I'm receiving the following message.value:
'\u0004"M\u0018`@\u001a\u001b\u0000\u0000\u0000\u0016\u0000\u0001\u0000Q\u00176)u+\u000f\u0000�\u0003key\u0000\u0000\u0000\u0006foobar\u0000\u0000\u0000\u0000'

Environment

Node version: 10.15.0
Kafka-node version: 4.0.2
Kafka version: 1.1.1

For specific cases also provide

Number of Brokers: 2
Number partitions for topic: 1

Include Sample Code to reproduce behavior
// producer
const { load } = require('dotenv')

load()

const { KafkaClient, Producer, KeyedMessage } = require('kafka-node')

const kafkaHost = `${process.env.KAFKA_HOST}:${process.env.KAFKA_PORT}`
const topic = process.env.KAFKA_TOPIC
const client = new KafkaClient({ kafkaHost })
const producer = new Producer(client)
const messages = [ new KeyedMessage('key', 'foobar') ]

producer.on('ready', () => {
  setInterval(() => {
    producer.send([{ topic, messages }], (error, data) => {
      if (error) {
        console.error(data)
      } else {
        console.log(data)
      }
    })
  }, 5000)
})

producer.on('error', (error) => {
  console.error(error)
})

// consumer
const { load } = require('dotenv')

load()

const { KafkaClient, Consumer } = require('kafka-node')

const kafkaHost = `${process.env.KAFKA_HOST}:${process.env.KAFKA_PORT}`
const topic = process.env.KAFKA_TOPIC
const offset = process.env.KAFKA_OFFSET || 0
const client = new KafkaClient({ kafkaHost })
const consumer = new Consumer(
  client,
  [{ topic, offset }],
  { autoCommit: false, fromOffset: true }
)

consumer.on('message', (message) => {
  console.log(message.offset, message.value)
})

Include output with Debug turned on
Producer output:
  kafka-node:KafkaClient Connect attempt 1 +0ms
  kafka-node:KafkaClient Trying to connect to host: kafka1.playground.mainstream.on-prem.kaas.adsint.biz port: 9092 +3ms
  kafka-node:KafkaClient createBroker kafka1.playground.mainstream.on-prem.kaas.adsint.biz 9092 +1ms
  kafka-node:KafkaClient Sending versions request to kafka1.playground.mainstream.on-prem.kaas.adsint.biz:9092 +78ms
  kafka-node:KafkaClient broker socket connected {"host":"kafka1.playground.mainstream.on-prem.kaas.adsint.biz","port":"9092"} +4ms
  kafka-node:KafkaClient connected to socket, trying to load initial metadata +1ms
  kafka-node:KafkaClient missing apiSupport waiting until broker is ready... +1ms
  kafka-node:KafkaClient waitUntilReady [BrokerWrapper kafka1.playground.mainstream.on-prem.kaas.adsint.biz:9092 (connected: true) (ready: false) (idle: false) (needAuthentication: false) (authenticated: false)] +0ms
  kafka-node:KafkaClient Received versions response from kafka1.playground.mainstream.on-prem.kaas.adsint.biz:9092 +257ms
  kafka-node:KafkaClient setting api support to {"21":{"min":0,"max":0,"usable":false},"22":{"min":0,"max":0,"usable":false},"23":{"min":0,"max":0,"usable":false},"24":{"min":0,"max":0,"usable":false},"25":{"min":0,"max":0,"usable":false},"26":{"min":0,"max":0,"usable":false},"27":{"min":0,"max":0,"usable":false},"28":{"min":0,"max":0,"usable":false},"29":{"min":0,"max":0,"usable":false},"30":{"min":0,"max":0,"usable":false},"31":{"min":0,"max":0,"usable":false},"33":{"min":0,"max":0,"usable":false},"34":{"min":0,"max":0,"usable":false},"35":{"min":0,"max":0,"usable":false},"37":{"min":0,"max":0,"usable":false},"38":{"min":0,"max":0,"usable":false},"39":{"min":0,"max":0,"usable":false},"40":{"min":0,"max":0,"usable":false},"41":{"min":0,"max":0,"usable":false},"42":{"min":0,"max":0,"usable":false},"produce":{"min":0,"max":5,"usable":2},"fetch":{"min":0,"max":7,"usable":2},"offset":{"min":0,"max":2,"usable":0},"metadata":{"min":0,"max":5,"usable":1},"leader":{"min":0,"max":1,"usable":false},"stopReplica":{"min":0,"max":0,"usable":false},"updateMetadata":{"min":0,"max":4,"usable":false},"controlledShutdown":{"min":0,"max":1,"usable":false},"offsetCommit":{"min":0,"max":3,"usable":2},"offsetFetch":{"min":0,"max":3,"usable":1},"groupCoordinator":{"min":0,"max":1,"usable":0},"joinGroup":{"min":0,"max":2,"usable":0},"heartbeat":{"min":0,"max":1,"usable":0},"leaveGroup":{"min":0,"max":1,"usable":0},"syncGroup":{"min":0,"max":1,"usable":0},"describeGroups":{"min":0,"max":1,"usable":0},"listGroups":{"min":0,"max":1,"usable":0},"saslHandshake":{"min":0,"max":1,"usable":1},"apiVersions":{"min":0,"max":1,"usable":0},"createTopics":{"min":0,"max":2,"usable":1},"deleteTopics":{"min":0,"max":1,"usable":false},"describeConfigs":{"min":0,"max":1,"usable":0},"saslAuthenticate":{"min":0,"max":0,"usable":0}} +1ms
  kafka-node:KafkaClient broker is now ready +0ms
  kafka-node:KafkaClient updating metadatas +143ms
  kafka-node:KafkaClient compressing messages if needed +5s
{ t1: { '0': 0 } }
  kafka-node:KafkaClient compressing messages if needed +5s
{ t1: { '0': 1 } }
  kafka-node:KafkaClient compressing messages if needed +5s
{ t1: { '0': 2 } }

Consumer output:
  kafka-node:KafkaClient Connect attempt 1 +0ms
  kafka-node:KafkaClient Trying to connect to host: kafka1.playground.mainstream.on-prem.kaas.a
dsint.biz port: 9092 +2ms
  kafka-node:KafkaClient createBroker kafka1.playground.mainstream.on-prem.kaas.adsint.biz 9092
 +1ms
  kafka-node:KafkaClient Sending versions request to kafka1.playground.mainstream.on-prem.kaas.
adsint.biz:9092 +76ms
  kafka-node:KafkaClient broker socket connected {"host":"kafka1.playground.mainstream.on-prem.kaas.adsint.biz","port":"9092"} +4ms
  kafka-node:KafkaClient connected to socket, trying to load initial metadata +1ms
  kafka-node:KafkaClient missing apiSupport waiting until broker is ready... +0ms
  kafka-node:KafkaClient waitUntilReady [BrokerWrapper kafka1.playground.mainstream.on-prem.kaas.adsint.biz:9092 (connected: true) (ready: false) (idle: false) (needAuthentication: false) (authenticated: false)] +0ms
  kafka-node:KafkaClient Received versions response from kafka1.playground.mainstream.on-prem.kaas.adsint.biz:9092 +442ms
  kafka-node:KafkaClient setting api support to {"21":{"min":0,"max":0,"usable":false},"22":{"min":0,"max":0,"usable":false},"23":{"min":0,"max":0,"usable":false},"24":{"min":0,"max":0,"usable":false},"25":{"min":0,"max":0,"usable":false},"26":{"min":0,"max":0,"usable":false},"27":{"min":0,"max":0,"usable":false},"28":{"min":0,"max":0,"usable":false},"29":{"min":0,"max":0,"usable":false},"30":{"min":0,"max":0,"usable":false},"31":{"min":0,"max":0,"usable":false},"33":{"min":0,"max":0,"usable":false},"34":{"min":0,"max":0,"usable":false},"35":{"min":0,"max":0,"usable":false},"37":{"min":0,"max":0,"usable":false},"38":{"min":0,"max":0,"usable":false},"39":{"min":0,"max":0,"usable":false},"40":{"min":0,"max":0,"usable":false},"41":{"min":0,"max":0,"usable":false},"42":{"min":0,"max":0,"usable":false},"produce":{"min":0,"max":5,"usable":2},"fetch":{"min":0,"max":7,"usable":2},"offset":{"min":0,"max":2,"usable":0},"metadata":{"min":0,"max":5,"usable":1},"leader":{"min":0,"max":1,"usable":false},"stopReplica":{"min":0,"max":0,"usable":false},"updateMetadata":{"min":0,"max":4,"usable":false},"controlledShutdown":{"min":0,"max":1,"usable":false},"offsetCommit":{"min":0,"max":3,"usable":2},"offsetFetch":{"min":0,"max":3,"usable":1},"groupCoordinator":{"min":0,"max":1,"usable":0},"joinGroup":{"min":0,"max":2,"usable":0},"heartbeat":{"min":0,"max":1,"usable":0},"leaveGroup":{"min":0,"max":1,"usable":0},"syncGroup":{"min":0,"max":1,"usable":0},"describeGroups":{"min":0,"max":1,"usable":0},"listGroups":{"min":0,"max":1,"usable":0},"saslHandshake":{"min":0,"max":1,"usable":1},"apiVersions":{"min":0,"max":1,"usable":0},"createTopics":{"min":0,"max":2,"usable":1},"deleteTopics":{"min":0,"max":1,"usable":false},"describeConfigs":{"min":0,"max":1,"usable":0},"saslAuthenticate":{"min":0,"max":0,"usable":0}} +0ms
  kafka-node:KafkaClient broker is now ready +0ms
  kafka-node:KafkaClient updating metadatas +139ms
  kafka-node:Consumer consumer ready +0ms
  kafka-node:KafkaClient updating metadatas +138ms
  kafka-node:KafkaClient createBroker kafka1.playground.mainstream.on-prem.kaas.adsint.biz 9092 +2ms
  kafka-node:KafkaClient waitUntilReady [BrokerWrapper kafka1.playground.mainstream.on-prem.kaas.adsint.biz:9092 (connected: true) (ready: false) (idle: false) (needAuthentication: false) (authenticated: false)] +1ms
  kafka-node:KafkaClient Sending versions request to kafka1.playground.mainstream.on-prem.kaas.adsint.biz:9092 +143ms
  kafka-node:KafkaClient Received versions response from kafka1.playground.mainstream.on-prem.kaas.adsint.biz:9092 +250ms
  kafka-node:KafkaClient setting api support to {"21":{"min":0,"max":0,"usable":false},"22":{"min":0,"max":0,"usable":false},"23":{"min":0,"max":0,"usable":false},"24":{"min":0,"max":0,"usable":false},"25":{"min":0,"max":0,"usable":false},"26":{"min":0,"max":0,"usable":false},"27":{"min":0,"max":0,"usable":false},"28":{"min":0,"max":0,"usable":false},"29":{"min":0,"max":0,"usable":false},"30":{"min":0,"max":0,"usable":false},"31":{"min":0,"max":0,"usable":false},"33":{"min":0,"max":0,"usable":false},"34":{"min":0,"max":0,"usable":false},"35":{"min":0,"max":0,"usable":false},"37":{"min":0,"max":0,"usable":false},"38":{"min":0,"max":0,"usable":false},"39":{"min":0,"max":0,"usable":false},"40":{"min":0,"max":0,"usable":false},"41":{"min":0,"max":0,"usable":false},"42":{"min":0,"max":0,"usable":false},"produce":{"min":0,"max":5,"usable":2},"fetch":{"min":0,"max":7,"usable":2},"offset":{"min":0,"max":2,"usable":0},"metadata":{"min":0,"max":5,"usable":1},"leader":{"min":0,"max":1,"usable":false},"stopReplica":{"min":0,"max":0,"usable":false},"updateMetadata":{"min":0,"max":4,"usable":false},"controlledShutdown":{"min":0,"max":1,"usable":false},"offsetCommit":{"min":0,"max":3,"usable":2},"offsetFetch":{"min":0,"max":3,"usable":1},"groupCoordinator":{"min":0,"max":1,"usable":0},"joinGroup":{"min":0,"max":2,"usable":0},"heartbeat":{"min":0,"max":1,"usable":0},"leaveGroup":{"min":0,"max":1,"usable":0},"syncGroup":{"min":0,"max":1,"usable":0},"describeGroups":{"min":0,"max":1,"usable":0},"listGroups":{"min":0,"max":1,"usable":0},"saslHandshake":{"min":0,"max":1,"usable":1},"apiVersions":{"min":0,"max":1,"usable":0},"createTopics":{"min":0,"max":2,"usable":1},"deleteTopics":{"min":0,"max":1,"usable":false},"describeConfigs":{"min":0,"max":1,"usable":0},"saslAuthenticate":{"min":0,"max":0,"usable":0}} +0ms
  kafka-node:KafkaClient broker is now ready +0ms
0 '\u0004"M\u0018`@\u001a\u001b\u0000\u0000\u0000\u0016\u0000\u0001\u0000Q\u00176)u+\u000f\u0000�\u0003key\u0000\u0000\u0000\u0006foobar\u0000\u0000\u0000\u0000'
1 '\u0004"M\u0018`@\u001a\u001f\u0000\u0000\u0000\u0012\u0000\u0001\u0000�\u0001\u0000\u0000\u0000\u00176)u+\u000f\u0000�\u0003key\u0000\u0000\u0000\u0006foobar\u0000\u0000\u0000\u0000'
2 '\u0004"M\u0018`@\u001a\u001f\u0000\u0000\u0000\u0012\u0000\u0001\u0000�\u0002\u0000\u0000\u0000\u00176)u+\u000f\u0000�\u0003key\u0000\u0000\u0000\u0006foobar\u0000\u0000\u0000\u0000'

Any ideas what could be the problem? Am I doing something wrong?

if i set the encoding to binary, i got the same kand of message like you .
if you try to set the encoding to utf8, or  transcoding the  data from buffer to string, can you get the correct message?
const topic = 'test'
const options = {
  kafkaHost: 'localhost:9092',
  groupId: '*****t',
  fromOffset: 'earliest',
  encoding: 'binary',
  autoCommit: false
}
const consumerGroup = new ConsumerGroupStream(options, topic)
// or trancoding buffer to string
const buf = Buffer.from('runoob', 'utf8').toString();

Hi @yanqi321, I tried changing the consumer with the following:
const { load } = require('dotenv')

load()

const { KafkaClient, ConsumerGroupStream } = require('kafka-node')

const kafkaHost = `${process.env.KAFKA_HOST}:${process.env.KAFKA_PORT}`
const topic = process.env.KAFKA_TOPIC
const consumer = new ConsumerGroupStream({
  kafkaHost,
  fromOffset: 'earliest',
  encoding: 'utf8',
  autoCommit: false
}, topic)

consumer.on('data', (message) => {
  console.log(message.offset, message.value)
})

Using either encoding: 'binary' or encoding: 'utf8' renders the same problem.
message.value with binary:
\u0004"M\u0018`@&\u0000\u0000\u0000\u0016\u0000\u0001\u0000ð\u0011\u001f{Îö¡\u0001\u0000\u0000\u0000\u0001iB¿b\u0000\u0000\u0000\u0003key\u0000\u0000\u0000\u0006foobar\u0000\u0000\u0000\u0000

message.value with utf8:
\u0004"M\u0018`@�&\u0000\u0000\u0000\u0016\u0000\u0001\u0000�\u0011\u001f{���\u0001\u0000\u0000\u0000\u0001iB��b\u0000\u0000\u0000\u0003key\u0000\u0000\u0000\u0006foobar\u0000\u0000\u0000\u0000

Transcoding does not seem to fix the issue either.

I try your code in my computer, it is work fine.  try set the encoding to 'buffer',  and transcoding it to string, i hope that can help you(I don't expect much of that);
Sometime i think  the npm module having same thing wrong while transcoding the message;

@yanqi321 just tried switching the encoding to buffer with same result:
const { load } = require('dotenv')

load()

const { ConsumerGroupStream } = require('kafka-node')

const kafkaHost = `${process.env.KAFKA_HOST}:${process.env.KAFKA_PORT}`
const topic = process.env.KAFKA_TOPIC
const consumer = new ConsumerGroupStream({
  kafkaHost,
  fromOffset: 'earliest',
  encoding: 'buffer',
  autoCommit: false
}, topic)

consumer.on('data', (message) => {
  console.log(message.offset, message.value.toString('utf8'))
})

Output:
...
490 '\u0004"M\u0018`@�&\u0000\u0000\u0000\u0016\u0000\u0001\u0000�\u0011\u001f{���\u0001\u0000\u0000\u0000\u0001iB��b\u0000\u0000\u0000\u0003key\u0000\u0000\u0000\u0006foobar\u0000\u0000\u0000\u0000'
491 '\u0004"M\u0018`@�&\u0000\u0000\u0000\u0016\u0000\u0001\u0000�\u0011\u001f{���\u0001\u0000\u0000\u0000\u0001iB��b\u0000\u0000\u0000\u0003key\u0000\u0000\u0000\u0006foobar\u0000\u0000\u0000\u0000'
492 '\u0004"M\u0018`@�&\u0000\u0000\u0000\u0016\u0000\u0001\u0000�\u0011\u001f{���\u0001\u0000\u0000\u0000\u0001iB��b\u0000\u0000\u0000\u0003key\u0000\u0000\u0000\u0006foobar\u0000\u0000\u0000\u0000'
493 '\u0004"M\u0018`@�&\u0000\u0000\u0000\u0016\u0000\u0001\u0000�\u0011\u001f{���\u0001\u0000\u0000\u0000\u0001iB��b\u0000\u0000\u0000\u0003key\u0000\u0000\u0000\u0006foobar\u0000\u0000\u0000\u0000'
494 '\u0004"M\u0018`@�&\u0000\u0000\u0000\u0016\u0000\u0001\u0000�\u0011\u001f{���\u0001\u0000\u0000\u0000\u0001iB��b\u0000\u0000\u0000\u0003key\u0000\u0000\u0000\u0006foobar\u0000\u0000\u0000\u0000'
495 '\u0004"M\u0018`@�&\u0000\u0000\u0000\u0016\u0000\u0001\u0000�\u0011\u001fw�*\u0001\u0000\u0000\u0000\u0001iB�F\f\u0000\u0000\u0000\u0003key\u0000\u0000\u0000\u0006foobar\u0000\u0000\u0000\u0000'
496 '\u0004"M\u0018`@�&\u0000\u0000\u0000\u0016\u0000\u0001\u0000�\u0011\u001fw�*\u0001\u0000\u0000\u0000\u0001iB�F\f\u0000\u0000\u0000\u0003key\u0000\u0000\u0000\u0006foobar\u0000\u0000\u0000\u0000'
497 '\u0004"M\u0018`@�&\u0000\u0000\u0000\u0016\u0000\u0001\u0000�\u0011\u001fw�*\u0001\u0000\u0000\u0000\u0001iB�F\f\u0000\u0000\u0000\u0003key\u0000\u0000\u0000\u0006foobar\u0000\u0000\u0000\u0000'

Just tried with a Python (2.7) consumer, and it seems to work fine:
from kafka import KafkaConsumer
from dotenv import load_dotenv, find_dotenv
from os import getenv

load_dotenv(find_dotenv())

topic = getenv('KAFKA_TOPIC')
host = getenv('KAFKA_HOST')
port = getenv('KAFKA_PORT')

print (topic, host, port)

consumer = KafkaConsumer(
  topic,
  bootstrap_servers=[host + ':' + port],
  auto_offset_reset='earliest',
  enable_auto_commit=False
)

for message in consumer:
  print "%d: %s" % (message.offset, message.value.decode('utf-8'))

# requirements.txt
kafka
python-dotenv==0.5.1
lz4

Output:
...
490: foobar
491: foobar
492: foobar
493: foobar
494: foobar
495: foobar
496: foobar
497: foobar

Quick update:
I was testing how to setup a local kafka + zookeeper and got to test this again without our kafka playground instance. Apparently it "just works".
We are currently investigating why might this be caused on that specific playground instance with this specific library (as other consumers seem to be working fine).

Will you able to find anything related to this.

Hi @prakashkumars, our investigations lead towards the current builds of confluent kafka in our envs. Our team is currently researching what's so different in their kafka build than confluent's default kafka build. Hope to hear some news from them soon!

@RecuencoJones Was this problem solved for you ? I was getting the same garbled characters while using consumer.Didn't see any issue with Scala/Java kafka consumers.

@anuragrk @RecuencoJones I am facing the same problem, is this issue is fixed? or any alternative fixes available.

@RecuencoJones we are facing same issue. Any progress on this?

Hey @vladaman @neelesh1206 @anuragrk, sorry for the late response, I've been out of Kafka topics for a long while.
We couldn't find a fix for this with kafka-node and eventually switched to kafkajs with LZ4 codec and didn't get any more problems.

I am experiencing the same issue. Any update?


banner.js not pulling sponsors

Widget for backers and sponsors results in error
ISSUE
When using this script:
<script src="https://opencollective.com/:collectiveSlug/banner.js"></script> to show backers and sponsors, nodemailer is getting an error.
EXPECTED RESULT
Backers and sponsors should show
ACTUAL RESULT
Can be seen at bottom of left blue sidebar on nodemailer

@monkeywithacupcake Looks like it's working great again. Not sure what happened back then.

Closing.


[BUG] - Auto-tunneling on WiFi name not working

Describe the bug
I've created a new WG tunnel, with the settings I've given the WiFi name I wish to use the tunnel on.
Set as primary tunnel YES
Set as mobile data tunnel NO
WifiName is there with the cross on it. No regex
Restart on ping fail (beta) NO
Smartphone (please complete the following information):

Device: OnePlus 9
Android Version: Android 14
App Version: 3.5.2
Backend: Usespace

To Reproduce
Steps to reproduce the behavior:

Create WG tunnel
Mark as pirmary tunnel
Add Wifi name to the list
Enable auto tunneling in the main app settings.
Notification for auto tunnel appears

Expected behavior
Auto connect to tunnel when that wifi is connected. Then disconnect once it leaves the WiFi

Hello! This sounds like an issue with permissions. If you check the logs screen, do you see something that says found valid SSID?
It seems like you either do not have precise location + always allow location permission or you have location services disabled?

Thanks for getting back to me.
Checked the app's permissions and showing as all the time and precise is enabled for location.
I tried exporting the logs, but its only exporting one log at a time. When I try scrolling up, it then throws me to the bottom with a new event saying that I finger swiped on the app 😅

Do you have location services turned on?
You should be able to click the save floating action button and it will save a zip of logs to your downloads folder.
Yeah, I need to fix that scroll issue.😅  I'll add a fix for that.

Location Services are definitely on and confirmed by using GPS in Maps app.
If go Support -> Read the logs -> Press the floating save icon, it doesn't do anything until I press a log, then when I press the save icon, it then saves that log to a txt file in Download. So is that also broken or did I do something wrong 😅

I'll look into this issues with the logs export. Does the wifi name have any special characters? There is currently an issue open right now where some regex characters are causing issues.

I'll look into this issues with the logs export. Does the wifi name have any special characters? There is currently an issue open right now where some regex characters are causing issues.

WiFi name was all letters and no spaces.

If you get a chance to upgrade to the new version, the logs experience should be improved for the scrolling. It would then be helpful to get the logs or log message you see when your SSID changes.

If you get a chance to upgrade to the new version, the logs experience should be improved for the scrolling. It would then be helpful to get the logs or log message you see when your SSID changes.

Did that version get published to the beta testers on the PlayStore?  Don't want to use the APK, as I believe it stops it auto updating 😅

No worries! It is in review right now for Google Play. It should be published soon!

New version should now be out on Google Play.

Just tested it, searched the logs for the SSID name when I changed wifi, and it doesn't appear in any of the log files I exported.
Is there any other key words to look for?

The SSID name will not appear in the logs, but you will see a message saying valid SSID or invalid SSID. This will help us determine if there is a permission issue.

Just toggled my wifi off and on to test, and there's no SSID in the logs I exported.  Tried it twice now as well.
That's with
Tunnel on untrusted wifi FALSE
Tunnel on mobile data FALSE
Tunnel on ethernet FALSE
Restart on Ping Fail FALSE
Start Auto-tunneling pressed to started it now reads Stop auto-tunneling
Then in the primary WG tunnel, I have the WiFi SSID listed.

Auto wifi tunneling also broke for me with the release of 3.5.3

Just tested 3.6.0 still no luck. I opened the log in the app, and toggled WiFi off and on, and also switched WiFi networks via the WiFi applet in the notification area. Seeing no events to say the app even saw the WiFi change network. That's with just Auto Tunnelling Enabled.
Enabling Tunnel on untrusted WiFi, the profiles do get picked correctly and also if I put a trusted WiFi name in, it also disconnects the VPN while on that network. I can see the events happening in the logs.
So I can get the original auto WiFi feature working to auto connect on all untrusted WiFi, but I can't get it to only connect on certain WiFi names. Which you implemented back in September. As if it doesn't listen for those WiFi events unless the old setting is ticketed.
Or have I been doing this wrong and I need to use wildcards to whitelist all SSIDs, then do a invert wildcard on the WiFi networks that I don't trust?

Can someone help me understand the exact use case? It sounds like basically we want to be able to tunnel on a single specific SSID for a specific tunnel while all other SSIDs are "trusted" and we are trying to accomplish this with wildcards. Do I have that right?

Yes that's exactly, what I'm wanting to do. I shall do that with the regex then 👍🏻

I think this one should be resolved in the lasts version 3.6.3. Let me know if there are still issues and I'll reopen the ticket. Thanks!


How to get chat history ?

Im using OpenFire server and have not idea what method to call to get history...
Can someone please advise what to call, what event subscribe ?

Anyone please ?

Looks like @Mofl2328 has done some work on this:
https://github.com/Mofl2328/Sharp.Xmpp/tree/master/Extensions/XEP-0313 (MaM)
Though keep in mind that xep-0313 is still experimental.

Looks like @Mofl2328 has done some work on this:
https://github.com/Mofl2328/Sharp.Xmpp/tree/master/Extensions/XEP-0313 (MaM)
Though keep in mind that xep-0313 is still experimental.

Usualy is the client who stores the conversation... that was the original idea for XMPP.


Question answer validation

Ok! I made some changes, once they're updated I can check it again and merge it. Thanks!

Best practice in JS is to use camelCase for naming of variables and functions.

Thanks @roderickmorales. Unfortunately in this case @katloboda inherited the code -- I can update those on master once her changes are in so we move closer to best practices. Good thought.


corrected USNC acronym

This PR is from a new fork of the repo, since my previous fork broke when I made this repo public. This PR will include the changes made for PR #5 (closed because I deleted that repo) and additional change made while recording the presentation.
An updated version of the poster is:
poster.pdf

I can make those changes, but what I have in this PR is what was submitted for the conference. What are your thoughts @katyhuff ?

Made the changes.


Problem with series-parallel composition

Hi,
I'm trying to use the series parallel composition to calculate the total resistance in a simple electronics circuits. I have many circuits for that the total resistance is calculated good however the following case calculated wrong. Is there any workaround?
Python code:
from graphtheory.structures.edges import Edge
from graphtheory.structures.graphs import Graph
from graphtheory.structures.factory import GraphFactory
from graphtheory.seriesparallel.sptrees import find_sptree
from graphtheory.seriesparallel.spnodes import btree_print

#
N = 6           # number of nodes
G = Graph(N)
nodes = range(N)
edges = [Edge(1, 2), Edge(2, 3), Edge(3, 0), Edge(2, 4), Edge(4, 0), Edge(4, 5), Edge(5, 0)]
for node in nodes:
 G.add_node(node)
for edge in edges:
 G.add_edge(edge)

#
T = find_sptree(G)
btree_print(T)

The output (with my notes)
R6 1 2
R5 2 3
R4 3 0
R3 2 4
R2 4 0
R1 4 5
<split> 5 0

   [1]Node(1, 2, 'edge') R6
      [2]Node(2, 4, 'edge') R3
            [4]Node(2, 3, 'edge') R5
            [4]Node(3, 0, 'edge') R4
         [3]Node(2, 0, 'series') R5+R4=Ra
            [4]Node(0, 4, 'edge') R2
               [5]Node(0, 5, 'edge') <split>
               [5]Node(5, 4, 'edge') R1
            [4]Node(0, 4, 'series') R1
         [3]Node(0, 4, 'parallel') R2|R1=Rb
      [2]Node(2, 4, 'series') Ra+Rb WRONG!
   [1]Node(2, 4, 'parallel') WRONG: R3 not parallel
[0]Node(1, 4, 'series')

{'value': 1.75, 'valid': True, 'expected': 2.0, 'circuit_key': 'circuit_no_gens'}
fn: g-ser-par2-ok.json, Solver error: error

Here is the circuit:
Generator is not in the graph. We can't have parallel edges so R1 is splitted by a dummy edge ()

Hello,
Recognizing an undirected sp-graph is not unique and this is your case. The tree found by the program is correct but you expected a different solution.
In your case (electronics circuits), the starting node (1) and the ending node (0) are known, so I suggest using directed series-parallel graphs. I added new modules (dsptools, dsptrees) and tester files with examples. The file tester2.py returns your expected solution.
Regards,
Andrzej


ghcr images: switch docker base images from Ubuntu 22 to 23?

What problem or use case are you trying to solve?
The two workflow builds of sandbox/OpenDevin images for arm64 take twice the time than for amd64.
If compatibility allows and this could be made faster by using a newer Ubuntu version,
e.g. 23 instead of 22, this should be considered.
Do you have thoughts on the technical implementation?
In workflows and docker files look into using more current image bases to speed up building.

cc @xingyaoww @Shimada666  👋

ubuntu 24.04 have released, why not this?

ubuntu 24.04 have released, why not this?

There are package dependencies in 24.x that currently cause problems with OpenDevin and first need to be addressed.

ubuntu 24.04 have released, why not this?

There are package dependencies in 24.x that currently cause problems with OpenDevin and first need to be addressed.

Can you give issue links with that?

Can you give issue links with that?

Sorry, not sure there's an issue for it. I only remember from building from source a while back that there was some virtual package, which was a self-installable one v23.04, which caused installation issues as it was "provided" then by 2 different other packages.
But I can't remember its specific name right now, but remember alsa and/or cups being mentioned in my attempts. 😔

Can you give issue links with that?

Sorry, not sure there's an issue for it. I only remember from building from source a while back that there was a package, which was self-installable in v23.04, but with v24.04 it went "virtual" which caused installation issues as it was "provided" then by 2 different other packages. I can't remember its specific name right now, only that alsa and/or cups were being mentioned in my attempts. 😔

mesagl? I posted a issue with that and it got merged, and then mesagl isn't default in the image now though

I couldn't find the issue, do you still have a link for that?

I couldn't find the issue, do you still have a link for that?

https://github.com/VirtualGL/virtualgl/issues/242
I guess this

I couldn't find the issue, do you still have a link for that?

VirtualGL/virtualgl#242
I guess this

That one too, but I ran into this just now trying 24.04:
E: Package 'libasound2' has no installation candidate
This package is virtual, i.e. must be installed by one of two other packages, and both have consequences on a train of dependencies, afaik.


Create custom formater

Hi,
I've created this question in stack overflow.
What I need is formatting like
[INFO]:2018-02-25 10:42:20 - Starting Process
There is a simple way to do it ?
I use go logrus and I need to change the format of the output message, I try several of things without success
what I need is format like this with formatter of logrus
[error]: datetime -  message

What I've tried without success is this
 logger := &logrus.Logger{
        Out:   os.Stderr,
        Level: level,
        Formatter: &logrus.TextFormatter{
            DisableColors: true,
            TimestampFormat : "2006-01-02 15:04:05",
            FullTimestamp:true,

        },
    }

This produce the following
time="2018-02-25 10:42:20" level=error msg="Starting Process"

And I want it to be
[INFO]:2018-02-25 10:42:20 - Starting Process

Yes, the documentation lacks a bit.

@IceflowRE  - if it possible can you please provide example how to do it ?
or please answer here ?
*https://stackoverflow.com/questions/48971780/go-change-format-of-log-output-logrus
**
Thanks!

You can make a new object that implements Formatter (https://github.com/sirupsen/logrus/blob/master/formatter.go#L7). Alternatively, you can embed the existing logrus.TextFormatter and override the Format method:
type myFormatter struct {
  logrus.TextFormatter
}

func (f *myFormatter) Format(entry *Entry) ([]byte, error) {
  // as an example, we prepend a shamrock to all log messages
  // but you can do whatever you want here.
  return append([]byte("☘ "), f.TextFormatter.Format(entry))
}

// then use this formatter as your formatter
logger := &logrus.Logger{
  Out: os.Stderr,
  Level: level,
  Formatter: &myFormatter{logrus.TextFormatter{ /* ... use your config here ..*/ }},
}

@stevvooe ,HI
Looks promising,

when I try your code I got error unresolved type Entry
Not enough argument to return return append([]byte("[lvl]"), f.TextFormatter.Format(entry))

Can you please assist ? Thanks!

@stevvooe  - Can you assist please ?

As you are implementing this formatter outside the logrus package itself, you need to prefix those type by the package name: logrus.Entry and logrus.TextFormatter

For Go n00bs (like me) who come across this in the future:
@stevvooe gave a good jumping-off point, but since he was writing this off-the-cuff, the details are a little off (such as management of the error, and the use of ... in the call to append).  The code I'm currently (provisionally) working with is as follows:
type myFormatter struct {
	logrus.TextFormatter
}
func (f *myFormatter) Format(entry *logrus.Entry) ([]byte, error) {
	l, e := f.TextFormatter.Format(entry)
	return append([]byte("prefix: "), l...), e
}

(Here, I always prepend prefix:  regardless of whether an error was encountered.  I'm not sure how necessary that is.)

I'm going to close this because the accepted answer on stackoverflow is pretty complete and accurate.

Would be nice if you had an example of how to create a simple custom Formatter in the package documentation itself.
Would safe people some googling and also provide them with a authoritative example.

I am mounting one myself, removing some of the equal signs such as in:
msg="This is a message from the logger".
When I am able to conclude it, I will be sure to post a solution for it.


[Feature Request]: Add isValidating field and form properties

Description
As our validation allows for async validation, we should have field properties for isValidating and a form property accumulating the field's isValidating properties.
Describe the solution you'd like
No response
Describe alternatives you've considered
No response

Hey I'd like to work on this!

Assigning you now, @joaom00 !


Add options for ucp backup

Proposed changes
Add the include-logs and --security-opt label=disable options
Related issues (optional)
https://docker.atlassian.net/browse/ENGDOCS-100
https://docker.atlassian.net/browse/ENGDOCS-125

Deploy preview for docsdocker ready!
Built with commit f66d194883a161f32074a662dbc41358469eea78
https://deploy-preview-9376--docsdocker.netlify.com

Doc bug present in the example provided:
https://docs.docker.com/ee/admin/backup/back-up-ucp/#create-a-ucp-backup-using-the-cli
More details:
https://github.com/docker/docker.github.io/pull/9430

LGTM

Thanks, can you approve the review?


Can't make OR query for multiple parameters

Var object=[{id1:1,id2:3},{id1:4,id2:8}]
Collection name is 'logindata'
Query: ?id1=1 OR id2:9
So I get one record : {id1:1,id2:3}
Please help me out
Thanks

OR operations is not supported by this library. I created an experimental branch that aimed to support OR queries but it was never completed.

@Starefossen did you have any luck at $or operator? I really need it !

Unfortunately no.

Probably late to the party but I did this lib as an alternative https://github.com/krasimir/q2m


Version 3 - roman-r-m

Check List:

[x] Tests pass (./test.sh <username> shows no differences between expected and actual outputs)
[x] All formatting changes by the build are committed
[x] Your launch script is named calculate_average_<username>.sh (make sure to match casing of your GH user name) and is executable
[x] Output matches that of calculate_average_baseline.sh
[x] For new entries, or after substantial changes: When implementing custom hash structures, please point to where you deal with hash collisions (line number) - lines 309-312

Execution time: 3.8s. Down from 4.5s for version 2
Execution time of reference implementation: 45s

00:05.764 now, nice!


Added BMI Calculator in React Projects

BMI Calculator using React #481
Close #494
Checklist:

[X] I have mentioned the issue number in my Pull Request.
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have created a helpful and easy to understand README.md

I created this BMI Calculator where a person can check his/her Body Mass index by entering their height and weight. This is created using react and it has a very good frontend. Can you please merge my pull request and add the hacktoberfest-accepted label on it. Thank you!

Thank you! :)


Upgrade to 5.6.2

Only a few changes here since it is a minor upgrade.  I deleted the lighting data assets for the UI Input Module since it is no longer a supported module.  The idea is that deleting the data allows us to switch platforms more quickly (less textures to re-import) and prevents us from getting import warnings about outdated formats.  I also updated the lighting for the VR Visualizer to prevent out of date warnings.

Hmm, heads-up that on the particles project I get Oculus and SteamVR headset instability (something like half framerate, which causes flickering on Oculus and a blank screen on SteamVR). Opening that project in 5.6.1f1 instead prevents any issues. We should double-confirm we don't have those issues generally before merging this.

I've been testing PRs in 2017.1.0 for a while now so this upgrade it satisfactory to me; it doesn't have the problems I had with Oculus in 5.6.2.
@protodeep Would you like to give this another round of testing before we approve and merge?


Add chown configuration parameter to set groupId and userId for files.

NOT READY
Regards #727
Add a configuration to jib-maven-plugin/jib-gradle-plugin that can define the userid/groupid to set for the files we build into the container, similar to how Dockerfile's COPY --chown works. The container configuration User field should also be set accordingly.
chown can either be a single uid or a string of the form uid:gid.
So, for example, in your case, the configuration could look something like:
Maven:
<configuration>
  ...
  <container>
    <chown>10:11</chown>
  </container>
</configuration>

Gradle:
jib.container.chown = 10000

Tasks:

[ ] Add OwnerGroup to represent a pair of user id and group id (group id defaults to user id if not given).
[ ] Add User field to ContainerConfigurationTemplate.
[ ] Add OwnerGroup to BuildConfiguration.
[ ] Use OwnerGroup to build the layer files.
[ ] Add jib-maven-plugin chown parameter.
[ ] Add jib-gradle-plugin chown parameter.

Closing unless found necessary again.

Just FTR: files are already readable and possibly executable for any, so it doesn't seem necessary to set user and group IDs. At least we don't see a use case for it for now.


fix: cannot find remote branch

Hi,
Thank you for this amazing library! In terms of getting a fingerprint of the project and its structure, there is nothing that I have come across that is easier to use.
While running this action in one of my repos I faced the following issue which this PR resolves
/usr/bin/git rev-parse --verify <branch-name>
fatal: Needed a single revision

and there after pushing fails since it tries to push to a branch that already exists
  /usr/bin/git push --set-upstream origin <branch-name>
  To https://github.com/<org>/<repo-name>
   ! [rejected]        visualizer -> visualizer (non-fast-forward)
  error: failed to push some refs to 'https://github.com/<org>/<repo-name>'
  hint: Updates were rejected because the tip of your current branch is behind
  hint: its remote counterpart. Integrate the remote changes (e.g.
  hint: 'git pull ...') before pushing again.
  hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Changing to git switch with the --track flag solves the problem.

This PR addresses and solves this issue

@Wattenberger  If possible please take a look at this PR

possible to please get a review here?


Create recipe template for generating a K-Gain Calibration file

Is your feature request related to a problem? Please describe.
No recipe template exists for creating a K-Gain calibration file from L1 data.
Describe the solution you'd like
A recipe template needs to be written to generate a K-gain Calibration file from L1 data.
Additional context
In order to test this you will need to get your hands on the appropriate input data from II&T or TVAC and you will quantitatively compare the calibration file to the outputs of the II&T data pipeline. In addition please describe in your own words (~several sentences to a paragraph) what the recipe does and what the inputs and outputs are. Finally, please make sure the appropriate table entry is complete within the Confluence DRP Implementation Document table in Section 2.
Here's a checklist:

[ ] Recipe Written
[ ] Test Written and passing
[ ] Table Entry Complete

found a bug in calibrate_kgain: OBSTYPE keyword is in pri_hdr (not ext_hdr)

Yeah, it looks like OBSTYPE should be in pri_hdr, and we are inconsistent in our step functions so far on which one we assumed it to be in. Good to correct it as we go!
If you think those variables are useful, should be expose them as tunable parameters in the step function arguments?

Gotcha. I think it's ok to make a copy of the data with the right OBSTYPE keyword that we are requesting (assume that the request is successful).

I am running into a division by zero error, which comes from frames with a roi with 0 columns. That comes from the kgain_params:
'colroi1': 1199,
'colroi2': 2000
which means 1 column?
I wonder why that ever worked.
File "/home/schreiber/workspaceroman/corgidrp/corgidrp/calibrate_kgain.py", line 530, in calibrate_kgain
local_mean_arrays = [ptc_bin2(frame[rowroi, colroi],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/schreiber/workspaceroman/corgidrp/corgidrp/calibrate_kgain.py", line 116, in ptc_bin2
DN_bin = max_DN / tot_bins
~^~~~
ZeroDivisionError: division by zero

I'm not familiar with the code, but I was wondering if you checked whether the shape of your input dataset into the calibrate_kgain function is the same as what the unit tests were testing. Just to sanity check that you are inputting data of the expected dimensions.

Thanks @semaphoreP, you are right, I had to set return_full_frame to true in prescan_biassub. It was false before, so the size of the array was not as expected.

@JuergenSchreiber, in order to deliver this software we need to have the same input data that you're using run through the TVAC pipeline. My understanding is that this was never done with the most up to date pipeline upon which this code is built. Can you please coordinate with @mygouf about having someone run this piepline for comparison.

Also, please post the comparison to the TVAC result, in the best way you see fit to this confluence page as part of the PR. It will help a lot with the software delivery.


feat: Implement type aliases

Description

Problem*

Resolves https://github.com/noir-lang/noir/issues/735
Summary*
following https://github.com/noir-lang/noir/pull/817
also added support for generics

Documentation

[x] This PR requires documentation updates when merged.

[x] I will submit a noir-lang/docs PR.

[ ] I will request for and support Dev Rel's help in documenting this PR.

Additional Context

PR Checklist*

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt on default settings.

huh .. its working today
no idea why

Did you test it before pushing the empty definition inside the collector rather than the resolver?

@Ethan-000 maybe its a result of resolution order being random (https://github.com/noir-lang/noir/issues/1122)?
It might fail some times and succeed on others.

I think I'm alright with merging this with the random struct/type order bug since that is an already-filed and separate issue from type aliases.

I've opened #2112 to address the comments on this PR


Updated detail-reveal component template and css based on UI team feedback

@miq-bot add_label enhancement

@chalettu can you please add screenshots?

Please run 'gulp vet' to catch sass lint issues.

Closed State.
Changes Implemented: Only show arrows and arrow cell border if a row has more details.

Open State .  Changes implemented.  Grey background on row when row selected.  Close Button X implemented.
Implemented indent of content inside of detail component

@serenamarie125 thoughts?

@chalettu thanks for making the changes!  Couple of nits ...

is it possible to add borders around the expanded panel as shown here http://www.patternfly.org/pattern-library/content-views/list-view/#/_design?
is there any way to have the width of the first column in the wider so that the headings aren't wrapping?
I'm assuming the ".." and "..." is fake data ?

@serenamarie125 I added more of a pronounced border to when the component is expanded.  The content that was in the other sample image is actually not part of this PR and was just mock data.   The content that goes inside this component can be changed to fit whatever is needed inside it.  I will be sure when we do start doing PR's for detail content that we do have the tabular data more stretched out appropriately.

@cshinn Could you please review?

@chalettu I don't know that the drop shadow etc. is necessary. In our current implementations of expandable lists, the border is still just a simple 1px solid border, but it is changed to blue as seen here. Similar styling in this case would lead to more consistency within our products.

Ok, I can work on doing a blue border.  The link Serena sent, I looked at the sample and it had a shadow on the border on the bottom so I just tried to mimick that.  I'll put in a blue border and add another snapshot.

@chalettu Gotcha, in this case, there's an inconsistency between the design and implementation pages for the pattern. At the moment, I'd say that conforming to the current implementation is more important. I'll look into getting that inconsistency resolved.

@cshinn Here is the updated view to support a blue border around the active revealed component.  I color matched the code that patternfly is using for the listview as well.

@chalettu Border looks great! The expanded section could use some more left padding to make it appear subordinate to the main row. Should be about 20px indented from the "name" in this case.

@cshinn Does this work?

Spectacular! Looks great


Appears in the NgModule.imports of TypeModule, but itself has errors

After upgrade to angular 8.1 to angular 9.
error
export class PageModule{ }
~~~~~~~~~~~~~
src/app/file-explorer.module.ts:32:14 - error NG6002: Appears in the NgModule.imports of PageModule, but itself has errors

@whitegoat, can you please provide a minimal reproduction or at the very minimum the file-explorer.module.ts ?


'nullOk'. nullOk: nullOk - flutter 2.0

The nullOK is no longer available in APIs

Why not maybeLocaleOf ?
I think maybeLocaleOf  is equivalent of localeOf with nullOk: true.

@karabanovbs , yes your right thanks for the tip.

👍  Please support null safety

Thanks for your contribution! LGTM

I have error like top topic
G:/flutter-stable/flutter/.pub-cache/hosted/pub.dartlang.org/readmore-1.0.1/lib/readmore.dart:82:58: Error: No named parameter with the name 'nullOk'.
        widget.locale ?? Localizations.localeOf(context, nullOk: true);

My flutter version:
Flutter 2.10.4 • channel stable • https://github.com/flutter/flutter.git
Framework • revision c860cba910 (2 weeks ago) • 2022-03-25 00:23:12 -0500
Engine • revision 57d3bac3dd
Tools • Dart 2.16.2 • DevTools 2.9.2

Any have idea ?


Set up click analytics telemetry auto-collection plugin

We are currently manually tracking clicks on specific UI components. Each time a new component is added we have to add new code to capture usage telemetry on it.
Application Insights now has a plugin that enables auto-collection of clicks analytics.
This task is for investigating how the plugin will work for us while maintaining the telemetry schema already established and if feasible, proceed with implementation.
AB#10483

Can we have a discussion to see whether there is duplication of effort with the Portal team?

Closing this one - Portals team collects this data.


AddressComplete: Alignment in HTML receipt

Description
Left align the column data in the receipt of response
Steps to reproduce

Go to GC Forms Staging > Create form with Addresses on different pages > Set to download
Fill out a test response
Download HTML + receipt
Scroll down through receipt file for misaligned data

Details

Browser: Chrome
Operating system: Mac
Environment: Staging
Language: EN
Viewport: Desktop

Expected behaviour
Left aligned for scannability and consistency
Screenshots or videos

Closing as a duplicate of #2110 , outside of AddressComplete functionality


Add superclass to pregnancy loss, recurrent, 4

close #6867
@sabrina
I'm not totally certain about this. This superclass makes sense per Megan's suggestion (based on what is in the OMIM description) but it seems to be weird to have a disease that is a susceptibility and a disease. But it does seem to make sense in this case.
I wonder if maybe should remove the superclass 'fertility disorder'. Looks like I am the source and obviously, i am not an expert.

@nicolevasilevsky I agree that it is weird, but we have other examples of terms that are both diseases and susceptibilities.
What is weird here is the disease and the susceptibility are both for "pregnancy loss, recurrent".
I would suggest that we keep both these parents (susceptibility and disease), and that we review this in the context of a branch review, when we talk to experts.


[Question] different apk sizes

Why is the APK size on playstore smaller than on fdroid?

The APK size on Play Store is smaller than on F-Droid because of the different ways they handle app signing and compression. Play Store uses Google’s app signing process which optimizes the APK size by removing unnecessary files and compressing resources1. On the other hand, F-Droid does not use Google’s app signing process and does not compress resources2.

The APK size on Play Store is smaller than on F-Droid because of the different ways they handle app signing and compression. Play Store uses Google’s app signing process which optimizes the APK size by removing unnecessary files and compressing resources. On the other hand, F-Droid does not use Google’s app signing process and does not compress resources.

OK, thanx for clearification


File input is missing padding for longer 'no file chosen' translations

The file input is missing a margin on the right, for when the browser localization results in longer text for the input field:

Giving the element a padding-right solves it (I used --size-3 here:

:tada: This issue has been resolved in version 1.5.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Benchmarks: Rework Benchmark Infra

BenchmarkAttribute is a FactAttribute but it is used on tests with parameters & alongwith DataAttribute like BenchmarkVariation which are generally used on Theory. As always xUnit does not like our mess and shows errors. 😝
This errors/warnings are explicitly disabled in csproj files at present. Rework this infrastructure and remove nowarns.

Even better, lets start using BenchmarkDotNet

Includes getting comparison of EF6/1,.1/2.0.

Decided in ad-hoc discussion today that benchmarks on current dev will not be run as xUnit test as a part of build.

They will be included in same solution so that any API breaks/usages can be found.
It will not run as xUnit test so if there is functional break then it will be not caught during build.cmd run though given coverage in other tests there should be minimal impact. (Also there is a way to run it manually)
If any functional breaks happen then we can react to it.

Blocked on https://github.com/dotnet/BenchmarkDotNet/issues/481

We have moved to use BenchmarkDotNet for our benchmark runs.


Support for Intel Arc with VAAPI

I'm trying to make this work with the av1_vaapi encoder so it will utilise my Intel Arc A380 card. The transcode command that worked for me manually is this:
ffmpeg -vaapi_device /dev/dri/renderD128 -i test.mkv -vf 'format=nv12|vaapi,hwupload' -c:v av1_vaapi -qp 28 -sn test.av1.mkv
I tried running ab-av1 auto-encode --encoder av1_vaapi -i test.mkv -o test.av1.mkv and I'm getting this error:
Incompatible pixel format 'yuv420p10le' for codec 'av1_vaapi', auto-selecting format 'vaapi'
[out#0/matroska @ 0x5b0806908e40] Codec AVOption qp (use constant quantizer mode) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> av1 (av1_vaapi))
Press [q] to stop, [?] for help
Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scale_0'
[vf#0:0 @ 0x5b080690bc80] Error reinitializing filters!

I then tried ab-av1 auto-encode -i test.mkv --encoder av1_vaapi --enc-input vaapi_device=/dev/dri/renderD128 --vfilter 'format=nv12|vaapi,hwupload' -o test.av1.mkv and got this error:
[hwupload @ 0x7579fc005000] A hardware device reference is required to upload frames to.
[Parsed_hwupload_4 @ 0x7579fc004f00] Query format failed for 'Parsed_hwupload_4': Invalid argument
[fc#0 @ 0x5a052980fc80] Error reinitializing filters!

It looks like ffmpeg is not getting the vaapi_device parameter. I tried to add it manually by creating a shell script that will prepend it whenever the ffmpeg command is invoked, and got this error:
Impossible to convert between the formats supported by the filter 'Parsed_setpts_5' and the filter 'auto_scale_3'
[fc#0 @ 0x5c338adbab40] Error reinitializing filters!
[fc#0 @ 0x5c338adbab40] Task finished with error code: -38 (Function not implemented)
[fc#0 @ 0x5c338adbab40] Terminating thread with return code -38 (Function not implemented)
[vost#0:0/wrapped_avframe @ 0x5c338ae943c0] Could not open encoder before EOF
[vost#0:0/wrapped_avframe @ 0x5c338ae943c0] Task finished with error code: -22 (Invalid argument)
[vost#0:0/wrapped_avframe @ 0x5c338ae943c0] Terminating thread with return code -22 (Invalid argument)
[out#0/null @ 0x5c338adafa00] Nothing was written into output file, because at least one of its streams received no packets.

This is the shell script I used:
#!/bin/bash

# Define the log file path
LOG_FILE="/ffmpeg_commands.log"

# Log the current timestamp
echo "$(date +"%Y-%m-%d %H:%M:%S") - Running command: ffmpeg $@" >> "$LOG_FILE"

# Execute the FFmpeg command
/usr/local/bin/ffmpeg -vaapi_device /dev/dri/renderD128 "$@"

I then also tried to add -hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD128 to every ffmpeg call with my script, and got this error when using the same auto-encode command as above:
Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scale_0'
[fc#0 @ 0x643b8c513b80] Error reinitializing filters!
[fc#0 @ 0x643b8c513b80] Task finished with error code: -38 (Function not implemented)
[fc#0 @ 0x643b8c513b80] Terminating thread with return code -38 (Function not implemented)
[vost#0:0/wrapped_avframe @ 0x643b8c698200] Could not open encoder before EOF
[vost#0:0/wrapped_avframe @ 0x643b8c698200] Task finished with error code: -22 (Invalid argument)
[vost#0:0/wrapped_avframe @ 0x643b8c698200] Terminating thread with return code -22 (Invalid argument)
[out#0/null @ 0x643b8d9b8700] Nothing was written into output file, because at least one of its streams received no packets.

The ffmpeg command it's failing to run is this:
ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD128 -r 24 -i /.ab-av1-FjQUZnSHXUZ5/test.sample290+480f.av1_vaapi.crf32.mkv -r 24 -i /.ab-av1-FjQUZnSHXUZ5/test.sample290+480f.mkv -filter_complex [0:v]format=yuv420p10le,setpts=PTS-STARTPTS[dis];[1:v]format=yuv420p10le,format=nv12|vaapi,hwupload,setpts=PTS-STARTPTS[ref];[dis][ref]libvmaf=n_threads=12 -f null -
I'm not sure what else to try.

We definitely should have some better tools to debug ffmpeg calls. I'll try to add some logging options when I get some time.
The way I've used vaapi, somewhat successfully, before was more like:
ab-av1 sample-encode -i test.mkv --crf 32 -e av1_vaapi --enc-input hwaccel=vaapi --enc-input hwaccel_output_format=vaapi

I tried that, getting a similar error:
ffmpeg version 7.0.1 Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 13 (Ubuntu 13.2.0-23ubuntu4)
  configuration: --disable-debug --disable-doc --disable-ffplay --enable-alsa --enable-cuvid --enable-ffprobe --enable-gpl --enable-libaom --enable-libass --enable-libfdk_aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libplacebo --enable-librav1e --enable-libshaderc --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpl --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nonfree --enable-nvdec --enable-nvenc --enable-cuda-llvm --enable-opencl --enable-openssl --enable-stripping --enable-vaapi --enable-vdpau --enable-version3 --enable-vulkan
  libavutil      59.  8.100 / 59.  8.100
  libavcodec     61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample   5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
Input #0, matroska,webm, from '/.ab-av1-l2uXdheV1RVP/test.sample290+480f.av1_vaapi.crf32.mkv':
  Metadata:
    ENCODER         : Lavf61.1.100
  Duration: 00:00:19.94, start: 0.000000, bitrate: 1213 kb/s
  Stream #0:0(eng): Video: av1 (libaom-av1) (Main), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
      Metadata:
        ENCODER         : Lavc61.3.100 av1_vaapi
        DURATION        : 00:00:19.937000000
Input #1, matroska,webm, from '/.ab-av1-l2uXdheV1RVP/test.sample290+480f.mkv':
  Metadata:
    ENCODER         : Lavf61.1.100
  Duration: 00:00:20.02, start: 0.000000, bitrate: 9410 kb/s
  Stream #1:0(eng): Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
      Metadata:
        DURATION        : 00:00:20.019000000
Stream mapping:
  Stream #0:0 (av1) -> format:default
  Stream #1:0 (h264) -> format:default
  libvmaf:default -> Stream #0:0 (wrapped_avframe)
Press [q] to stop, [?] for help
Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scale_0'
[fc#0 @ 0x5cebde1fcb80] Error reinitializing filters!
[fc#0 @ 0x5cebde1fcb80] Task finished with error code: -38 (Function not implemented)
[fc#0 @ 0x5cebde1fcb80] Terminating thread with return code -38 (Function not implemented)
[vost#0:0/wrapped_avframe @ 0x5cebde2b6680] Could not open encoder before EOF
[vost#0:0/wrapped_avframe @ 0x5cebde2b6680] Task finished with error code: -22 (Invalid argument)
[vost#0:0/wrapped_avframe @ 0x5cebde2b6680] Terminating thread with return code -22 (Invalid argument)
[out#0/null @ 0x5cebde383400] Nothing was written into output file, because at least one of its streams received no packets.
frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A speed=N/A
Conversion failed!

It's the vmaf run which is failing, which implies encoding ran successfully.
If you run with --keep you can look at the sample & encoded sample in dir .ab-av1-xxxx/. When we have the exact ffmpeg vmaf call it may be clearer why it doesn't work here.

I'm sorry, I made a mistake in my last comment. The command you sent did work:
# ab-av1 sample-encode -i test.mkv --crf 32 -e av1_vaapi --enc-input hwaccel=vaapi --enc-input hwaccel_output_format=vaapi
- Sample 1 (13%) vmaf 28.48
  00:00:11 Sample 1/1 ######################################### (sampling,     eta 0s)
Encode with: ab-av1 encode -e av1_vaapi -i /data/hdd1/downloads/test.mkv --crf 32 --enc-input hwaccel=vaapi --enc-input hwaccel_output_format=vaapi

VMAF 28.48 predicted video stream size 86.82 MiB (13%) taking 31 seconds

I still had my script that changed the ffmpeg command, that's why it returned an error.
As you can see though, now I have a different problem - the VMAF score is way too low. When I run auto-encode I get this:
# ab-av1 auto-encode -i /data/hdd1/downloads/test.mkv -e av1_vaapi --enc-input hwaccel=vaapi --enc-input hwaccel_output_format=vaapi -o test.av1.mkv
  Searching 00:00:18 ######################################### (crf 10, VMAF 28.48, size 13%)
Error: Failed to find a suitable crf

With the latest commit 6d66b207476b2c5d22ca4437ac63dc3c6184b6d6 you can run with RUST_LOG=ab_av1=debug ab-av1 ... to print out all ffmpeg calls.
I think in this case vmaf is not liking the input, it may be possible to jiggle it so it works or perhaps it is some issue with the encoder that causes this. If you can find better working ffmpeg vmaf invocation I can perhaps address this here.

A bit of a mess, but here's the command I used and the output:
# RUST_LOG=ab_av1=debug ab-av1 auto-encode -i test.mkv -e av1_vaapi --enc-input hwaccel=vaapi --enc-input hwaccel_output_format=vaapi
Encoding test.av1_vaapi.mkv
⠁ Searching 00:00:00 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- (sampling crf 132, eta 0s)[2024-06-27T17:49:16Z INFO  ab_av1::command::sample_encode] encoding sample 1/1 crf 132
⠁ Searching 00:00:00 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- (sampling crf 132, eta 0s)[2024-06-27T17:49:16Z DEBUG ab_av1::ffmpeg] cmd `ffmpeg -y -hwaccel vaapi -hwaccel_output_format vaapi -i /.ab-av1-7DgGFBkgRgDy/test.sample290+480f.mkv -c:v av1_vaapi -g 240 -q 132 -pix_fmt yuv420p10le -an /.ab-av1-7DgGFBkgRgDy/test.sample290+480f.av1_vaapi.crf132.mkv`
⠲ Searching 00:00:00 ###################--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- (sampling crf 132, eta 8s)[2024-06-27T17:49:16Z INFO  ab_av1::vmaf] vmaf test.sample290+480f.av1_vaapi.crf132.mkv vs reference test.sample290+480f.mkv
[2024-06-27T17:49:16Z DEBUG ab_av1::vmaf] cmd `ffmpeg -r 24 -i /.ab-av1-7DgGFBkgRgDy/test.sample290+480f.av1_vaapi.crf132.mkv -r 24 -i /.ab-av1-7DgGFBkgRgDy/test.sample290+480f.mkv -filter_complex [0:v]format=yuv420p10le,setpts=PTS-STARTPTS[dis];[1:v]format=yuv420p10le,setpts=PTS-STARTPTS[ref];[dis][ref]libvmaf=n_threads=12 -f null -`
⠁ Searching 00:00:08 ########################################################------------------------------------------------------------------------------------------------------------------------------------------------------------------------- (sampling crf 132, eta 20s)[2024-06-27T17:49:24Z INFO  ab_av1::command::sample_encode] crf 132 VMAF 30.49 predicted video stream size 27.52 MiB (4%) taking 25 seconds
⠁ Searching 00:00:08 ########################################################-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- (sampling crf 71, eta 20s)[2024-06-27T17:49:24Z INFO  ab_av1::command::sample_encode] encoding sample 1/1 crf 71
[2024-06-27T17:49:24Z DEBUG ab_av1::ffmpeg] cmd `ffmpeg -y -hwaccel vaapi -hwaccel_output_format vaapi -i /.ab-av1-7DgGFBkgRgDy/test.sample290+480f.mkv -c:v av1_vaapi -g 240 -q 71 -pix_fmt yuv420p10le -an /.ab-av1-7DgGFBkgRgDy/test.sample290+480f.av1_vaapi.crf71.mkv`
⠲ Searching 00:00:09 #####################################################################################--------------------------------------------------------------------------------------------------------------------------------------------- (sampling crf 71, eta 17s)[2024-06-27T17:49:25Z INFO  ab_av1::vmaf] vmaf test.sample290+480f.av1_vaapi.crf71.mkv vs reference test.sample290+480f.mkv
[2024-06-27T17:49:25Z DEBUG ab_av1::vmaf] cmd `ffmpeg -r 24 -i /.ab-av1-7DgGFBkgRgDy/test.sample290+480f.av1_vaapi.crf71.mkv -r 24 -i /.ab-av1-7DgGFBkgRgDy/test.sample290+480f.mkv -filter_complex [0:v]format=yuv420p10le,setpts=PTS-STARTPTS[dis];[1:v]format=yuv420p10le,setpts=PTS-STARTPTS[ref];[dis][ref]libvmaf=n_threads=12 -f null -`
⠁ Searching 00:00:17 ################################################################################################################------------------------------------------------------------------------------------------------------------------ (sampling crf 71, eta 17s)[2024-06-27T17:49:33Z INFO  ab_av1::command::sample_encode] crf 71 VMAF 28.57 predicted video stream size 105.90 MiB (16%) taking 24 seconds
⠁ Searching 00:00:17 ################################################################################################################------------------------------------------------------------------------------------------------------------------ (sampling crf 10, eta 17s)[2024-06-27T17:49:33Z INFO  ab_av1::command::sample_encode] encoding sample 1/1 crf 10
[2024-06-27T17:49:33Z INFO  ab_av1::command::sample_encode] crf 10 VMAF 28.48 predicted video stream size 86.82 MiB (13%) taking 32 seconds (cache)
  Searching 00:00:17 ############################################################################################################################################################################################################################## (crf 10, VMAF 28.48, size 13%)Error: Failed to find a suitable crf

Thanks. If you use --keep you can try running the vmaf directly on the samples and perhaps see if modifying it yields better results. It would also be possible to report this upstream that way, in the case ffmpeg is doing the wrong thing here. It seems possible that the problem could also be with the encoded result, maybe it has a bug or something that results in low vmaf when comparing to the original.

I checked the sample files that came from RUST_LOG=ab_av1=debug ab-av1 auto-encode -i test.mkv -e av1_vaapi --enc-input hwaccel=vaapi --enc-input hwaccel_output_format=vaapi --keep --cache false
The original file looks fine, but the encoded ones (test.sample290+480f.av1_vaapi.crf132.mkv, test.sample290+480f.av1_vaapi.crf71.mkv, and test.sample290+480f.av1_vaapi.crf10.mkv) are all choppy and with pixelated areas in some frames, so the vmaf score is probably accurate and the encoding is defective.

The framerate is constant, 23.976. Checked the original file with both mpv and mediainfo.

It's possible that the codec in the test.mkv isn't compatible with hwaccel=vaapi or the file is corrupt at some point.
If that happens and the problem isn't VFR I write the problematic file again and into ffmpeg lossless codec (it's quick, x264 lossless mode should do the same job and your way to go if vaapi can't read ffv):
ffmpeg -i test.mkv -map_metadata -1 -map_chapters -1 -bsf:v filter_units=remove_types=6 -vcodec ffv1 -level 3 -an -sn -dn purevideofile.mkv
If frames are corrupt, ffmpeg will show it.
Then I would do ab-av1 crf-search -i purevideofile.mkv and compare with ab-av1 crf-search -i test.mkv completely in software mode to check if they both get same results first.


[FEATURE REQUEST] Add PyLint to build pipeline

Is your feature request related to a problem? Please describe.
Currently we have the ability to use PyLint in the devcontainer and output the results in junit format.
Describe the solution you'd like
We want to integrate this into the Azure build pipelines as well and publish the results:
https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/test/publish-test-results?view=azure-devops&tabs=trx%2Cyaml
Describe alternatives you've considered
None
Additional context
See https://github.com/epiphany-platform/epiphany/blob/develop/core/src/epicli/.vscode/tasks.json how PyLint can be executed.

DoD checklist

[ ] Changelog updated
[ ] COMPONENTS.md updated / doesn't need to be updated
[ ] Schema updated / doesn't need to be updated
[ ] Feature has automated tests
[ ] Automated tests passed (QA pipelines)

[ ] apply
[ ] upgrade

[ ] Idempotency tested
[ ] Documentation added / updated / doesn't need to be updated
[ ] All conversations in PR resolved
[ ] Solution meets requirements and is done according to design doc
[ ] Usage compliant with license
[ ] Backport tasks created / doesn't need to be backported

To run PyLint in the pipeline:

install pylint and pylint_junit plugin on the agent
execute:

cd $(System.DefaultWorkingDirectory)
# pylint --rcfile .pylintrc ./cli ./tests --output-format colorized --exit-zero
mkdir -p test_results && pylint --rcfile .pylintrc ./cli ./tests --output test_results/pylint_results.xml --exit-zero

Don't forget about --exit-zero flag for CI scripts (https://github.com/PyCQA/pylint/blob/1.9/ChangeLog#L59)

Publish results to Azure DevOps


Lab 1

Lab 1

Students should be seeking to merge their changes into their trunk branch, not the source of this project.


nuget version- update to beta 10

Hi.
Can you please update the specific nuget packges to version beta 10.
in Wangkanai.Detection.Crawler - beta 9 there is an issue with user agent Mozilla/5.0 (compatible; MJ12bot/v1.4.8; http://mj12bot.com/) which got fixes in beta 10.
Can you ship this update as well?

Beta10 is publish already duo, but it’s rank low maybe semantics version.
I’ll what can be done to fix it.

Yes i can see that now. it somehow show that the beta 10 is lower version in nuget.

Probably nuget sort the nuget packages version by string. beta9 is higher then beta10.

It’s should be fix now


1.1.0 - build currently being used by apache-airflow 1.10.1

Checklist

[X] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[X] Reset the build number to 0 (if the version changed)
[X] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[X] Ensured the license file is being packaged.

1.1.0 build currently being used by apache-airflow 1.10.1
Implemented pin_compatible to resolve overdepending

Thanks,
BrentDorsey
hill-country-machine-learning

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@pmlandwehr - Thanks for reviewing.  PR from branch 0.1.1 (actuall 1.1.0)

Closing this because I made these changes in #12


Completed event missed for short-running task

I had a task that was created and completed within a single interval and only registered the Created event. It should have registered a Created and Completed event and sent notifications for both (ignoring for now that multiple events for a single task should maybe be packaged into a single, compound notification).

This happened because a newly instantiated task will always register a Created event, regardless of its state.
https://github.com/aazuspan/taskee/blob/78f9bfcef3edb2f2ddf905df9bb12099f03095cc/src/taskee/tasks.py#L17
To handle this, we could:

Add some logic to only register the most recent event for each task (in the example above, ignore the Created event and register the Completed event.)
Redesign the event system to allow tasks to store an event queue.

Option 1 could technically miss a notification in the unlikely case that someone is watching for Created events but not Completed events. Option 2 adds a bit more complexity to cover a relatively minor corner case, and also raises the question of whether we send multiple notifications for a single task or need to make a new system to combine notifications.
I think the path forward may be clearer once I tackle #13.


Properly close sumo subprocess

Running
python3.7 ./examples/single_agent.py ./scenarios/straight/ --headless

throws the following message at the end of code execution:
/usr/lib/python3.7/subprocess.py:883: ResourceWarning: subprocess 26149 is still running

This message is due to self._sumo_proc not being closed properly. Relevant sections of the code are shown below.
https://github.com/huawei-noah/SMARTS/blob/49b2842192b179e8ab65ceeb8e511cc9261032ed/smarts/core/sumo_traffic_simulation.py#L130-L136
https://github.com/huawei-noah/SMARTS/blob/49b2842192b179e8ab65ceeb8e511cc9261032ed/smarts/core/sumo_traffic_simulation.py#L257-L283

After a few experiments, turns out that SUMO will exit after all clients close the connection. So if the proc is not being closed properly, what could go wrong? Anyway, adding termination explicitly do no harm to the teardown.


oerschema plugin for grav

@curiosity26 I think this might be a good option for helping people create OER: https://github.com/hibbitts-design/grav-skeleton-oer-content-space
Should be a super simple plugin, no?

and done.

Nice! Just getting caught up on this and you're off and running! Very cool
On Tue, Feb 14, 2017 at 7:12 PM Michael Collins<EMAIL_ADDRESS>wrote:

and done.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/open-curriculum/grav-plugin-oerschema/issues/1#issuecomment-279877985,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD3P9hJ9L9FDp5Hh1Bi--nfEUZ5JtvjMks5rckLUgaJpZM4MA7Jd
.

--
Alex Boyce

Added an issue to be included in the plugins directory: https://github.com/getgrav/grav/issues/1306

@curiosity26 I mean, it took forever because I don't know what I'm doing. Basically just wraps the content in a div with the oerschema prefix.

That's pretty much all there is to it lol
On Tue, Feb 14, 2017 at 7:17 PM Michael Collins<EMAIL_ADDRESS>wrote:

@curiosity26 https://github.com/curiosity26 I mean, it took forever
because I don't know what I'm doing. Basically just wraps the content in a
div with the oerschema prefix.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/open-curriculum/grav-plugin-oerschema/issues/1#issuecomment-279878981,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD3P9u5lnMsFMNbRkpd8uNSoxQRw7J_cks5rckQxgaJpZM4MA7Jd
.

--
Alex Boyce

@curiosity26 Could you fix this plugin to instead add a property to the body. Apparently adding a div can break grav themes. I just don't know how to write php to do that.

Yea I'll have to figure out how grav themes work but sure!
On Tue, Feb 14, 2017 at 7:31 PM Michael Collins<EMAIL_ADDRESS>wrote:

@curiosity26 https://github.com/curiosity26 Could you fix this plugin
to instead add a property to the body. Apparently adding a div can break
grav themes. I just don't know how to write php to do that.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/open-curriculum/grav-plugin-oerschema/issues/1#issuecomment-279881360,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD3P9njEunMaf_eGjAZ-qsfBw-LW-CsIks5rckdugaJpZM4MA7Jd
.

--
Alex Boyce

@curiosity26 install this: https://github.com/hibbitts-design/grav-skeleton-oer-content-space and then the plugin.

its yaml, php, and twig.

Best bet is to download the complete skeleton with Grav at https://getgrav.org/download/skeletons/oer-content-space/0.9.2

once grav is running, go to plugins, and enable testing. You can search for OER and it'll come up.

Awesome! I'll let ya know how it goes. Thanks
On Tue, Feb 14, 2017 at 8:19 PM Michael Collins<EMAIL_ADDRESS>wrote:

once grav is running, go to plugins, and enable testing. You can search
for OER and it'll come up.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/open-curriculum/grav-plugin-oerschema/issues/1#issuecomment-279889353,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD3P9oz7-VVhufKQdpeZGXIQBN_BDPdcks5rclKLgaJpZM4MA7Jd
.

--
Alex Boyce


alt-j

is a cool band

I was going to go with the alt-j triangle to begin with but I found it too accessible.


i18n: Python projects' instructions are not translatable

For these projects the instructions are in the README file inside the boilerplate, as such they are not translatable.
I propose to add a copy of the projects readme inside the project file in the main repo.

CC: @nhcarrigan

Okay, I created https://github.com/freeCodeCamp/freeCodeCamp/pull/43854 as an example attempt so we can play with how this works.
My thoughts are:

Currently challenge type 10 doesn't seem to support the `--instructions-- header. Might be something to poke @ojeytonwilliams about?
We will likely want to remove the README from the projects in favour of the information on /learn, so we maintain a single source of truth.
Once we are happy with the example PR, we should create a checklist here (similar to the typescript migration), allow folks to claim files, and open this up for contribution.

Yeah I think that's a solid approach.

The change to the boilerplate should wait for a website deployment, so that campers aren’t left without instructions