How to Write Input_Signature's for function's and model's names when using tf.fucntion?

Hi,
I want to decorate tf.function unto my training function
@tf.function
def trainOneSample(data, model, optimizer, lossFunc, accFunc):
...

where data are a pair of 5D arrays with float32 and uint8 types (for input and label), model is the name of my NN model, optimiser is the name of an optimisation object, lossFunc and accFunc are names of custom functions. How can I decorate them in tf.function by Input_Signature? I cannot find out any solution in tf's tutorial or guide.

@yourtheron Please take a look at this issue and let me know if it helps. Thanks!

@gowthamkpr Got it. So it seems that I do not have to provide any input signature for optimizer, lossFunc, or accFunc here when defining and decorating trainOneSample(...), is that correct?
A by-product question: My trainOneSample(...) function will execute my model's call(...) method, and of course, other operations such as lossFunc(...) and accFunc(...). So in order to let tf create a graph and concrete functions, shall I decorate tf.function unto all of those functions as well as provide input signatures to each one of them or decorate trainOneSample(...)  only? All of inputs to those functions are tf tensors.

@yourtheron Can I close this issue as it is not a bug. Thanks!

@gowthamkpr Sorry for the late reply. Sure, thanks for your help!


Add simplification rules for the Modulo operator

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
(This section helps Arrow developers understand the context and why for this feature, in addition to  the what)
Simplify the modulus expression: A % B
Describe the solution you'd like
A clear and concise description of what you want to happen.
This could be similar to the Divide operator: https://github.com/apache/arrow-datafusion/blob/master/datafusion/optimizer/src/simplify_expressions.rs#L774-L791
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

I'll pick this up.

I could think of below rules. Is there anything else to be added?
A % 1 = 0
A % A = 0
A % 0 = DivByZeroErr

Thank you, @askoa, for picking this. The rules you listed are good.
For A % A, we should think more, because when A contains 0 the result will be DivByZeroErr; when A contains null, the result will be Null; and in other cases, the result is 0.
\My opinion is that we could not add A % A rules now.


blank? expression is incorrectly converted to presence expression

The expression "x.blank? 1 : x" is incorrectly corrected to "x.presence".

Expected behavior
Expected the line "puts [1, nil, 0, 3].map { |x| x.blank? ? 1 : x }.sum" to be unchanged.
Actual behavior
The line "puts [1, nil, 0, 3].map { |x| x.blank? ? 1 : x }.sum"
was changed to "puts [1, nil, 0, 3].map(&:presence).sum"
Steps to reproduce the problem
In my rails directory, I create the file "bug.rb"
with the line "puts [1, nil, 0, 3].map { |x| x.blank? ? 1 : x }.sum".
Ran "rails runner bug.rb".
It outputs "5", which is the correct and expected value.
Ran "rubocop --auto-correct", which changes the file bug.rb.
Ran "rails runner bug.rb".
It outputs a Traceback since the nil value was not converted to "1" like the original expression.
RuboCop version
bundle exec rubocop -V
0.74.0 (using Parser <IP_ADDRESS>, running on ruby 2.6.3 x86_64-linux)
From my Gemfile.lock,
rubocop-performance is 1.4.1
rubocop-rails is 2.3.1

My .rubocop.yml has the lines
require:
  - rubocop-performance
  - rubocop-rails
AllCops:
  TargetRubyVersion: 2.6
Style/FrozenStringLiteralComment:
  Enabled: false
Style/AutoResourceCleanup:
  Enabled: true
Style/ImplicitRuntimeError:
  Enabled: true
Rails:
  Enabled: true
Rails/SaveBang:
  Enabled: true

RuboCop Rails 2.3.2 has been released to resolve this issue. Thank you.


Rename "Button" and "Volumetric UI" modules

We can potentially rename these modules to something like "Button (non-canvas)" and "Button (canvas)" given their contents. Pending discussion with the MRTK team.

@Zee2 will make improvements to OOBE of canvas-based buttons and the button tutorial will be switched to canvas-based buttons after that.

@MaxWang-MS @Zee2
Do we want to demonstrate how to create your own layout from scratch w/ canvas buttons? Currently, the Volumetric UI tutorial is pretty low-level and shows how to add another Canvas button to a button bar - the purpose is to show how the prefab dynamically resizes to accommodate the new button. While it's not a robust example of creating your own layout, it just touches the surface of how layouts can dynamically update. Should we just leave it there or would people benefit from something more in-depth?

I changed the 'button' tutorial name to 'Canvas Button' and modified the approach/scenario. I now demonstrate how to configure a canvas-based button. There's a slight combination now of what was originally covered in the Volumetric UI tutorial.


Test Time 23

Test Time 23

@MihaiDejeu thank you for reporting this. I'll assign someone to take care of it soon.

@amihaiemil this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2020-12-24T11:17:31.544364.
Estimation here is 15 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@amihaiemil Don't forget to close this ticket before the deadline (2020-12-24T11:17:31). You are past the first half of the allowed period.

@amihaiemil Looks like you've missed the task deadline (2020-12-24T11:17:31). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@PerteGeorge this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2021-01-03T11:21:50.585449.
Estimation here is 15 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@PerteGeorge Don't forget to close this ticket before the deadline (2021-01-03T11:21:50). You are past the first half of the allowed period.

@PerteGeorge thank you for resolving this ticket. I've just added it to your active invoice. You can always check all your invoices and more on the Contributor Dashboard.


TensorFlow Lite: builtin_options support

My tflite model needed the  the cos() function, which is not supported in tensorflow v1.13.1. so I add some patch to the tensorflow source code, and rebuild it by bazel. Then the tflite mode file with tf.cos() operation can be created, and can be interpreted by tf.lite.Interpreter(), but it cann't be recoginzed by netron.
Netron always said cannot read property '__offset' of null in 'test.tflite' when open this tflite file.
I don't know if there is something wrong in my patch, so the created tflite file has something wrong, or I should redirect/update the tensorflow libraries for netron?
this is my test tfile file:
test.zip

Added a fix for builtin_options == null. There is no user-defined operator in this file though?

Thank you very much!
It seems the tf.cos() recognized as Unique

0256.tflite.zip


DRFOpenAPISchema and DRFOpenAPIInfo are missing attributes from the openapi specs

The openapi specs have more information then the TypedDict's in schemas.openapi allow. This results in type errors if we override some of the fields as described in the docs
For instance this code:
import typing
from rest_framework.request import Request
from rest_framework.schemas.openapi import SchemaGenerator

DRFOpenAPISchema = dict[str, typing.Any]
if typing.TYPE_CHECKING:
    from rest_framework.schemas.openapi import DRFOpenAPISchema

class DataSchemaGenerator(SchemaGenerator):
    def get_info(self):
        info = super().get_info()
        info["termsOfService"] = "https://example.com/tos.html"
        return info

    def get_schema(
        self, request: Request | None = None, public: bool = False
    ) -> DRFOpenAPISchema:
        schema = super().get_schema(request, public)
        return schema

Results in this error:
Could not assign item in TypedDict  "termsOfService" is not a defined key in "DRFOpenAPIInfo"

I saw the comment:
Unfortunately https://github.com/meeshkan/openapi-typed is archived so I don't think it should be used.
https://github.com/openapi-generators/openapi-python-client has a complete pydantic schema which is great, but isn't just a types package. It contains much more and it also depends on python>=3.8 while we depend on python>=3.7 so we can't depend on it.  We could just slowly add type information to our own types.


Update akka-projection-core, ... to 1.2.2

Updates

com.lightbend.akka:akka-projection-core
com.lightbend.akka:akka-projection-eventsourced
com.lightbend.akka:akka-projection-kafka
com.lightbend.akka:akka-projection-slick

from 1.2.1 to 1.2.2.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.lightbend.akka" } ]

labels: library-update, semver-patch

Superseded by #396.


about two bug at the new version abap2xlsx

I find two bugs in this new version.
the first one is : don't support asia language  such as chinese.   and the bug is because the class  ZCL_EXCEL_WRITER_2007 method  RENDER_XML_DOCUMENT  . the follow code skip asia language character.   It's FINE if block these code.

TRY.

 CALL METHOD lo_ostream->('SKIP_NON_XML_CHARACTERS')

   EXPORTING

     is_skipping = abap_true.

CATCH cx_sy_dyn_call_illegal_method.

ENDTRY.
the second one is : If an internal table have integer field. a short dump will display  be bug is because  class  ZCL_EXCEL_WORKSHEET method  SET_CELL
CASE lv_value_type.
WHEN cl_abap_typedescr=>typekind_int1 OR cl_abap_typedescr=>typekind_int1 OR cl_abap_typedescr=>typekind_int2
OR <fs_typekind_int8>. "Allow INT8 types columns
changed to
CASE lv_value_type.
WHEN cl_abap_typedescr=>typekind_int OR cl_abap_typedescr=>typekind_int1 OR cl_abap_typedescr=>typekind_int2
OR <fs_typekind_int8>. "Allow INT8 types columns

introduced with #298

Unicode not rendered should now be fixed (#756). Could you tell us if it's okay for you? Thanks.

No answer. Closing.


Starting from Go 1.23, I get 'invalid composite literal type T' error.
Please check the playground link which fails on Go 1.23.
https://go.dev/play/p/smVJSzGiGbn
I think I could not find any hint on this kind of change in release note, or was there?
What did you see happen?
Got 'invalid composite literal type T' error when building originally working codebase.
What did you expect to see?
Build should be successful.

Related Issues and Documentation

cmd/compile: internal compiler error when processing invalid recursive type #49276 (closed)
cmd/go: breaking change in 1.23rc2 with version constraints in GOPATH mode #68658
cmd/go: Go modules initialised by go1.21.1 cannot be built using go1.20.8 #63279 (closed)
"internal compiler error: assertion failed" with generic code #53834 (closed)
go build #52634 (closed)
cmd/link: go test -c on darwin/arm64 produces invalid code signature in combination with cgo #63576 (closed)
Test #67906 (closed)
cmd/compile: internal compiler error with zero-size types #65808 (closed)
go #64466 (closed)
yaffaliu #56935 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

@gopherbot please backport this issue to go1.23 release.
This is a bug in compiler type checker without any workaround.

Duplicate of #68903


⚠ Samsung has degraded performance

In 87cd6e5, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2523 ms

Resolved: Samsung performance has improved in e81f16a.


for_update does not seem to lock until the transaction is completed

We have a setup where postgres is a separate docker instance and we have N agents using this database. Because of this, when updating a row, we must lock the row until it is explicitly released. Looking at the code, this is this main purpose of the for_update property. Browsing through the code, it seems like the query is extended with FOR NO KEY UPDATE to make sure the row stays locked on a DB level until the transaction is committed. However, when testing this it seems like this is not the case. I hope I just made a mistake in my test code..
# Cargo.toml
[package]
name = "askar-test-update-lock"
version = "0.1.0"
edition = "2021"

[dependencies]
aries-askar "0.3.1"
tokio = { version = "1.37.0", features = ["full"] }

// src/main.rs
use aries_askar::storage::generate_raw_store_key;
use aries_askar::{storage::postgres::TestDB, PassKey, Store};

#[tokio::main]
async fn main() {
    // Generate the key
    let key = generate_raw_store_key(Some(&[0u8; 32])).unwrap();

    // Provision a store
    let store = Store::provision(
        "postgres://postgres:mysecretpassword@localhost:5432/test-db",
        aries_askar::StoreKeyMethod::RawKey,
        key,
        None,
        true,
    )
    .await
    .unwrap();

    // Start a transaction
    let mut sesh = store.transaction(None).await.unwrap();

    // Insert a row
    sesh.insert("category", "name", b"value", None, None)
        .await
        .unwrap();

    // Commit the insert
    sesh.commit().await.unwrap();

    // Start a new transaction
    let mut sesh = store.transaction(None).await.unwrap();

    // fetch the row once
    let entry = sesh.fetch("category", "name", true).await.unwrap().unwrap();
    println!(
        "value: {:?}",
        String::from_utf8_lossy(&entry.value.to_vec())
    );

    // fetch the row again
    // should fail right as we did not commit and `for_update` is true
    let entry_two = sesh.fetch("category", "name", true).await.unwrap().unwrap();

    println!(
        "value: {:?}",
        String::from_utf8_lossy(&entry_two.value.to_vec())
    );

    sesh.commit().await.unwrap();
}

# launch postgres command
docker run --rm -p 5432:5432 --name aries-test-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres

@andrewwhitehead — can you please take a look at this?  Looks like an troublesome issue, if real.

Hi @berendsliedrecht, just tested this out and I don't think there's an issue. In this test case the row is being fetched twice for update, but within the same transaction, so there is no conflict. If you open another transaction and try to fetch the same row for update, then it will block until the first transaction is completed (or time out).

Ah ofcourse, that makes complete sense. Glad my test code was incorrect. I just checked it with two different transactions and it does lock correctly, thanks!


What is the alternative for ACPAnalytics.sendQueuedHits() in AEP packages?

Expected Behaviour
Actual Behaviour
Reproduce Scenario (including but not limited to)
Steps to Reproduce
Platform and Version
Sample Code that illustrates the problem
Logs taken while reproducing problem

Thanks for the information.
I upgraded the ACP to AEP packages. But cannot see any hits on the AA dashboard for both iOS and Android.
All the IDs are correct and I can see the SDK initialize correctly.
ACP works fine with the same IDs.
// Previous Code
ACPCore.updateConfiguration({
      'analytics.server': ADOBE_ANALYTICS.SERVER,
      'analytics.rsids': ADOBE_ANALYTICS.RSIDS,
      'analytics.batchLimit': 10,
      'analytics.offlineEnabled': false,
    });
ACPAnalytics.sendQueuedHits();

// AEP Upgrade
MobileCore.updateConfiguration({
      'analytics.server': ADOBE_ANALYTICS.SERVER,
      'analytics.rsids': ADOBE_ANALYTICS.RSIDS,
      'analytics.batchLimit': 10,
      'analytics.offlineEnabled': false,
    });
  // ACPAnalytics.sendQueuedHits(); - no wrapper yet for AEP

Can you help me on this?

@ShehanAmarakoon Please refer to our migration guide here: https://github.com/adobe/aepsdk-react-native/blob/main/docs/migration.md
You can use the Edge Network path with Analytics.


Spevacus: Watch newamericanstore.com

Spevacus requests the watch of the watch_keyword newamericanstore\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

newamericanstore\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.


Fix 9250 loop

Previous refactoring of the code rolled both the assignment of the temp variable and the calibration matrix multiplication into a single loop.
This causes issue because every iteration of the loop for the matrix multiplication uses every value of temp, and it is not completely initialized until the final loop iteration.
The solution is to split the loop into two.

Yep, this is:

Unambiguously a bug (that is still present on main)
Definitely my fault

I'll rebase it and apply a style tweak real quick.


Java: Properly resolve issues in java/spotbugs-exclude.xml

Describe the bug
The bug patterns being excluded in java/spotbugs-exlude.xml should be addressed in the code.
To Reproduce
Steps to reproduce the behavior:

checkout the experimental-java branch
cd java
./mvnw clean verify -Pbug-check

Expected behavior
There should not be a spotbugs-exclude.xml. We should not get any spotbugs errors when compiling with -Pbug-check.
NOTE: This isn't entirely true. There may be issues that we just cannot resolve, or we may know better than spotbugs.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. Windows]
IDE: [e.g. Visual Studio, VS Code]
NuGet Package Version [e.g. 0.1.0]

Additional context
Add any other context about the problem here.

See #1604

Closed. PR #4800


weird authorization error when authenticating via service principal

I was following this guide to authenticate against my cluster via service principal. So what I did was:

Firstly register an app in EntraID
Grant the app some permissions via RBAC

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: ado-svc-role
rules:
  - apiGroups: [""]
    resources: ["pods", "services", "deployments"]
    verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: ado-svc-role-binding
subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: User
    name: <app_object_id>
roleRef:
  kind: ClusterRole
  name: ado-svc-role
  apiGroup: rbac.authorization.k8s.io

Auth and verification

export AAD_SERVICE_PRINCIPAL_CLIENT_ID=<app-client-id>
export AAD_SERVICE_PRINCIPAL_CLIENT_SECRET=<app-secret-id>

az login --service-principal -u <app-client-id> -p <app-client-secret> --tenant <tenant-id>

az aks get-credentials --subscription <subscription-id> --resource-group <resource-group-name> --name <cluster-name> --file ./custom-kubeconfig

export KUBECONFIG=$(pwd)/custom-kubeconfig

kubelogin --kubeconfig "${KUBECONFIG}" convert-kubeconfig -l spn --client-id ${AAD_SERVICE_PRINCIPAL_CLIENT_ID} --client-secret ${AAD_SERVICE_PRINCIPAL_CLIENT_SECRET} \
    --tenant-id <tenant-id>

kubectl get nodes

Expected Result
Command returns nodes information.
Actual Result
kubectl get nodes command returns error below:
Error from server (Forbidden): nodes is forbidden: User "xxxx" cannot list resource "nodes" in API group "" at the cluster scope

Comments
The user xxxx cannot be linked to the app I've used to login in any way - the uuid of the user (masked by xxxx) is unknown to me.

the uuid of the user, masked by xxx, is the object ID of the service principal.
you can verify that by az ad sp show --id xxxx

@weinong Thanks for getting back. That command returns a different object id than that of my app on EntraID. Any idea why?
However, it still throws the same error even after I set the name of subject  to the one returned from cli. Not sure if I've done anything wrong?

first of all, your cluster role doesn't have permission to list nodes. this is the reason you got Forbidden.
in your cluster role binding, <app_object_id> should match the object ID on the portal.

@weinong sorry a copy & paste mistake - I'd have used kubectl get pods -n main --kubeconfig ${KUBECONFIG}. However, this command gives me the exact same auth error.
I can also confirm the role points to the object_id of my service principal even though it's different than the one shown in the error message.

Close it as I've mistaken application object id for service principal object id. They are fundamentally different.


Bump postgres-kit to 2.5.1

postgres-kit has been updated to fix build conflicts with swift-nio. This bumps the postgres-kit version to fix build errors.

Thanks!

These changes are now available in 2.2.3


Discard list ref

cc @zurikus.
cf. #270

Codecov Report

Merging #271 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #271   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          12     12
  Lines        1700   1700
=====================================
  Hits         1700   1700

Impacted Files
Coverage Δ

ldap2pg/manager.py
100% <100%> (ø)
:arrow_up:

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 c203da9...f363c24. Read the comment docs.


Square.Retrofit2.ConverterScalars-2.5.0

new bindings
required by internal team, but not owned by Microsoft

It doesn't look like CI is actually building this?
Do we need to add an entry to https://github.com/xamarin/XamarinComponents/blob/main/manifest.yaml ?

/azp run

manifest.yml updated


Replace a forgotten Path by an OsStr in symlink()

I guess _link should probably be an OsStr too, right ?

I don't think so. The arguments that were changed from Path to OsStr were because they were only allowed to hold single path components. In this functon, _link is a full path (the target of the symlink), either relative or absolute, not just a single component like _name is.

Oh I see indeed... If so, sorry about the fuss!


Column Name Fix for new Glenn Berry query

There was a new query with yet another way to name the plan and sql text column. This breaks the excel export. High Aggregate Duration Queries should now work again (this is a Query Store specific query, which must be enabled for it to give a result)

Type of Change

[* ] Bug fix (non-breaking change, fixes #)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose
Glenn Berry released a new version of his dmv scripts, it contained a new query with new column names for query text and query plans which breaks the excel export. I added the column names to filter on to the code.
Approach
Export-DbaDiagnosticQuery has an array for sql query text en plan text column name variations, I added the new ones
Commands to test
Invoke-DbaDiagnosticQuery -SqlInstance localhost\sql2016 -QueryName "High Aggregate Duration Queries" | Export-DbaDiagnosticQuery -ConvertTo Excel -Path C:\temp\
This should export .sql and .sqlplan files (on SQL Server 2016 with Query Store enabled)
Screenshots

Learning

thanks so much, andre!


Less subtle mode indication

I think usability would improve with something similar to powerline for mode indication, making it clear by color codes which mode we are at any give moment.

You should be able to apply styling to these classes ('status-bar-vim-mode-insertetc) in yourstyles.less`.
e.g.
#status-bar-vim-mode {
  font-size: 18px;
  font-weight: bold;
}

.status-bar-vim-mode-insert {
  color: red;
}

Yeah, it would be nice to have something similar to Vim's Powerline


Xeltalliv/simple3d: fix for PenguinMod compatibility, fix transform to scratch units, improve docs

Sorry for another PR less than 24 hours after the previous one. Both issues aren't critical, so it's okay if this takes a while to merge.

it's better that they fix their bugs so everything just works instead of manually fixing every extension...


Bash dynamic

NixOS fails on /bin/bash since it is not global there. Shouldn't have security implications since python is looked up dynamically as well by cmake.
Alternative would be /bin/sh since that exists in nixOS for backwards compat reasons.
Don't ask me why bash isn't treated the same.

Sorry, meant to do the pull request in ginkgo-project


Limits

Why do we need this PR?

To recreate a customer issue with the following config.

15 node KOPs cluster with 5 nodes in each region.
1 storage node and 4 storageless node per region
10 shared and 5 shared volumes per app on storage nodes
Create PX disk pool of 2 TB per node
Use scale factor of 10 to run tests

No longer needed. Was done to repro customer issue.


Why the subtitles track added to Shaka player which is playing a video in mp4 format is using the native subtitle track display rather using shaka-text-container?

Have you read the Tutorials?
Yes
Have you read the FAQ and checked for duplicate open issues?
Yes, sorry I couldn't find any.
If the question is related to FairPlay, have you read the tutorial?

No
What version of Shaka Player are you using?
4.9.10
What browser and OS are you using?
Windows 11
Microsoft Edge for Business
Version 126.0.2592.68 (Official build) (64-bit)
Please ask your question
Why the subtitles track added to Shaka player which is playing a video in mp4 format is using the native subtitle track display rather using shaka-text-container?

Is there any config available to load the added external subtitle track in shaka-text-container?

Because we always create the track when we use src=, maybe we could improve it, are you interested in doing it?

Thanks for the update @avelad , Let me try to add this feature. If I need any help, I'll let you know.


invalid doc URLs; too old; nothing new

the https://github.com/microsoft/WPF-Samples/tree does not exist so the 6 URLs noted in the README.md cannot be found
imho the msdn.microsoft.com/en-us/library/vstudio/ms771633.aspx are so ancient (era mid-2009) to be unhelpful so this link should be erased
[elsewhere] there is mention of the DotNET-5 docs being in preparation. SURELY such w-i-p should be in the open (RTW here) so we can play & contribute before the magic FCS date ?

thanks!

The msdn link is now dead as well.

@DickBaker Changes have been merged, could you please verify

WPF is still a supported product (even if Windows-only, and effectively overtaken by more recent x-plat technologies)
the WPF Samples from 2009 https://learn.microsoft.com/en-us/previous-versions/ms771633(v=vs.100) is vintage
MS should review actual hits [apart from mine!] to the vintage docs era 2009 to prove hugely ignored
https://learn.microsoft.com/en-us/previous-versions/ms771633(v=vs.100)
now .NET 8 shipped, disappointing to read "Desktop Guide documentation for .NET 7 and .NET 6 is under construction."
https://learn.microsoft.com/en-us/dotnet/desktop/wpf/overview/?view=netdesktop-8.0
ditto "DOWNLOAD Visual Studio 2022 version 17.4" (although URL is good) when VS2022 v17.9.0 Preview 2.0 is current
https://learn.microsoft.com/en-us/dotnet/desktop/wpf/?view=netdesktop-8.0
IMHO MS should seriously archive the vintage content as later WPF material exists (and UI3, MAUI etc should be prescribed)


Determine doc impact of P0180R2

Determine doc impact of P0180R2
Occasionally, a paper increases restrictions on users (either at compile-time or run-time) without requiring implementations to diagnose improper usage.
This has no implementation impact, but may have doc impact.
Determine the doc impact of this paper.

moved to quest


[Bug][dbt] A large number of zombie processes appear

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
Under certain circumstances, a zombie process will appear when executing the dbt plugin.

What do you expect to happen
no  zombie process.
How to reproduce
run the dbt plugin, and faild before execute cmd.Wait().
Anything else
No response
Version
v0.14.2
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

fixed by #4209 and #4231


Add docker manifest for armv71

Hi,
When trying to run the code-server in a Raspberry Pi 4 running the latest Raspberry OS (32bits), it does not find a correct version in the manifest and fail (see below).
I noticed that you only build arm64 docker version.
Any chance that you could expand the scope of the manifest to include arm71?
Thanks

Unable to find image 'codercom/code-server:latest' locally
latest: Pulling from codercom/code-server
docker: no matching manifest for linux/arm/v7 in the manifest list entries.
See 'docker run --help'.

Duplicate of #1337

@pnatel Stay tuned, this is an important issue for us this next week.

Thanks for the quick reply. I will keep an eye in #1337


prisma pull should add /// comments based on postgres's COMMENT

Problem
On Postgres database one can have COMMENT ON different database objects (tables, columns, types).
When generating prisma file from such database comments are written in the generated file. Tho doing so would be great!
Suggested solution
When generating prisma file look up object descriptions and use those as comments in generated prisma file.
Example
If your database dump looks like this:
CREATE TYPE foo AS ENUM('fiz', 'foz');
COMMENT ON TYPE foo IS 'foo comment';

CREATE TABLE IF NOT EXISTS bar
(
  id bigserial unique primary key,
  foo foo not null
);

COMMENT ON TABLE bar IS 'bar comment';
COMMENT ON COLUMN bar.id IS 'bar.id comment';

in a Postgres database, and then you run prisma pull, you shold get:
/// bar comment
model bar {
  /// bar.id comment
  id BigInt @id @default(autoincrement())
  foo foo
}

/// foo comment
enum foo {
  fiz
  foz
}

Related:

https://github.com/prisma/prisma/issues/5113
https://github.com/prisma/prisma/issues/2546

We are also interested in this feature

Is there an ETA on this or would guidance be provided on what it would entail for someone without knowledge of the codebase to do it?

Not right now, now: https://pris.ly/roadmap But that does not mean it could be implemented soon - we are rather conservative how much we plan.

@janpio I'm sorry if this comes across as pressing on, but one last question: could you please clarify why you stated: 'TLDR: /// comments do not really correlate to the comments items have in the database. '? Because I can't deduce this from the existing discussions in these issues.
Like I said earlier, in my experience you would practically always want the same comment text in the TS online help, as you would want in for example the GraphQL schema that was generated from the database (like Hasura does for example).
I'm just curious to understand under what circumstances you would think they would not correlate.

It is just a statement of a current fact: Prisma currently does not support reading or modifying the comments of tables and columns in databases, but we do support // and /// in the Prisma Schema file and use that data in different situations and locations.


changed dependencies for ArchLinux

Issue 151 - Installing on Arch Linux
Arch Linux was choking the unqlite dependency for whatever reason. I bumped that version number from 0.2.0 to 0.4.0 and subsequently updated setup tools to the newest version.
I'd like to throw in a disclaimer that I'm not a python dev, and have no idea what the implications of these changes are - but with these changes I managed to successfully install on Arch Linux where I couldn't originally.

Awesome! There may be some obscure reason we're on unqlite 0.2.0. @jobevers or @jackrobison can you comment?

And if you're in our Slack, please DM me at kauffj so I know who you are. Great contribution!

@hpierce1102 doing this seems to have broken my python 3, anything I try to run with python 3 spits out "ImportError: The 'packaging.version' package is required; normally this is bundled with this package so if you get this warning, consult the packager of your distribution." and i don't know how to fix it.

@abueide I can't confirm this, my python3 environment appears to be unaffected. Can you provide any more details?
That error message suggests to me that you're importing a specific package that references a missing dependency (which it claims to include).  If you're certain that this is because of running setup.py, I might guess that something happened to python3's import paths. Though again, I can't confirm this, my import paths for python3 are more or less what I'd expect them to be.
@kauffj, I'm not currently a Slack user - but if this PR ends up getting any more complicated (as it appears to be) I'd look into joining.

@hpierce1102 I fixed the problem, and re-ran setup.py seems to have worked fine. I think the error was probably caused by something else. I think it might have been another command I ran using setup.py (python setup.py build bdist_egg), which I found in RUNNING.md

@jimmykiselak are you running LBRY on Arch?

I'll fire up an instance of Arch and sort this out next week.

https://github.com/lbryio/lbry/pull/183


Issue reproduction for ISO-8859-1 parsing on JRuby

As commented in this discussion, I've experienced regressions while parsing ISO-8859-1 documents under JRuby, with the recent release candidates (1.11.0.rc1, 1.11.0.rc2, 1.11.0.rc3), something which did not happen with 1.10.10.
I'm creating this first PR as an attempt to show the reproduction to Nokogiri maintainers (hopefully the build will fail, but we'll see!).
I will try to come back with a git bisect test later to isolate the commit which introduced this change.

:white_check_mark: Build nokogiri 1.0.672 completed (commit https://github.com/sparklemotion/nokogiri/commit/43396896ab by @thbar)

The build is catching the failure on JRuby indeed:
  1) Failure:
TestISO#test_iso_content_not_lacking_accents [/tmp/build/4d9a0f57/nokogiri/test/test_iso.rb:7]:
Expected: "Accepté"
  Actual: "Accept"

  2) Failure:
TestISO#test_iso_content_not_truncated [/tmp/build/4d9a0f57/nokogiri/test/test_iso.rb:13]:
Expected: 2
  Actual: 1

1521 runs, 4207 assertions, 2 failures, 0 errors, 24 skips

Thank you for submitting this! Fantastic executable bug report. I appreciate it.

@flavorjones you welcome :-) I may be able to get back with more information and a git bisect tomorrow, if all goes well.

OK - I ran a git bisect and ba16682aae2cbd42c196bd8afdfcfe8a5d82fbdb introduced this regression. Tagging @jvshahid for his awareness :two_hearts:
nokogiri $ git bisect good
ba16682aae2cbd42c196bd8afdfcfe8a5d82fbdb is the first bad commit
commit ba16682aae2cbd42c196bd8afdfcfe8a5d82fbdb
Author: John Shahid<EMAIL_ADDRESS>Date:   Thu Apr 18 13:58:18 2019 -0400

    Split setInputSource into setIOInputSource and setStringInputSource

    This commit also consolidates some of the encoding handling logic that was
    repeated in multiple places.

 ext/java/nokogiri/HtmlDocument.java              |  25 +++---
 ext/java/nokogiri/HtmlSaxParserContext.java      | 100 ++++++-----------------
 ext/java/nokogiri/XmlDocument.java               |  33 +++-----
 ext/java/nokogiri/XmlSaxParserContext.java       |  14 ++--
 ext/java/nokogiri/internals/NokogiriHelpers.java |  12 +++
 ext/java/nokogiri/internals/ParserContext.java   |  71 ++++++----------
 6 files changed, 94 insertions(+), 161 deletions(-)

One point of concern is that the document appears to be truncated, without any error. I wonder why this is happening (instead of a hard error in fail-fast mode!).
If I find anything more, I will report back, but so far I'm just discovering the Java part.

I fixed the tests in #2083.  @thbar, do you mind trying this branch to see if it fixes the issues you reported?

@jvshahid working on it! FWIW, just adding this to my app doesn't work at this point:
gem 'nokogiri', git: 'https://github.com/sparklemotion/nokogiri.git', branch: 'repro-iso-jruby'

I presume some form of compilation must be done locally first, I will try that out.
This would mean (side point) that the advice at https://bundler.io/guides/git.html is out of date!
I'll report back.

@jvshahid my app test suite pass ✅. Congrats for your fix!
For the record, here is roughly what I had to do:
git clone https://github.com/sparklemotion/nokogiri.git
cd nokogiri
git checkout repro-iso-jruby
rbenv shell jruby-<IP_ADDRESS>
bundle exec rake compile test
bundle exec rake gem:spec

Then use:
gem 'nokogiri', path: '../nokogiri'

and bundle install in my app.

#2083 is green, I'll merge this and that as soon as I get a chance. Will be in the next v1.11.0 release candidate, hopefully within the next few days.

Closing this pull request and merging #2083 which is a superset of these commits. Thanks again, @thbar -- I'll credit you in the changelog!


another for the trophy case

@bors r+

:pushpin: Commit a21c98a896e7a748b361e2d615b0d098a3751939 has been approved by RalfJung

:hourglass: Testing commit a21c98a896e7a748b361e2d615b0d098a3751939 with merge 2b0078e4556a259e8797a5e8f29110150b71c1c4...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing 2b0078e4556a259e8797a5e8f29110150b71c1c4 to master...


Able to use assertThat  instead of Jmeter Autostop plugin

I'm not good in junit or in assertj lib, but I want to understand how it works.
When I run the test assertion happens online or after the test runs?
Is it possible to do this online in such a way that it stops the test (or does some kind of logic)?
What I want? I am currently making a Quality Gate, which should work according to a number of parameters. For example, a certain request should fit into 99 percentiles in 1 second, there should be no more errors than a certain number. These requirements can be both for the entire test and for a specific request. And when they are not fulfilled, there is no point in driving the test further - this is a waste of time. We are working to ensure that stress testing has a minimal effect on the time to market. And this is the way to reduce this time.
The AutoStop plugin is not bad, but it is very poor in functionality. and it works according to logic that is not entirely suitable for me - it kills the jmeter process, and I need it to launch the tearDown thread group, which is a different standard (StopTest and not ShutDown as far as I remember).

Hello,
The way is currently designed you can use junit, assertj and other libs over TestPlanStats instance that is created after the test plan execution ends.
Really interesting question.
One option that comes to my mind is using a jsr223PostProcessor, collect stats on it and invoke SampleResult.setStopThread(true) when condition is met. You have to take into consideration centralized collection of statistics (which you may handle through some prop, or other mechanism that allows you to communicate and synchronize between threads). You may put the post processor at different levels of the test plan to take into consideration metrics for scope covered samplers (one sample, a set of samplers inside a thread group, at test plan level, etc).
I think that the ideal option would be to contribute to the AutoStop plugin and implement in the DSL support of it, but this also might requires more effort and might potentially face some road blocks if whatever you propose is not aligned with the plugin vision. Another option is implementing a new plugin, if you are blocked to contribute to AutoStop, but this requires even more effort. Another option, is implementing an abstraction directly in the DSL, but I think contributing to AutoStop would be preferable.
Let me know of your thoughts.

Contibuting my idea to AutoStop plugin makes there breaking chages, so it's not cool. I thing we need to implement JSR223 Listener for any extra cases wich any users would like to create in DSL.
The PostProccessor doesn't have native work with jmeter batches of SamplerResult. I will research on it. Thanks for comment

My idea to configure the AutoStop based on non-functional requirements. There is no tests without requirements, so when we stop matching them, why we should to continue tests?
But the requirements can be really different.

99% of one operation is less than X
95% another operation is less than Y
the total count of errors is less than Z
the (elapsed-latency time (it's processing time on Jmeter side, or in another words  this is duration from the first byte of response to time when all postprocessors is done) is less than P
Std. Dev is lower than ...

All of this cause the average is nothig)

maybe we can start test asynchronous and assert in circle?)) 😮

Contibuting my idea to AutoStop plugin makes there breaking chages, so it's not cool.

What sort of non backwards compatible changes do you have in mind?

I thing we need to implement JSR223 Listener for any extra cases wich any users would like to create in DSL.

Yes, this might be an option, and can be easily done. But I don't know if a listener is the best fit for your needs.

The PostProccessor doesn't have native work with jmeter batches of SamplerResult.

What do you mean? Post processors, as listeners, apply to each sample result, they main difference that I see is purpose and how/when they execute. Are you refering to something like JMeter Backend Listeners instead of Jmeter native listeners?
I think you can implement all those requirements you list with a JSR223 Post processor as I mentioned. Maybe AutoStop doesn't have conditions for all, but maybe we can extend it?

maybe we can start test asynchronous and assert in circle?)) 😮

What do you mean by this, it sounds really interesting, but would like to understand better what you mean.
All this discussion is really interesting, thank you to bring it to attention, and help evaluating alternatives.

Ok I will research and come back

@kirillyu how do you think we should continue in this matter?

No, I will close)


Benchmark assumptions with push/pop

Subtask of #2137 to empirically evaluate #2369

Wow! That's not what we expected, right? Maybe it's worth comparing to the same experiments when using --discard-disabled=false.

As the current evaluation is a bit inconclusive, @konnov suggested to benchmark in offline mode instead.
That should give us a full assumption-based encoding for further benchmarking, without the implementation friction of figuring out how to handle caches.
Following up in a separate issue: #2412


Code coverage

I have DLRS installed in production for several months without problems. Today I deployed an inbound change set with a workflow rule and field update, and it failed due to code coverage dropping to 66%. Error message said that one of my DLRS had 1% coverage. I went to Developer Console and ran tests on my 3 DLRS triggers, and it stated 100% on Contact trigger, and 0% on my other two triggers.

In the test classes they attempt to do an insert to cause the trigger to fire. Can you copy paste that line of Apex code from the Trigger and run it via Execute Antonymous.

Have you added any required fields to these objects recently?

No required fields added. Is this the line of code to Execute Anonymous? I am not a developer, so am treading unknown paths here.
trigger dlrs_causeview_PaymentTrigger on causeview__Payment__c
(before delete, before insert, before update, after delete, after insert, after undelete, after update)

I removed the payment trigger and attempted to redeploy it. It refused to redeploy, due to the lack of code coverage. I need some hand-holding as I am out of my depth. I'm willing to pay for assistance.

No its the line from the test that inserts the record, if your not a developer no worries. I worked with another person on a similar issue, i've got some ideas on how to improve the reporting when deploys fail due to code coverage. I'm a bit short of time at present due to some family commitments, but will make this a priority when i next get a window to work on it. In the meantime, is there any other Apex Triggers on the object, could these be deactivated temporarily?

There are other triggers on the Payments object, but they are in managed packages, and I need them active.

I downloaded your latest release, removed the Payment trigger, and tried to redeploy it - but it would not redeploy because of the code coverage error. Can you assist me with this, do I need to hire a developer, or abandon this tool? This issue is blocking a major project I am working on.

This will most likely be due to one of the managed triggers throwing an error which prevents this tools trigger from firing and hence obtaining code coverage in the test. I have updated the test code used in v1.19 to report the underlying error which will hopefully help you get to the bottom of it further. I'll keep this issue open so you can report the error back to me here and I'll try to advise. The generated test attempts to insert a dummy child record (never written to the database), its likely the default field values of the child object are not acceptable to one of the managed triggers validations. In this case the auto generated code that creates the dummy record will need a developer to update it. Lets see what the error is first though...

Sorry, just to confirm, in short upgrade to v1.19 and try again to see if any new information is shown that will help progress this issue.

So it looks like the causeview.sysLastTransUpdatePayment Apex Trigger is generating a NullPointerException when the Apex Test generated by tool attempts to insert a causeview__Payment__c record without any of the fields set. If you go to the Installed Packages page under setup you should be able to identify the package by its namespace 'causeview' from which the trigger originates from. Do you know what fields need to be populated on a Payment record to allow it to be successfully inserted? Perhaps you can try to insert one yourself through the Salesforce UI for this object?

Andy,
These are the required Payment fields:
Payment Date
Amount
Status
Payment Type
Transaction ID
A transaction record is created first, then the payment is a child of the transaction.

Ah thats more complicated if you need an existing record as well, hmmm. For now sadly you will need a developer to update the Apex test to create the transaction record and create a Payment record with these required fields. I do have some ideas on how to enhance this tool in the future so you can get it to generate this code (by specifying example values for the required field values to be used in the test). But this is an enhancement that i cannot commit to. Sorry about this, but i do want to set expectations accordingly and it seems unless you can find a developer you may have to take a different approach, have you looked at the Rollup Helper tool btw?

Andy,
I understand the limitations of an open-source tool for which you are the
sole developer, and I appreciate what you have created.
Now that you have diagnosed the issue for me, I can either hire a developer
(Causeview will offered) or pay for Rollup Helper.
On Thu, Mar 12, 2015 at 1:50 PM, Andrew Fawcett<EMAIL_ADDRESS>wrote:

Ah thats more complicated if you need an existing record as well, hmmm.
For now sadly you will need a developer to update the Apex test to create
the transaction record and create a Payment record with these required
fields. I do have some ideas on how to enhance this tool in the future so
you can get it to generate this code (by specifying example values for the
required field values to be used in the test). But this is an enhancement
that i cannot commit to. Sorry about this, but i do want to set
expectations accordingly and it seems unless you can find a developer you
may have to take a different approach, have you looked at the Rollup Helper
tool btw?
—
Reply to this email directly or view it on GitHub
https://github.com/afawcett/declarative-lookup-rollup-summaries/issues/122#issuecomment-78565573
.

Thanks for your understanding @Henzell. I will keep this issue open, as i have now marked it as an enhancement, this discussion will drive a means to declaratively express field values to apply when generating the test code.

Hi, Andy :-)
Hope you are well.
I am having this same issue but I do not know how to troubleshoot.
All Apex in this Org is from Managed Packages.  I have tried running all Apex Tests, compiling classes and calculating coverage and it went up from 0.1% to 86% but, if I remember water cooler conversations with co-worker Devs in the past, the Managed Packages don't really count in Code Coverage for Deployment anyway, right?
Soooo...any ideas?  I am on 1.91

Hi, Andy -
Version 1.19 installs as expected; however, when the Manage Child Trigger button is used to deploy the child trigger needed for the roll-up, it fails every time, always with the message that there is only 0.01% code coverage.  I actually had to uninstall DLRS entirely from the Org and I think we will have to write a trigger.  The org in question has 100% of its Apex all from Managed Packages so there is no ability to edit nor to alter any of the test classes to get a higher code coverage.  I am not certain what else to do.  V 1.16 did not throw this error but it appears to be deprecated and I did not apply any updates in between V1.16 and V1.19 so I am uncertain where the issue was introduced.

That is frustrating, i have re-enabled v1.16 for now please find the URL from the README and use that. Though i would be curious to try and debug your issue further, though I'd understand if you need to press on. Can you grab a screenshot before you try again with v1.16 perhaps?

Hi, Andy -
Thanks so much for re-enabling v1.16.

V1.16 got me back on track - thank you! :-)

Thanks, that's quite interesting, gives me one more clue to this mystery, at least i can now do a diff between changes for these two versions. Everything else you did was exactly the same yes?

See related issue here, reference to my thoughts re: March 12 above.

I've recently written up some shared details on the code coverage issue described in this case, please check the details here and comment at the bottom of the wiki page.

I ran into a similar issue and spent much longer than a developer would have to figure out the test code. Similar to the original commenter, I needed a rollup from a custom Causeview object called Allocation up to Campaign, and so I needed test code to generate a bunch of things.
Here is the code that eventually worked:
Campaign camp=new Campaign(Name='Test');
insert camp;
causeview__Fund__c fund=new causeview__Fund__c();
insert fund;
Contact con=new Contact(Lastname='fred');
insert con;
causeview__Gift__c tran=new causeview__Gift__c();
tran.causeview__Constituent__c=con.Id;
insert tran;
causeview__Payment__c pay=new causeview__Payment__c();
pay.causeview__Donation__c=tran.Id;
pay.causeview__Amount__c=1;
pay.causeview__Status__c='Approved';
pay.causeview__Payment_Type__c='Cash';
insert pay;

// Force the dlrs_AllocationTrigger to be invoked, fails the test if org config or other Apex code prevents this.
SavePoint sp = Database.setSavepoint();
dlrs.RollupService.testHandler(
    new causeview__Gift_Detail__c(causeview__New_Campaign__c=camp.id,causeview__Fund__c=fund.id,causeview__Gift__c=tran.id,causeview__Payment__c=pay.id,causeview__Amount__c=1,causeview__GL_Auto_Credit_Account__c='1',causeview__GL_Auto_Debit_Account__c='1'));
Database.rollback(sp);

I wasn't able to get it to work without checking the "See All Data" box as I was getting an CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, execution of AfterInsert error. I would love to know how to get around that part.
I also get a Too many query rows error when I try to calculate everything, but if I filter to a specific Campaign, it will calculate. None of my Campaigns have more than 50,000 Allocations, but there are definitely more than 50k overall. Not sure what to do about that either, but I'm really glad I got the trigger to deploy.
PS this tool is my most favorite thing ever. Thank you!

Thanks, @creuman for the additional example!
P.S. I agree on this being a favorite tool. :-)

@creuman , thanks for posting the workaround for objects that are generating validation errors.
I'm currently trying to implement this workaround for a (managed) object that is causing a similar issue, unfortunately, when editing the test class in the Force.com Developer console, I'm stuck with the following error message:
Package Visibility: Method is not visible: dlrs.RollupService.testHandler(SObject)

Any suggestions on what i might be doing wrong ?

@SteffanH you shouldn't need to edit the test class in the Developer console, just put the snippet of test code into the Test Code field right on your DLRS record. If you have an older version of the DRLS package, the field might not be available, but if you upgrade, v1.22 has it.

Hmmm, upgrading the package hadn't added the fields to the Page Layout, thanks !

Ok, i'm going to close this one out, i think i did keep it open as an enhancement in the rather optimistic view that i could devise some declarative means to fulfill custom test code requirements. Plus the core issue reported here was resolved.


Structure CLI help output.

I suggest a structured output with defined sections based on topic and alphabetized sub-sections, something like:
Usage: keychain-cli [options] [command]

Keychain CLI tool

Options:
  -V, --version                               output the version number
  -h, --help                                  display help for command

Commands:
    Wallet:
        backup-wallet                               Backup wallet to encrypted DID
        create-wallet                               Create new wallet (or show existing wallet)
        import-wallet <recovery-phrase>             Create new wallet from a recovery phrase
        recover-wallet <did>                        Recover wallet from encrypted DID
        show-mnemonic                               Show recovery phrase for wallet
        show-wallet                                 Show wallet
    Identities:
        backup-id                                   Backup the current ID to its registry
        create-id <name> [registry]                 Create a new decentralized ID
        list-ids                                    List IDs and show current ID
        recover-id <did>                            Recovers the ID from the DID
        remove-id <name>                            Deletes named ID
        resolve-id                                  Resolves the current ID
        use-id <name>                               Set the current ID

...

Usage: keychain-cli [options] [command]

Keychain CLI tool

Options:
  -V, --version                               output the version number
  -h, --help                                  display help for command

Commands:
  accept-credential <did> [name]              Save verifiable credential for current ID
  add-name <name> <did>                       Adds a name for a DID
  attest-credential <file> [registry] [name]  Sign and encrypt a bound credential file
  backup-id                                   Backup the current ID to its registry
  backup-wallet                               Backup wallet to encrypted DID
  bind-credential <file> <did>                Create bound credential for a user
  create-challenge [file] [name]              Create challenge (optionally from a file)
  create-challenge-cc <did> [name]            Create challenge from a credential DID
  create-credential <file> [name]             Create credential from schema file
  create-id <name> [registry]                 Create a new decentralized ID
  create-response <challenge>                 Create a Verifiable Presentation from a challenge
  create-wallet                               Create new wallet (or show existing wallet)
  decrypt-did <did>                           Decrypt an encrypted message DID
  decrypt-json <did>                          Decrypt an encrypted JSON DID
  encrypt-file <file> <did>                   Encrypt a file for a DID
  encrypt-msg <msg> <did>                     Encrypt a message for a DID
  export-did <did>                            Export DID to file
  help [command]                              display help for command
  import-did <file>                           Import DID from file
  import-wallet <recovery-phrase>             Create new wallet from a recovery phrase
  list-ids                                    List IDs and show current ID
  list-names                                  Lists names of DIDs
  publish-credential <did>                    Publish the existence of a credential to the current user manifest
  recover-id <did>                            Recovers the ID from the DID
  recover-wallet <did>                        Recover wallet from encrypted DID
  remove-id <name>                            Deletes named ID
  remove-name <name>                          Removes a name for a DID
  resolve-did <did>                           Return document associated with DID
  resolve-id                                  Resolves the current ID
  reveal-credential <did>                     Reveal a credential to the current user manifest
  revoke-credential <did>                     Revokes a verifiable credential
  rotate-keys                                 Rotates keys for current user
  show-mnemonic                               Show recovery phrase for wallet
  show-wallet                                 Show wallet
  sign-file <file>                            Sign a JSON file
  unpublish-credential <did>                  Remove a credential from the current user manifest
  use-id <name>                               Set the current ID
  verify-file <file>                          Verify the signature in a JSON file
  verify-response <did>                       Decrypt and validate a Verifiable Presentation


Crash issue with apoth_attrModifiedEvent, and it not checking for a null pointer exception. Includes the coding to fix it.

package dev.shadowsoffire.attributeslib.mixin
class AttributeMapMixin
method apoth_attrModifiedEvent(AttributeInstance inst, CallbackInfo ci)
There is an issue with the above method.
Below is the current code, and below that is the code to fix the crashing.
    public void apoth_attrModifiedEvent(AttributeInstance inst, CallbackInfo ci) {
        if (!owner.level().isClientSide) {
            // This call site is only valid on the server, because the client nukes and reapplies all attribute modifiers when received.
            double oldValue = ((AttributeInstanceAccessor) inst).getCachedValue();
            double newValue = inst.getValue(); // Calling getValue will compute the value once marked dirty.
            if (oldValue != newValue) {
                MinecraftForge.EVENT_BUS.post(new AttributeChangedValueEvent(getOwner(), inst, oldValue, newValue));
            }
        }
    }

And this in the fix

    public void apoth_attrModifiedEvent(AttributeInstance inst, CallbackInfo ci) {
	if(owner != null){  // This line is added
		if (!owner.level().isClientSide) {
			// This call site is only valid on the server, because the client nukes and reapplies all attribute modifiers when received.
			double oldValue = ((AttributeInstanceAccessor) inst).getCachedValue();
			double newValue = inst.getValue(); // Calling getValue will compute the value once marked dirty.
			if (oldValue != newValue) {
				MinecraftForge.EVENT_BUS.post(new AttributeChangedValueEvent(getOwner(), inst, oldValue, newValue));
			}
		}
	} // This line is added
    }

See https://github.com/Shadows-of-Fire/Apothic-Attributes/issues/5


boot2 code doesn't take PICO_FLASH_SPI_CLKDIV from board include

workaround:
add in cmakelists.txt before pico_sdk_init
add_compile_definitions(PICO_FLASH_SPI_CLKDIV=7)

My bug was in
set(PICO_BOARD board)
must be before first
pico_sdk_init()


Job won't stop with schedule.every(1).minute.until(timedelta(3)).do(function, args)

Hi,
I need to schedule a function to be called every 1 minute for a certain amount of time.
I've tried the following couple of options based on the example documentations here:

def streaming_data(rows=list(), **kwargs):
    schedule.every(1).minute.until(timedelta(3)).do(llu_create_and_upload_data, rows=list(), **kwargs)
    # Run the scheduler
    while True:
         schedule.run_pending()

This option won't stop the job.

def streaming_data(rows=list(), **kwargs):
    # Schedule data to be pushed every 1 min
    for i in range(10):
          schedule.every(1).minutes.do(llu_create_and_upload_data, rows=list(), **kwargs)

          job = schedule.every(1).minutes.do(llu_create_and_upload_data, rows=list(), **kwargs)
          if i == 10: schedule.cancel_job(job)

    # Run the scheduler
    while True:
         schedule.run_pending()

This option won't do the actual job.

I also tried to use i to control while flow and let it jump out of the loop, but none of these options work.

Please advice. Thanks in advance!

Changed condition for while and it works


Change how depths are handled to ensure you can have multiple depth curves per well

Change how depths are handled to ensure you can have multiple depth curves per well.

Change DepthCurve name to be associated with another well log curve
Have it be an array of depth curve names
Have it be okay to just be one depth curve name, even if there are multiple curve names
Have the curvebox2 code be able to find the max and min across different well log curves

Mostly need to change :

TEMPLATE
CURVEBOX2 function

NOTES:
Various sizes & positions impact getting y axis to look nice with both single and double depth
margin.left ~ has been 60 pixel value
yaxis translate value ~ translate(${margin.left*.333},0))
yaxis text appended translate value ~ .attr("y", 0 - (margin.left*0.6))
yaxis text size & number size ~ ~ .attr("dy", ".75em")

Would be nice in some ways if margins on left side where y axes are just changed when you selected to show two depths, but that would probably end up being a huge pain for someone who didn't work that exact sizing behavior, so not the greater way. Better to require developers to be explicit with everything.

add new data type "reference_track" and handle in there
Make visual distinction of when "real" depth track ends (exaggerated example below)

Have this working so I know the architecture fine but not exposed to users yet as I need to add some additional options for CSS sizing/positioning. Putting on back-burner as I know architecture is fine now.


Test Issue created at Mon, 17 May 2021 15:58:02 GMT

Test issue body  Mon, 17 May 2021 15:58:02 GMT

Comment on issue at Mon, 17 May 2021 15:58:05 GMT


Exercise 03_01

Shouldn't it say "why it's not 10" in the bonus?
Since i is shadowed inside of the scope of the for loop, final value would be the initial random value assigned during it's definition.
What am I missing here?
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>

// DO NOT CHANGE THIS
static int track = 0, count = 0;

// DO NOT CHANGE THIS
void verify_count(int *count, int i) {
    assert(i == track++);
    (*count)++;
}

int main() {
    int i = rand() % 100 + 11; // DO NOT CHANGE THIS

    // YOUR CODE HERE
    for (int i = 0; i < 10; ++i) {
        // END YOUR CODE
        printf("%d\n", i);
        verify_count(&count, i); // DO NOT CHANGE THIS
    }

    // BONUS: print the value of i here and try to understand why it's 10
    printf("final value: %d\n", i);

    // DO NOT CHANGE THIS
    assert(count == 10);
    return 0;
}

I think you are right, but this exercise was done by @7etsuo. So let's wait for his explanation of what he meant by that.

I'll take a look at this tonight.

Reference Code:
/** LEARNING
 * Your goal is to understand how the for statement works.
 *
 * The for statement has the following syntax:
 *
 * for (initialization; condition; increment) {
 *		statement;
 * 	 	statement;
 * 	 	...
 * }
 *
 * The for statement is equivalent to the following while statement:
 *
 * initialization;
 * while (condition) {
 *		statement;
 * 		statement;
 * 		...
 *		increment;
 *	}
 */

/** EXERCISE
 * Your job is to write a for statement equivalent to the following
 * while statement:
 *
 * i = 0; // initialization
 * while (i < 10) { // condition
 *	printf("%d\n", i);
 *	verify_count(&count, i);
 *	i++; // increment
 * }
 */

// ❌ I AM NOT DONE

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

// DO NOT CHANGE THIS
static int track = 0, count = 0;

// DO NOT CHANGE THIS
void verify_count (int *count, int i) {
	assert(i == track++);
	(*count)++;
}

int main() {
	int i = rand() % 100 + 11; // DO NOT CHANGE THIS

	// YOUR CODE HERE
	for (initialization; condition; increment) {
	// END YOUR CODE
		printf("%d\n", i);
		verify_count(&count, i); // DO NOT CHANGE THIS
	}

	// BONUS: print the value of i here and try to understand why it's 10

	// DO NOT CHANGE THIS
	assert (count == 10);
	return 0;
}

Solution:

/ * i = 0; // initialization
  * while (i < 10) { // condition
  *	printf("%d\n", i);
  *	verify_count(&count, i);
  *	i++; // increment
  * }
/*
	int i = rand() % 100 + 11; // DO NOT CHANGE THIS

	// YOUR CODE HERE
	for (i=0; i<10; i++) {
	        // END YOUR CODE
		printf("%d\n", i);
		verify_count(&count, i); // DO NOT CHANGE THIS
	}

	// BONUS: print the value of i here and try to understand why it's 10
        /* Hint look at the last value i printed in the for loop */
        printf("i=%d\n", i);
	// DO NOT CHANGE THIS
	assert (count == 10);
	return 0;

In the context of C programming, within a for loop, the initialization expression is distinct from variable declaration, although it often includes variable declarations as a convenience.
Here's a breakdown:
Variable Declaration: This involves specifying a type and associating it with a variable name. For example: int i; declares a variable i of type int.
Initialization: This step assigns a value to the variable at the time of its creation or at the start of the loop. In a for loop, the initialization expression is executed only once, before the loop begins. It often includes declaring a variable, but can also be used to set an existing variable to a new value.
for (int i = 0; i < 10; i++) {
}

int i = 0 is both declaring and initializing i. However, if i were declared before the loop:

int i;
for (i = 0; i < 10; i++) {
}

Here, i = 0 in the loop is purely initialization, not declaration.
The details are in the definitions.


Playground API is down

Hi team,
Looks like a really interesting project - congrats!
I'll download the JAR, but while I do, just a heads up that the playground API is currently unreachable.

Hi @samdobson, thanks for letting us know :)  Seems to be working at the moment, will do a bit more digging.  How did you get on with the JAR?

The issue seems to be related to CORS if it helps (using Chrome).

I didn't get around to local testing yet, but it is on my todo list for next week.

Yep down for me as well.
Steps to reproduce:

Using Chrome navigate to the playground (https://finos.github.io/datahelix/playground/)
Click Run in the top right.

Result:

Expected result:
Generates rows

Apologies, I thought the problem was just in reaching the playground, I hadn't actually run it :(  Also not working for me...

Playground should be up and working now

Brilliant, thanks, works for me 👍
@samdobson, this should help in addition to your local testing, let us know if we can help you at all.


tests: bsim: bluetooth: mesh: Advertiser suspend test

Add a test that checks that both advertisers, the legacy and the
extended behaves identically when the stack is suspended, in particular:

bt_mesh_send_cb.end callback is called with error code 0 for the
advertisement that the advertiser already pushed to the ble host
(called bt_mesh_send_cb.start),
bt_mesh_send_cb.start callback with error -ENODEV is called for
every advertisement that was pushed to the mesh advertiser using
bt_mesh_adv_send function before the stack was suspended,
bt_mesh_adv_create returns NULL when attempting to create a new
advertisement while the stack is suspended.

The bt_mesh_adv_disable is called from the work because calling it
from the bt_mesh_send_cb.start callback will cause a deadlock.

The legacy advertiser has a
thread which is stopped after the bt_mesh_adv_disable call and any
sent advs after suspending the stack will stay in the pool until the
advertiser is resumed.

I wonder, will the message then be processed after resuming the mesh? If that is the case, should not resume ensure that these messages are cleared/deleted when resuming. The validity of these messages upon resumption are unclear, since we do not know how log the device has been suspended.

The legacy advertiser has a
thread which is stopped after the bt_mesh_adv_disable call and any
sent advs after suspending the stack will stay in the pool until the
advertiser is resumed.

I wonder, will the message then be processed after resuming the mesh? If that is the case, should not resume ensure that these messages are cleared/deleted when resuming. The validity of these messages upon resumption are unclear, since we do not know how log the device has been suspended.

They will be processed after resuming. I've been going back and forth with this problem. In my opinion, the right way to handle this is to add an error code to bt_mesh_adv_send and then check that error code in each place where this function is called. However, what stopped me from doing this is that 1) this ideally should not happen in the beginning: none of the stack module should attempt to send anything while the stack is suspended, 2) this may end up with wrapping the error code with assertion without proper handling of the error. So I thought this will be redundant and added log message instead to catch this problem in future. Though I may be wrong and should simply add the error code and check it everywhere.


http://www.fieryprophet.com/phpsandbox Down

At the moment the site seems to be down so I can't access the manual and I don't see any mention of it here on GitHub so I wasn't sure if you were aware. I see the package comes with the Manual.html though so I guess this is more of a friendly poke then a real issue.

Yes, the site is still down :( but you have docs/index.html, so I hope you can find what you need there.

The library has been replaced with Corveda/PHPSandbox and the website has moved to https://phpsandbox.org


Fix kafka plugin sometimes trace doesn't show span layer

Please answer these questions before submitting a pull request

Why submit this pull request?
[x] Bug fix
[ ] New feature provided
[ ] Improve performance

Bug fix

Which version of SkyWalking, OS and JRE?
SkyWalking 7.0, Redhat 7.6, jre 11
Bug description.
kafka plugin sometimes trace doesn't show span layer

Why is layer important for a callback?

Not important, but is it unfriendly to display "Unknown"？

With this kind of changes, it affects the plugin test. Please fix them.


Release 4.0.0dev2

Coverage remained the same at 77.713% when pulling f4120d8b4c1c681a0563da8cd818a15426bc2432 on czpython:release/4.0.0dev2 into 3c3bf884b8cce60c8816470603d32fdc1248db4d on divio:release/4.0.x.


Make client's WithLease more flexible

It's sometimes useful to specify a custom lease configuration. In this
case clients have to deal with LeaseManager manually to create/defer delete lease (essentially dup
WithLease logic). This PR adds lease opts to WithLease, so options
can be specified inline.
Signed-off-by: Maksym Pavlenko<EMAIL_ADDRESS>

Codecov Report

Merging #3719 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #3719   +/-   ##
======================================
  Coverage    42.1%   42.1%
======================================
  Files         129     129
  Lines       14307   14307
======================================
  Hits         6024    6024
  Misses       7383    7383
  Partials      900     900

Flag
Coverage Δ

#linux
45.61% <ø> (ø)
:arrow_up:

#windows
37.05% <ø> (ø)
:arrow_up:

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 38a0013...e4e7e55. Read the comment docs.

LGTM


Control characters are not escaped when encoding strings

The JSON spec requires that quotation marks, reverse-solidus and the control characters U+0000 - U+001F be escaped inside strings. Yason currently outputs the control-character as-is, which can result in emitting JSON that won't be accepted by parsers.
The fix for this is straightforward, except for some questions of design: should the escapes be added to *char-replacements*, or should they be done in the encode method for strings? Unlike \t et al, these are easy to transform programmatically.
*char-replacements* isn't exported, but it feels like the sort of thing a user might want to rebind to control the optional escaping of other characters. If that were the case, the mandatory-escaping characters probably ought to be handled in the encode method, and it raises the further question of whether the replacements from *char-replacements* should be assumed correct, or whether they would need checking for characters that need to be escaped.
This is also somewhat related to an issue handling non-BMP unicode characters. Non-BMP characters must be encoded as an escaped UTF-16 surrogate pair; this is also a fairly easy transform, except there are so many non-BMP characters that storing them in a replacements table probably doesn't make sense.
Any thoughts, opinions, or preferences on how this gets implemented?

I think *char-replacements* is the right place to make additional replacements in strings happen.  I would not bother exporting the special variable unless there is an actual request from a user and it can be demonstrated that YASON is the best place in which to make arbitrary, user-defined replacements.  My gut feeling is that if such additional mappings are required, they should be applied outside of YASON.  YASON should be concerned only with conforming to the spec.


Validate artifact names in AzDO pipelines

When validating pipeline before publishing, we could validate that all required artifacts are also published.
We could compare the list of published artifacts (get all Publish tasks and get the artifact names) and we could search for all Download tasks that download from the current build.
If we have an artifact in the Download task that does not appear anywhere in the Publish tasks (and we're not using variables in Publish tasks ideally), we can probably warn/error out.

We probably should only warn, for that we need to be able to output warnings during the build, which we currently cannot


perf: don't walk the input tree if all files are explicitly defined

If we have a big input tree and only need to pick explicitly defined files,
it should not be necessary to walk the entire input tree. Instead, take the
property and use that as the complete list of input files.
I didn't include any tests since only internal implementation has changed
and it's not clear how could I mock out the walkSync function to verify that
it wasn't called.

:+1:

:+1:


Sum coefficients for the same variable

Instead of keeping a vector of matrices for each variable id, you should sum them all and keep a single matrix. Someone recently posted on the CVXPY google group about canonicalization using a ton of memory. This should help with that.

Hi Steven,
We just updated the matrix building algorithm to perform summation over the coefficient matrices rather than keeping them as a vector. This modification is included in the new release and distribution on pypi.
Do you happen to have the problem instance where canonicalization was using a ton of memory so that we can get a sense of the impact of this switch on memory usage?
Thanks!
John

I've emailed the person who had this problem. Hopefully he will send us the script that was using so much memory.


add generic and extensible metamodel for the MixedPort finctionality

required by https://github.com/seronet-project/SeRoNet-Tooling-ROS-Mixed-Port

I will merge the branch later with further commits myself

@alex-lotz updates here? I would like to create a full SeRoNet+ROS tooling release and I think the current SmartMDSD-Toolchain one  is not compatible with ROS-Mixed-Port

@ipa-nhg Yes there are several updates. Please give me some time to check your current state. From the last telco Dennis told me that your plugins are ready to be installed. I will check that next week and let you know about the next steps with respect to the overall tooling release for which we are responsible.


Make deepspeed.initialize() to be able to run with dict arg.deepspeed_config

_configure_with_arguments is capable to instantiation DeepSpeedConfig with dict config. But _do_args_sanity_check only take args.deepspeed_config as path to file.

Closing for lack of activity. Please reopen as needed.


extract dynamic capabilities

Checklist

[ ] No CHANGELOG update needed

[ ] No new tests needed

[ ] No documentation update needed

will work on fixing the protobuf mypy issues and vverbose, then will remove the draft status. feel free to review in the meanwhile

Couldn't fix the mypy issues for some reason...
I tried adding the exclusions using pyproject.toml, mypy.ini, and pre-commit config files. All worked locally, but for some reason only tests/_test_proto,py was being excluded in the Github actions tests.
I'll take a look at this more afterwards, in the meantime, the tests succeed locally so I think a review would be nice (so that I could address the comments and the mypy issues together in future commits). The result_document.py tests might fail if you try to run them locally, and that's because I haven't updated all of the test result document (rd) data nor opened a PR to capa-testfiles, will do so after the dynamic statement PR gets merged (I'll be opening that shortly).
Here are the test results:

with the dynamic branch being sync'd, there will now be conflicts here to be fixed. you should try to merge dynamic-feature-extraction into this branch and update the PR.


Support returning output from evaluated JavaScript, including as status code

This is a bit of an out-there idea: what if you could execute custom JavaScript that returned a result, and then write that result to disk?
You could even skip the screenshot entirely and use this as a generic scraping tool at that point.
Bonus: if it can affect the exit code in some way it could be used as part of a CI flow to test something.

This could open up some truly crazy hacks... like running the JavaScript version of tesseract OCR against images inside a Playwright browser and returning the extracted text.
Maybe I should have called this project browser-scraper instead...

Maybe this:
shot-scraper javascript simonwillison.net \
  "return {'title': document.title}"

Or... this could be part of the existing shot command when you output to JSON rather than PNG or JPG.
That's slightly inconsistent with the pdf command though.
But relates to the challenge of making PDF and accessibility actionable using the multi command:

#27

... and if the JSON returned is compatible with sqlite-utils there could be an option to write it straight to a SQLite database file!

If I'm turning this into a general scraping tool I'll need a mechanism by which scrapes can happen across multiple pages.
That could be as simple as documenting and encouraging people to fetch subsequent pages using fetch(), but ideally there would be an easy way to trigger a full browser navigation without terminating the script early.

One way to handle multiple pages would be if the returned JSON could include a key that specifies more URLs that the code should execute on.

Being able to pipe JavaScript directly to the command and have it execute in the browser and return the result would be very cool too.

Prototype:
@cli.command()
@click.argument("url")
@click.argument("javascript")
@click.option(
    "-a",
    "--auth",
    type=click.File("r"),
    help="Path to JSON authentication context file",
)
@click.option(
    "-o",
    "--output",
    type=click.File("w"),
    default="-",
)
def javascript(url, javascript, auth, output):
    """
    Execute JavaScript against the page and return the result

    Usage:

        shot-scraper javascript https://datasette.io/ "document.title"
    """
    with sync_playwright() as p:
        context, browser = _browser_context(p, auth)
        page = context.new_page()
        page.goto(url)
        result = page.evaluate(javascript)
        browser.close()
    output.write(json.dumps(result, indent=4, default=str))
    output.write("\n")

% shot-scraper javascript https://datasette.io "document.title"
"Datasette: An open source multi-tool for exploring and publishing data"

% shot-scraper javascript https://datasette.io "({title: document.title, h1: document.querySelector('h2').innerHTML})"
{
    "title": "Datasette: An open source multi-tool for exploring and publishing data",
    "h1": "Exploratory data analysis"
}

Had to wrap the { in () for this to work.

This works too:
% shot-scraper javascript https://datasette.io "
new Promise(done => done({
    title: document.title,
    h1: document.querySelector('h2').innerHTML
}));
"
{
    "title": "Datasette: An open source multi-tool for exploring and publishing data",
    "h1": "Exploratory data analysis"
}

This is fun:
% shot-scraper javascript simonwillison.net "({title: document.title, location: document.location})"
{
    "title": "Simon Willison\u2019s Weblog",
    "location": {
        "ancestorOrigins": {},
        "href": "https://simonwillison.net/",
        "origin": "https://simonwillison.net",
        "protocol": "https:",
        "host": "simonwillison.net",
        "hostname": "simonwillison.net",
        "port": "",
        "pathname": "/",
        "search": "",
        "hash": "",
        "assign": null,
        "reload": null,
        "replace": null,
        "toString": null
    }
}

Documentation: https://github.com/simonw/shot-scraper/blob/2cd70b021e28ffe8c5287ac8e62c221dadbc7746/README.md#scraping-pages-using-javascript

Not yet solved: how to raise an error that results in a status code failure.
A couple of options:

Raise an exception from JavaScript and test that the Python script errors in a pleasing fashion (maybe with a way to hide the stack trace)
JavaScript can return {"error": "message"} and Python turns that into a non-zero code.

I like the first option best provided I can get the aesthetics to work well.

Reminder that in zsh the way to see the last exit code is echo $?:
% echo '34' | shot-scraper multi -
Error: YAML file must contain a list
% echo $?
1

Errors do indeed currently return a 1 exit code:
% shot-scraper javascript simonwillison.net 'foo('
Traceback (most recent call last):
  File "/Users/simon/.local/share/virtualenvs/shot-scraper-sQHOtKI2/bin/shot-scraper", line 33, in <module>
    sys.exit(load_entry_point('shot-scraper', 'console_scripts', 'shot-scraper')())
  File "/Users/simon/.local/share/virtualenvs/shot-scraper-sQHOtKI2/lib/python3.10/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/Users/simon/.local/share/virtualenvs/shot-scraper-sQHOtKI2/lib/python3.10/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/Users/simon/.local/share/virtualenvs/shot-scraper-sQHOtKI2/lib/python3.10/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/simon/.local/share/virtualenvs/shot-scraper-sQHOtKI2/lib/python3.10/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/simon/.local/share/virtualenvs/shot-scraper-sQHOtKI2/lib/python3.10/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/Users/simon/Dropbox/Development/shot-scraper/shot_scraper/cli.py", line 292, in javascript
    result = page.evaluate(javascript)
  File "/Users/simon/.local/share/virtualenvs/shot-scraper-sQHOtKI2/lib/python3.10/site-packages/playwright/sync_api/_generated.py", line 6821, in evaluate
    self._sync(
  File "/Users/simon/.local/share/virtualenvs/shot-scraper-sQHOtKI2/lib/python3.10/site-packages/playwright/_impl/_sync_base.py", line 111, in _sync
    return task.result()
  File "/Users/simon/.local/share/virtualenvs/shot-scraper-sQHOtKI2/lib/python3.10/site-packages/playwright/_impl/_page.py", line 403, in evaluate
    return await self._main_frame.evaluate(expression, arg)
  File "/Users/simon/.local/share/virtualenvs/shot-scraper-sQHOtKI2/lib/python3.10/site-packages/playwright/_impl/_frame.py", line 248, in evaluate
    await self._channel.send(
  File "/Users/simon/.local/share/virtualenvs/shot-scraper-sQHOtKI2/lib/python3.10/site-packages/playwright/_impl/_connection.py", line 39, in send
    return await self.inner_send(method, params, False)
  File "/Users/simon/.local/share/virtualenvs/shot-scraper-sQHOtKI2/lib/python3.10/site-packages/playwright/_impl/_connection.py", line 63, in inner_send
    result = next(iter(done)).result()
playwright._impl._api_types.Error: SyntaxError: Unexpected end of input
    at eval (<anonymous>)
    at t.default.evaluate (<anonymous>:3:2389)
    at t.default.<anonymous> (<anonymous>:1:44)
% echo $?
1

Figured out how to make that nicer:
        try:
            result = page.evaluate(javascript)
        except Error as error:
            raise click.ClickException(error.message)

Which results in this:
% shot-scraper javascript simonwillison.net 'document.querySelector(".faeou").innerHTML'
Error: TypeError: Cannot read properties of null (reading 'innerHTML')
    at eval (eval at evaluate (:3:2389), <anonymous>:1:33)
    at eval (<anonymous>)
    at t.default.evaluate (<anonymous>:3:2389)
    at t.default.<anonymous> (<anonymous>:1:44)

Here's how to do custom errors. This can go in the README:
% shot-scraper javascript simonwillison.net "throw 'Fail!';"
Error: Fail!
% echo $?
1


[libmysql] Build error on x64-windows

Copy issue body from E:/develop/c_c++/vcpkg_windows_demo.git/build/vcpkg_installed/vcpkg/issue_body.md

[cmake] -- Using source at E:/develop/c_c++/vcpkg20240823.git/buildtrees/libmysql/src/sql-8.0.34-d7480bef4c.clean
[cmake] -- Found external ninja('1.10.2').
[cmake] -- Configuring x64-windows
[cmake] CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message):
[cmake]     Command failed: "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe" -v
[cmake]     Working Directory: E:/develop/c_c++/vcpkg20240823.git/buildtrees/libmysql/x64-windows-rel/vcpkg-parallel-configure
[cmake]     Error code: 1
[cmake]     See logs for more information:
[cmake]       E:\develop\c_c++\vcpkg20240823.git\buildtrees\libmysql\config-x64-windows-dbg-CMakeCache.txt.log
[cmake]       E:\develop\c_c++\vcpkg20240823.git\buildtrees\libmysql\config-x64-windows-rel-CMakeCache.txt.log
[cmake]       E:\develop\c_c++\vcpkg20240823.git\buildtrees\libmysql\config-x64-windows-dbg-CMakeConfigureLog.yaml.log
[cmake]       E:\develop\c_c++\vcpkg20240823.git\buildtrees\libmysql\config-x64-windows-rel-CMakeConfigureLog.yaml.log
[cmake]       E:\develop\c_c++\vcpkg20240823.git\buildtrees\libmysql\config-x64-windows-out.log
[cmake]
[cmake] Call Stack (most recent call first):
[cmake]   E:/develop/c_c++/vcpkg_windows_demo.git/build/vcpkg_installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_configure.cmake:269 (vcpkg_execute_required_process)
[cmake]   buildtrees/versioning_/versions/libmysql/4fa6006119f50a9baff9cdf0966b065097113fd7/portfile.cmake:54 (vcpkg_cmake_configure)
[cmake]   scripts/ports.cmake:192 (include)
[cmake]
[cmake]
[cmake] error: building libmysql:x64-windows failed with: BUILD_FAILEDSee https://learn.microsoft.com/vcpkg/troubleshoot/build-failures?WT.mc_id=vcpkg_inproduct_cli for more information.
[cmake] Elapsed time to handle libmysql:x64-windows: 1.9 min
[cmake] Please ensure you're using the latest port files with git pull and vcpkg update.
[cmake] Then check for known issues at:
[cmake]   https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+libmysql
[cmake] You can submit a new issue at:
[cmake]   https://github.com/microsoft/vcpkg/issues/new?title=[libmysql]+Build+error+on+x64-windows&body=Copy+issue+body+from+E%3A%2Fdevelop%2Fc_c%2B%2B%2Fvcpkg_windows_demo.git%2Fbuild%2Fvcpkg_installed%2Fvcpkg%2Fissue_body.md

{
"dependencies": [
{
"name": "fmt",
"version>=": "10.2.1"
},
{
"name":"sqlpp11",
"version>=":"0.64",
"features":["mysql"]
}
],
"builtin-baseline": "1de2026f28ead93ff1773e6e680387643e914ea1"
}

E:\develop\c_c++\...

Try a path without special chars such as +,  , ...

this is good ,thanks!


Allowing custom pax working dir and folder names

If changing the name of pax's working dir(..\modpack) and folder names(..\modpack\overrides) are possible, then integrating with MultiMC or other launchers would be an easy thing to do ---- just create a MultiMC instance and add it with pax.

sounds good ^^ that's not too difficult a change.
If I got time I'll look into it this weekend.


Implement dummy for /api/events/game-id/:gameID

Describe the task here and link or add dependencies to any applicable issues...
This task is done when...

[ ] criteria 1
[ ] criteria 2

Add additional labels (design, dev, compliance, BUG, etc) and size before
submitting.

Closed, see #84


Case Insensitive Url

Fixes #556 #504

@NetOperatorWibby is correct that this still has problems.
Originally I was thinking we'd redirect to the lowercased version, but since we're just re-routing internally, this design results in multiple URLs serving the same content. So either you need to set a flag when this happens and set the meta tag appropriately, or you need to redirect (301) rather than just re-execute routing.
With regards to tokens, this is "not safe" in the sense that theoretically this could cause a spurious match, but it is safe in the sense that multiplying the tokens tried by two should have no real-world consequence given a sufficiently large number/token space (which we should have in all cases).

Putting this on hold until either @nikooo777 or @NetOperatorWibby can get to it, unless someone else wants to take over.


Volunteer skillset add and required field

Please make volunteers skillset a required field on volunteer profile page.
Please add following skillset:

Helpdesk
Community Outreach

Hi I can pick this up :)
Would it be too much if I wrote a feature spec for this? I was thinking of testing two scenarios:

Skill set selected and form submitted
Skill set not selected and form submitted

@shen-sat specs are most appreciated!


Improve StringShrinker algorithm

The current string shrink algorithm generates candidates by dropping single characters from the end of the input. This doesn't produce the smallest case, since it doesn't drop characters from the start of the string. It is also linear on the size of the input, so it requires a potentially large number of tries to reach the result it does produce.
This PR changes to algorithm to bisect the input string from both directions, producing a minimal output in log n tries.

The new algorithm produces output like this:
Attempting to shrink failed arg t ^j>t\o,x3?eb9#F'>g>vGQ-N}nkx
Shrink #1: <empty string> pass
Shrink #2: t ^j>t\o,x3?eb9 pass
Shrink #3: #F'>g>vGQ-N}nkx fail
Shrink #4: #F'>g>vG fail
Shrink #5: #F'> fail
Shrink #6: #F fail
Shrink #7: # fail
Shrink result => #

This is only 7 tries, and produces the correct output of "#"

Brilliant.