[WIP] clementine-qt5: init at 1.3.1 - call for testers

Motivation for this change
Running qt4 applications on a hidpi screen isn't always a great experience.
Clementine based on qt5 has been in the works for some time.
Known issue:

spotify support is broken

While clementine is supposedly cross platform, the port to qt5 only works on
linux for now but upstream is working on it.
I'd love to hear some feedback from testers before we actually merge this.
Things done

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

[X] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

@ttuegel are you OK to merge this in its current incarnation?

@ttuegel, couple of things:
Now the qt4 and qt5 versions are both compiling and launching correctly at the latest version (1.3.1) but they are both crashing on playback with a gstreamer assertion (see https://github.com/clementine-player/Clementine/issues/5753).

Are you otherwise OK to merge this when that is fixed?
Should we keep the qt4 as well or simply blow that away in favour of the qt5 version?

clementine is now at 1.3.1 and uses qt5, so I guess we can close this now.


Add Feature #49 - Pull Request

This will allow a person to enable or disabling sending emails when forgetting a password or registering.
Parameter Documentation:
1. validationUserLookUpProperty  - This is the name of the property in Domain Object for finding a user.  It is used by the forgotPasswordExraValidation for ensuring the items being checked belong to the user whos password that is trying to be reset.
2. requireForgotPassEmailValidation – This property sets if an Email should go out for resetting the password
3. requireEmailValidation – This property sets if an Email should go out when a new user signs up.  If this is false a user should add some additional step.
4. forgotPasswordExraValidation – This is an List which contains 4 other parameters
1. domain – This is Domain object that contains the question ( if   labelDomain is present ) as will as the answer
2. labelDomain – This is the property in the domain object that will used to ask the question
3. labelMessage -  If  labelDomain is not present then this can be used as a message property to ask a question (ie if your questions are static).
4. prop – This is used a the property of the domain object to determine if the answer is correct.
There are three new default security and one additional new property not put in the default config to enable the security questions, which is separated from the if the e-mail is sent or not.  This means you can have both security questions and email enabled, neither, or just one or the other.
security {
ui {
forgotPassword {
validationUserLookUpProperty = 'user'
requireForgotPassEmailValidation = 'true'
}
register {
requireEmailValidation = 'true' //set this to false if you don't want an e-mail validation
}
}
}
In you projects application.yml
grails:
plugin:
springsecurity:
ui:
forgotPassword:
forgotPasswordExraValidation:
-
domain: test.Profile
labelDomain: myQuestion
prop: myAnswer
-
domain: test.Profile
labelDomain: myQuestion2
labelMessage: securityvalidations.labelMessage.label1
prop: myAnswer2

Thanks! @amondel2 .
I see your PR has been closed.  Was that intentional?
You stated in a previous comment:

I have finished writing the code for this but still have to do the testing. I wrote it against the master branch which is probably not what I should have done

Working off master is the right thing to do.  Typically, a developer would create a branch off of master where they would implement the feature or bug fix, then create a PR to merge it back into master.

Yes closing this one was intentional, I made a new one here https://github.com/grails-plugins/grails-spring-security-ui/pull/94 there was a piece of code that broke during the test in this one.


tools: stack_decode.py: remove unused variable

Variable 'traces' is assigned to but never used
Signed-off-by: Ruslan Mstoi<EMAIL_ADDRESS>
Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

Thanks for the clean up!  Can you do a main merge?  Should fix the coverage issue


[WIP] [SPARK-35572] [K8S] add hostNetwork feature to executor

What changes were proposed in this pull request?
add hostNetwork feature to executor
modify BasicExecutorFeatureStep add hostNetwork in executorpod
Why are the changes needed?
In the process of the company's business promotion, the function of k8s hostNetwork is used. But it is found that spark does not support enable hostNetwork in the configuration.
Found that this function will still be commonly used, so I decided to add a perceptible parameter to enable hostNetwork in spark way.
Does this PR introduce any user-facing change?
yes, add new config spark.kubernetes.executor.hostNetwork.enable
How was this patch tested?
add unit test

cc @yaooqinn

Can one of the admins verify this patch?

this SPARK_EXECUTOR_POD_IP_OVERWRITE has nothing to do with this PR, it will be removed in this PR first

ok to test

cc @yaooqinn

Test build #139102 has started for PR 32708 at commit 8fbc385.

Test build #139106 has started for PR 32708 at commit e40a00f.

Test build #139102 has finished for PR 32708 at commit 8fbc385.

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

Test build #139106 has finished for PR 32708 at commit e40a00f.

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

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43622/

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

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

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

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

Can one of the admins verify this patch?

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

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

Test build #139200 has started for PR 32708 at commit 9845b41.

Test build #139200 has finished for PR 32708 at commit 9845b41.

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

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

Test build #139203 has started for PR 32708 at commit 4517c2c.

Test build #139203 has finished for PR 32708 at commit 4517c2c.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

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

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

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

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

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

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

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

I'm a little concerned about adding this given all of the security considerations around hostNetwork on Kube. If we do add this I think we should make it very very clear that turning this on has negative security implications.


Client Allocation Request for: Hyundaihousis

Client Allocation Questions
Core Information

Name: Hyundaihousis
Website / Social Media: https://m.place.naver.com/place/37493922/home?entry=pll
Region: Asia excl. Greater China
DataCap Requested: 1TiB
Addresses to be Notarized: f3vxnotfq64nkf5jxfy3shg5vcj5h45h3qsrodkggdgrfvbniqg22kgjfhheorb2htov3g3pdfu4xp74dnlo5q
Notary Requested: DarnellWashington

@hyundaisis Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Hello, @hyundaisis
1.Please describe you and your organization, e.g. include establish time, history, etc.
2.Whether you fit the use case?
(Use Cases: Technological related documentation, video, audio, etc. especially focus on data emergency processing technology and mobile wireless communication technology, intellectual property technology，Filecoin application tecnnology)
3.Please describe the data you need to store, e.g. amount/source/type/property conditions.
4.What is the relationship between your business and the data to be stored? e.g.data generates from users.
5.Is your data public available? How could other people retrive it? e.g. there is a tool or manual inspection for retriving.
6.What is your allocation proportion to each miner? How will you find them? e.g. Slack
7.Do you agree to disclose the transaction?
Thanks
Darnell

Thanks for your reply.

My name is Park, and I am the general manager of the company. Established in 2002, Hyundai Housys consists of paint, construction materials, and indoor woodworking. There are about 21 employees, and glass and synthetic resin windows are the main projects.

Unfortunately, our company doesn't have wireless communication technology or APP technology. However, we will actively utilize product promotional videos and advertising materials related to our technology.

As I said above, we will store product promotional videos and advertising materials, and it will be public data. And we want the amount of 1 TiB.

When we store data such as promotional videos, other people find it and watch it.

Yes. They can retrive it with tools

I haven't thought about it yet. I'll let you know as soon as it's decided.

Yes

I‘m sorry for my late reply.
But I don't think product promotional videos and advertising materials need 1 TiB. Can you make a introduction of these data?

Hi, @hyundaisis
I will allocate 100GB this time, and you can try storage on the Filecoin network.

Thank you so much for allocating.
Can I store in the actual data and request additional applications later?

Yes, your usage of past allocation will be checked on the next application.
DataCap allocation is currently unavailable. I will solve this problem and complete the allocation as soon as possible.

Thank you for your quick response.
Please contact us anytime when the problem is solved.

Request Approved
Your Datacap Allocation Request has been approved by the Notary
Message sent to Filecoin Network

bafy2bzacedcshmy54tm7ujkgac22mkm6kfuzbpapymcblog3eol34d4drntlc

Address

f3vxnotfq64nkf5jxfy3shg5vcj5h45h3qsrodkggdgrfvbniqg22kgjfhheorb2htov3g3pdfu4xp74dnlo5q

Datacap Allocated

100GiB

You can check the status of the message here: https://filfox.info/en/message/bafy2bzacedcshmy54tm7ujkgac22mkm6kfuzbpapymcblog3eol34d4drntlc

Hope you have a good experience with storage on Filecoin network.

Thank you so much for your efforts.
We would like to request an additional capacity data cap. This is because it is more insufficient than the internally determined data cap. As you know, we are engaged in construction materials and indoor woodworking business. We will see vast amounts of photos related to this every business. And it will be public data. Additionally, the capacity of internal technical design data is not small. So if we can't provide up to 1TiB, we ask for at least 500 GiB.
Thank you.

You can apply to me when DataCap have been used up.


NIFI-3018 removed flume-twitter-source due to usage of org.json cat-x lib

This change is essentially copied from master to 0.x branch
Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[x] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

[x] Is your initial contribution a single, squashed commit?

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

Reviewing.

@mwmoser Committed to 0.x on https://github.com/apache/nifi/commit/5072559156c613823ac554884dd9166acb0edd6b.


Add support for tuple concatenation to array analysis. (#5396 continued)

This pulls the patch series for fixing #5383 from https://github.com/numba/numba/pull/5396 and rebases on mainline.
CC @DrTodd13 please could you take a look and make sure that this is what you intended in #5396, thanks.

@stuartarchibald Looks good to me.  Thanks!

Thanks for providing the patch @DrTodd13, the code looks good. WRT: https://github.com/numba/numba/pull/5396#issue-389565234

There are other spots and there probably needs to be a comprehensive review of those cases.

I'm inclined to get this in as it fixes an immediate problem and consider the other cases as they arise, would that be ok?

Thanks for providing the patch @DrTodd13, the code looks good. WRT: #5396 (comment)

There are other spots and there probably needs to be a comprehensive review of those cases.

I'm inclined to get this in as it fixes an immediate problem and consider the other cases as they arise, would that be ok?

Following discussion OOB at the Numba dev meeting, we decided to merge this and deal with other cases as they occur.

Turns out I can't approve this as I opened it, the code from @DrTodd13 looks good to me, @sklam please could you take a look? Thanks.


Update machines-view-overview.md

changed both links as they were pointing to personal onedrive.

@JohanFreelancer9 Please copy review

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/8169


Scroll position is not maintained when using sticky header

I have a list that is sectioned by date. When new items are appended at the second position because the topmost list element is a date which is the sticky header, the scroll position is not maintained. But when I remove the sticky header property it maintains list position as expected

@doolb14 I think if I just allow modification of minIndexForVisible via prop, that should solve the issue.
https://github.com/GetStream/react-native-bidirectional-infinite-scroll/blob/main/src/BidirectionalFlatList.tsx#L243

Let me take a look this week!!

@doolb14 Could you share your example with the minimal reproduction repo :)?


broken link checker

From Punch List for Sanctuaries Interactive infographics - Google Docs...
Broken links?

Automated: web crawler that visits every link?

Broken link checker analysis with R - Hacker Bits shows how to use a Linux command:
linkchecker http://marinebon.org/cinms -ocsv > output.csv

Or we could use R: R script to check an HTML document for broken links. Save, source and try the example at the bottom.
Or better yet, use Github Actions on a regular basis (ie monthly): Link Checker · Actions · GitHub Marketplace


Fix hardcoded value for poolName

PR for #117408
Fixes a hard coded value in a script which was defined as a variable earlier in the tutorial

@craigshoemaker
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Thanks, @autosysops!
#sign-off


Slicing a tensor by an index tensor in Tensorflow

Hi the tensorflow team in Github,
I am not sure if it is appropriate to ask questions in Issue. If questions should not be here, please let me know so that I can close it (I already asked this question on Stackoverflow but I think It would be better to ask this right here in Tensorflow?)
I have two following tensors (note that they are both Tensorflow tensors which means they are still virtually symbolic at the time I construct the following slicing op before I launch a tf.Session()):
params: has shape (64,784, 256)
indices: has shape (64, 784)
and I want to construct an op that returns the following tensor:
output: has shape (64,784) where
output[i,j] = params_tensor[i,j, indices[i,j] ]
What is the most efficient way in Tensorflow to do so?
Many thanks.
-Bests

Since I think it is more appropriate to discuss this kind of question in Stackoverflow. I close it. If you want to check out the question section in Stackoverflow, follow the link above.


feat(acme): debug log details

Summary
Currently the FTI-3300 has not landed and we're using the previous implementation, monitoring the use of it using debug logs. But we're not able to have the granularity of failed domains registration. With this log we would be able to have more insights.
Note: suggesting changing whitelist to allowlist too.
Full changelog

Add host in the debug log for non allowed domain

Issue reference
Following https://github.com/Kong/kong/pull/9047

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@zekth when merged, make sure to cherry-pick and open a PR for EE 2.8.x.x.


fix: usage of deprecated version of Node.js

Fixes #308

The idea here is to force-push and remove the conflicting commit 25fa7ec and merge #311 and #313 in order as both dont conflict.

@karthiknadig any idea why this isn't able to merge?

@eleanorjboyd Yes. I need to remove this commit 25fa7ec

Due to org policy we can't force push to main. I will create a combined PR that takes commits from #311 and #313, and ensure that the contribution is correctly attributed in the release.


error: (node:38507) [google-auth-library:DEP004] DeprecationWarning

[REQUIRED] Step 2: Describe your environment

Operating System version: MacOS 10.13.6
Firebase SDK version:

    "firebase": "^5.5.5",
    "firebase-admin": "^6.1.0",
    "firebase-functions": "^2.0.5"

Library version: _____
Firebase Product: admin auth

[REQUIRED] Step 3: Describe the problem
Since upgrading to these versions, now receive error during firestore reads.
error: (node:38507) [google-auth-library:DEP004] DeprecationWarning: The `getRequestMetadata` method on the `OAuth2` class has been deprecated, and will be removed in the 3.0 release of google-auth-library. Please use the `getRequestHeaders` method instead.

Steps to reproduce:
Receive error when making the firestore call. The authentication and everything works fine. The function actually completes successfully. I get the above error in my logs.
// Verify the token
    admin.auth().verifyIdToken(token)
    .then((decodedToken) => {
        return db.collection('users').doc(decodedToken.uid).get();
    })
    .then(doc => {
        ...

Confirmed I am also getting this with the following versions:
"firebase-admin": "6.1.0",
"firebase-functions": "2.1.0",

@squirly good find! Can you guys update the firestore package to 0.18.1, to include this fix?

Yes please, this is driving me nuts:

You need @google-cloud/firestore 0.19.0 for the fix (which was released just yesterday). We will follow up with a release of firebase-admin soon.


Fix Noncharacter_Code_Point_table

rust-lang/rust#22690 describes a bug in unicode.py, where U+10FFFE and U+10FFFF are not put in Noncharacter_Code_Point_table. The bug is present in the version of the script recently copied to regex. This commit fixes the bug by parsing Unicode data files in accordance with UAX #44.

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @huonw (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. The way Github handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see CONTRIBUTING.md for more information.

Excellent, thank you!

I've uploaded this patch to crates.io in 0.1.20.


Error: uplink: ecclient error: successful puts (1) less than or equal to repair threshold (35)

Hundreds of errors like these on the logs.
Gateway restarted didn't fix them.
API: CompleteMultipartUpload(bucket=cloud, object=urn:oid:273075)
Time: 14:56:01 CET 01/07/2021
DeploymentID: 1787e122-c58c-4dfa-9b4e-944616183cbd
RequestID: 1657F7B223F3E602
RemoteHost: <IP_ADDRESS>
Host: <IP_ADDRESS>:7777
UserAgent: aws-sdk-php/3.133.27 GuzzleHttp/6.5.1 curl/7.68.0 PHP/7.4.13
Error: uplink: ecclient error: successful puts (1) less than or equal to repair threshold (35); uplink: ecclient error: successful puts (1) less than or equal to repair threshold (35) (errs.combinedError)
       4: /go/pkg/mod/github.com/minio/minio@v0.0.0-20201028162317-be7f67268d1e/cmd/api-errors.go:1979:cmd.toAPIErrorCode()
       3: /go/pkg/mod/github.com/minio/minio@v0.0.0-20201028162317-be7f67268d1e/cmd/api-errors.go:2004:cmd.toAPIError()
       2: /go/pkg/mod/github.com/minio/minio@v0.0.0-20201028162317-be7f67268d1e/cmd/object-handlers.go:2621:cmd.objectAPIHandlers.CompleteMultipartUploadHandler()
       1: net/http/server.go:2042:http.HandlerFunc.ServeHTTP()

error:#011{"error": "uplink: ecclient error: successful puts (0) less than or equal to repair threshold (35); uplink: ecclient error: successful puts (0) less than or equal to repair threshold (35)", "errorVerbose": "group:\n--- uplink: ecclient error: successful puts (0) less than or equal to repair threshold (35)\n\tstorj.io/uplink/private/ecclient.(*ecClient).Put:169\n\tstorj.io/uplink/private/ecclient.(*ecClient).PutSingleResult:180\n\tstorj.io/uplink/private/storage/streams.(*streamStore).Put:227\n\tstorj.io/uplink/private/storage/streams.(*shimStore).Put:53\n\tstorj.io/uplink/private/stream.NewUpload.func1:48\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:57\n--- uplink: ecclient error: successful puts (0) less than or equal to repair threshold (35)\n\tstorj.io/uplink/private/ecclient.(*ecClient).Put:169\n\tstorj.io/uplink/private/ecclient.(*ecClient).PutSingleResult:180\n\tstorj.io/uplink/private/storage/streams.(*streamStore).Put:227\n\tstorj.io/uplink/private/storage/streams.(*shimStore).Put:53\n\tstorj.io/uplink/private/stream.NewUpload.func1:48\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:57"}

And on front:
AWS HTTP error: cURL error 18: transfer closed with outstanding read data remaining

"successful puts (n) less than or equal to repair threshold" errors typically means that there were a lot of issues (usually simple network timeouts) talking to storage nodes.  However, if you're always getting ""successful puts (0)" then you probably have some other issue than poor connectivity.
What version of gatway-st are you using?  Have you tried Gateway-MT, where Storj runs the S3-compliant gateway?  If you do have weird networking / firewall issues, using Gateway-MT might help with that.


Teleporter non existent in orientdb-community-tp2-3.0.0m2

OrientDB Version: tp2-3.0.0m2
Java Version: 8
OS: windows
Expected behavior
Teleporter should be present in bin catalog
Actual behavior
Binaries are missing... not able to run teleporter
Steps to reproduce
Open bin catalog. oteleporter is missing.
Before we make any more investment in Teleporter we just would like to make sure that Teleporter will be included in version 3 of OrientDB.

Hi @johtor2
We are releasing OrientDB V 3.0.0RC1, it should be available in a few days. I'll make sure that Teleporter is there
Thanks
Luigi

Thank you Luigi!
//Johan

Hi Lugi,
Is the code for Teleporter improved in some way in 3.0 or is it same code as in 2.2.31.
Thanks
Johan

We are releasing OrientDB V 3.0.0RC1, it should be available in a few days. I'll make sure that Teleporter is there

Will you release 3.0.0RC1 this week? @luigidellaquila

This is what we are trying to do ;-)
Thanks
Luigi

Hi @johtor2
I just wanted to let you know that OrientDB v 3.0.0RC1 is available for download here:
http://orientdb.com/orientdb-labs/
We decided to keep the distribution as they were in M2, so the TP2 package is still without Teleporter. Anyway fixing it is trivial:

Just download this: http://orientdb.com/download.php?file=orientdb-community-importers-3.0.0RC1.tar.gz
unzip and take the teleporter jar file from plugins directory
copy it in the plugins directory of your tp2 distribution

Then just restart and you should be OK
Please consider that the final GA will have a slightly different packaging, so we will probably have only distributions with Teleporter (and all the other importers), so a bit less options but all with full features.
Thanks
Luigi

@luigidellaquila
Question: Any code changes in teleporter 3.0 compared to 2.2.31 ?

hi @johtor2
There are just some adaptations to the new APIs, but it's 99% the same
Thanks
Luigi

Hi @luigidellaquila
Could you please make a quick regression test on Telporter + conf file. We are unable to make it work. I would be nice to have that feature working in 3.0.
Thanks
Johan


Isomorphic IInstaller: Support installing dependencies with the debugger

With PR: https://github.com/microsoft/vscode-jupyter/pull/10604 we realized that to have an isomorphic dependency installer we will need to use the debugger.
We have a dependency installer that has a nicer user experience, which is the IInstaller. If we were to implement an isomorphic installer, we would both use the debugger and IInstaller.
An important point to consider is that the code below does not work with the debugger:
// TODO: Installing pandas does not work with the debugger.
// It takes a long time, then it breaks with:
// error: Command \"clang -Wno-unused-result -Wsign-compare -Wunreachable-code...
export const debuggerInstallPandas = [
    'import subprocess as _VSCODE_subprocess',
    'import sys as _VSCODE_sys',
    `def _VSCODE_install_pandas():
  _VSCODE_subprocess.check_call([_VSCODE_sys.executable, "-m", "pip", "install", "pandas"])`,
    '_VSCODE_install_pandas()',
    'del _VSCODE_subprocess, _VSCODE_sys, _VSCODE_install_pandas'
];

To correctly implement the isomorphic installer, we might need to study how %pip and %conda are implemented on Jupyter.

we might need to study how %pip and %conda are implemented on Jupyter.

I think we can avoid reverse engineering anything here.
Instead we could

When debugging we can use the debugger to get the path to the python executable & then run the necessary code against the python executable

This is what we do today, indirectly, we know the python environment & we run the commands against that.

Use IKernel to install the necessary modules (as is done today) for both local & remove kernels

Basically I think we can make this work easily today with very little changes.
In debuger we can run import sys; sys.executable using that we can get the interpreter information today & run the installer against the python environment as we do today.

In debuger we can run import sys; sys.executable using that we can get the interpreter information today & run the installer against the python environment as we do today.

Not sure how this would work in remote or web.

Not sure how this would work in remote or web.

In that case we have the kernel, and we can use the kernel.

In that case we have the kernel, and we can use the kernel.

Not while debugging. Still need to eval something. Hence the idea to figure out what %conda or %pip do, as that's what we'd eval.

Not while debugging. Still need to eval something.

When debugging the only time we don't know IKernel is when the user laucnhes the debugger, and that point we can call sys.executable.
This will not work only in remote debugging, which is only possible with IW & NB, however at that point we have an IKernel.
Hence we always have an IKernel except in local cases when user starts a debug session for python files using python extension.
If Python implements remote debuggin in web, then we can easily display a message asking the user to manually install pandas manually, as I believe that's a very small user base (we can determine this from the telemetry) & avoids the need to reverse engineer any of the code used in %conda & %pip, making the solution a whole lot simpler.
Perhaps we can discuss in standup.

Even with an IKernel, if you're debugging a cell or debugging the IW, you can't use the kernel to do the install. It's frozen. So you need to eval some code from the debugger.
Maybe we just skip installing when debugging then. Although I think the install magics wouldn't be very hard to call:
https://github.com/ipython/ipython/blob/0f4a73c91db71cde174275337fc5e226acc9dd7d/IPython/core/magics/packaging.py

It's frozen. So you need to eval some code from the debugger.

Aah yes, you're right, forgot about that one (thought that only applies to debugging remote kernels, but not a consistent experience if we don't support remote).


[BUG]: cupy, and by extension cudf changes the system's preferred encoding to ANSI_X3.4-1968

Version
23.07
Which installation method(s) does this occur on?
Docker, Conda, Source
Describe the bug.
Calling various cupy and cudf methods changes the system's preferred encoding from UTF-8 to ANSI_X3.4-1968.
https://github.com/cupy/cupy/issues/7514
https://github.com/rapidsai/cudf/issues/13085
The problem is any code called after this that requires reading a UTF-8 data source without explicitly setting the encoding will fail.
Minimum reproducible example
import locale

import cupy as cp

print(locale.getpreferredencoding()) # UTF-8
cpa =  cp.arange(0, 10)
print(locale.getpreferredencoding()) # ANSI_X3.4-1968

with open('models/training-tuning-scripts/sid-models/resources/bert-base-cased-vocab.txt') as fh: # contains unicode chars
    contents = fh.read()

Relevant log output
UTF-8
ANSI_X3.4-1968

---------------------------------------------------------------------------
UnicodeDecodeError                        Traceback (most recent call last)
Cell In[1], line 10
      7 print(locale.getpreferredencoding()) # ANSI_X3.4-1968
      9 with open('models/training-tuning-scripts/sid-models/resources/bert-base-cased-vocab.txt') as fh: # contains unicode chars
---> 10     contents = fh.read()

File ~/work/conda/envs/morpheus/lib/python3.8/encodings/ascii.py:26, in IncrementalDecoder.decode(self, input, final)
     25 def decode(self, input, final=False):
---> 26     return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 1323: ordinal not in range(128)

Full env printout
No response
Other/Misc.
No response
Code of Conduct

[X] I agree to follow Morpheus' Code of Conduct
[X] I have searched the open bugs and have found no duplicates for this bug report

This is a known issue with NVRTC (https://github.com/cupy/cupy/issues/7514#issuecomment-1500656392) currently there are only two known work-arounds:

Setting LC_ALL="POSIX"
Explicitly set the encoding when opening a file ex: with open(vocab_path, encoding='UTF-8')


Does it have volume change parameter in the speech recognizer in the android SDK?

I want to make an animation based on the volume, how to do?

The SDK does not expose API to control microphone. If you want to control mic, you can open the mic by yourself, and feed audio data to SDK via AudioInputStream. In this way, you have full control on mic.
Thanks,

I am closing the issue. If you have new questions, please feel free to open a new issue.


Add validation check for forward index disabled when enabling columnar segment creation

Now that column major segment builder is enabled by default in this PR (https://github.com/apache/pinot/pull/12770), the validation check should be added on cases where the forward index is disabled. Otherwise, the segment generation would fail and be paused. Thus, it'd be great to capture this early when the table config is added/updated.
This PR aims to add the validation check for forward index disabled when enabling columnar segment creation.

Do we allow disabling forward index for consuming segment? Can we add a test to verify if it works?

With the change in this current PR no we won't allow disabling forward index for consuming segment as it will fail on table creation. And columnMajorSegmentBuilderEnabled is set to true by default in the previous PR. And in fact, columnar segment generation won't work with consuming segment whose column has forward index disabled. Even without adding the validation check, the columnar segment generation would still fail (check this line of code). The purpose of this PR is to fail fast instead of waiting for a segment commit request.
Regarding tests, I think the ones in TableConfigUtilsTest would be sufficient as in this PR the failure would be detected during table creation?

What I was asking is when we disable forward index, will the config be picked up for consuming segment? Will the consuming segment only create inverted index, but not forward index?

I don't think forward index can be disabled for mutable segment (see this line), not sure how it is handled right now

Right, I was about to paste you the same link. Since forward index is always enabled by default, I don't see a reason why it's explicitly set to be disabled for realtime tables. And since with columnMajorSegmentBuilderEnabled is on by default, any realtime segment completion will fail eventually, I think it makes more sense to fail it fast in order to bring the attention to the table owners/pinot admins. @Jackie-Jiang wdyt?

My point is that forward index cannot be disabled for consuming segment anyway, regardless of whether columnMajorSegmentBuilderEnabled is enabled or not. Have you tried disabling forward index for any REALTIME table? Does it work?

I did test out the cases when forward index is disabled for the realtime table. And here is the exception messages:
2024/04/09 16:31:42.220 INFO [FixedByteSVMutableForwardIndex] [HelixTaskExecutor-message_handle_thread_55] Allocating 200 bytes for: airlineStats__7__1__20240409T2331Z:$ts$DAY.sv.unsorted.fwd
2024/04/09 16:31:42.220 INFO [FixedByteSVMutableForwardIndex] [HelixTaskExecutor-message_handle_thread_55] Allocating 512 bytes for: airlineStats__7__1__20240409T2331Z:$ts$MONTH.dict
2024/04/09 16:31:42.220 INFO [FixedByteSVMutableForwardIndex] [HelixTaskExecutor-message_handle_thread_55] Allocating 200 bytes for: airlineStats__7__1__20240409T2331Z:$ts$MONTH.sv.unsorted.fwd
2024/04/09 16:31:42.220 INFO [FixedByteSVMutableForwardIndex] [HelixTaskExecutor-message_handle_thread_55] Allocating 512 bytes for: airlineStats__7__1__20240409T2331Z:$ts$WEEK.dict
2024/04/09 16:31:42.220 INFO [FixedByteSVMutableForwardIndex] [HelixTaskExecutor-message_handle_thread_55] Allocating 200 bytes for: airlineStats__7__1__20240409T2331Z:$ts$WEEK.sv.unsorted.fwd
2024/04/09 16:31:42.220 INFO [FixedByteSVMutableForwardIndex] [HelixTaskExecutor-message_handle_thread_55] Allocating 256 bytes for: airlineStats__7__1__20240409T2331Z:ActualElapsedTime.dict
2024/04/09 16:31:42.220 INFO [FixedByteSVMutableForwardIndex] [HelixTaskExecutor-message_handle_thread_55] Allocating 200 bytes for: airlineStats__7__1__20240409T2331Z:ActualElapsedTime.sv.unsorted.fwd
2024/04/09 16:31:42.221 INFO [FixedByteSVMutableForwardIndex] [HelixTaskExecutor-message_handle_thread_55] Allocating 256 bytes for: airlineStats__7__1__20240409T2331Z:AirTime.dict
...
2024/04/09 16:31:42.232 WARN [RealtimeSegmentDataManager_airlineStats__6__1__20240409T2331Z] [HelixTaskExecutor-message_handle_thread_54] Scheduling task to call controller to mark the segment as OFFLINE in Ideal State due to initialization error: 'Forward index is required'
2024/04/09 16:31:42.232 ERROR [216_7050 - SegmentOnlineOfflineStateModel] [HelixTaskExecutor-message_handle_thread_55] Caught exception in state transition OFFLINE -> CONSUMING for table: airlineStats_REALTIME, segment: airlineStats__7__1__20240409T2331Z
java.lang.IllegalArgumentException: Forward index is required
        at org.apache.pinot.shaded.com.google.common.base.Preconditions.checkArgument(Preconditions.java:145) ~[pinot-all-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT-c7f5887d55981764646d873b836eaed384ed4339]
        at org.apache.pinot.segment.local.indexsegment.mutable.MutableSegmentImpl$IndexContainer.<init>(MutableSegmentImpl.java:1304) ~[pinot-all-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT-c7f5887d55981764646d873b836eaed384ed4339]
        at org.apache.pinot.segment.local.indexsegment.mutable.MutableSegmentImpl.<init>(MutableSegmentImpl.java:364) ~[pinot-all-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT-c7f5887d55981764646d873b836eaed384ed4339]
        at org.apache.pinot.core.data.manager.realtime.RealtimeSegmentDataManager.<init>(RealtimeSegmentDataManager.java:1529) ~[pinot-all-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT-c7f5887d55981764646d873b836eaed384ed4339]
        at org.apache.pinot.core.data.manager.realtime.RealtimeTableDataManager.addSegment(RealtimeTableDataManager.java:462) ~[pinot-all-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT-c7f5887d55981764646d873b836eaed384ed4339]
        at org.apache.pinot.server.starter.helix.HelixInstanceDataManager.addRealtimeSegment(HelixInstanceDataManager.java:241) ~[pinot-all-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT-c7f5887d55981764646d873b836eaed384ed4339]
        at org.apache.pinot.server.starter.helix.SegmentOnlineOfflineStateModelFactory$SegmentOnlineOfflineStateModel.onBecomeConsumingFromOffline(SegmentOnlineOfflineStateModelFactory.java:91) ~[pinot-all-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT-c7f5887d55981764646d873b836eaed384ed4339]
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
        at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
        at org.apache.helix.messaging.handling.HelixStateTransitionHandler.invoke(HelixStateTransitionHandler.java:350) ~[pinot-all-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT-c7f5887d55981764646d873b836eaed384ed4339]
        at org.apache.helix.messaging.handling.HelixStateTransitionHandler.handleMessage(HelixStateTransitionHandler.java:278) ~[pinot-all-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT-c7f5887d55981764646d873b836eaed384ed4339]
        at org.apache.helix.messaging.handling.HelixTask.call(HelixTask.java:97) ~[pinot-all-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT-c7f5887d55981764646d873b836eaed384ed4339]
        at org.apache.helix.messaging.handling.HelixTask.call(HelixTask.java:49) ~[pinot-all-1.2.0-SNAPSHOT-jar-with-dependencies.jar:1.2.0-SNAPSHOT-c7f5887d55981764646d873b836eaed384ed4339]
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
        at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]

updated the fieldConfig to the realtime table config:
@@ -55,6 +57,19 @@
           "MONTH"
         ]
       }
+    },
+    {
+      "name": "AirTime",
+      "encodingType": "DICTIONARY",
+      "indexType": "INVERTED",
+      "indexTypes": [
+        "INVERTED"
+      ],
+      "indexes": null,
+      "properties": {
+        "forwardIndexDisabled": "true"
+      },
+      "tierOverwrites": null
     }
   ],
   "metadata": {

So I think it still makes sense to fail fast on table config update.

Ah that's good point! Adjusted the logic to only check for the table type in the latest push. @Jackie-Jiang PTAL. Thanks!


Hide the statusline on a file tree?

Hello! I am a happy user of lightline, but, there's one problem for me.
Since in my config, i want to mimic vscode, i really want to hide the statusline on the tree side.
For info, i use nvim-tree.lua, I tried used if !has() but didn't work.

You cannot hide the statusline, nor disable lightline only for some specific window. Instead, I recommend to truncate components based on the window width, or file type as described in README.md.

Thanks for replying, I think this will work since I define a specific width for the file tree.

Thanks for replying, I think this will work since I define a specific width for the file tree.

Hi, can you share your code ?!


UndefVarError: LIBPQ_HANDLE not defined

Does the libpq.jl support Mac OS on M1, Julia v1.7 ?
Installed all postgresql libpq dependencies using homebrew, still getting error LIBPQ_HANDLE not defined. Is there a step I am missing ?
Works fine on Mac x86. Please advise.

I'm getting the same error on M1 Mac when running 1.7.0. Works in Julia 1.6.1.


ci: update workflow to work with protected branches

Update the releases.yml workflow to work with protected branches by means of a environment variable being set with a personal access token containing admin rights.
closes #659

@Panquesito7 it is complete but as I never received any confirmation on the issue  I just supplied a draft pull request so anyone could look at the changes.

I'm rather going to close this pull request as I don't think this is needed at this time.
The only real difference is that is disables the include admins checkbox and then re enables it after changelog is committed.


The thrown Error in async controller cannot be caught in router middleware

An async controller, something like this:
export const helloWorld = async (req, res) => {
  if (Math.random() < 0.5) throw new Error('by design random error')
  return res.send('hello world')
}

The error will not be caught in swagger-router.js#L408.
For my understanding, the root cause is, the async keyword make the controller returning a Promise actually, and any thrown Error will occurs out of this try-catch stack.
And I come out a walk around, it's to wrap the async controller like this to ensure the error can be processed in the later middleware chain:
import isPromise from 'is-promise'

export const controllers = { /* async controller stuffs */ }

export default Object.keys(controllers)
  .reduce((syncControllers, operationId) => {
    syncControllers[operationId] = (req, res, next) => {
      const result = controllers[operationId](req, res, next)
      if (isPromise(result)) {
        return result.catch(next)
      }
      return result
    }
    return syncControllers
  }, {})

And my idea or suggestion is, I think it's good to have the logic inside swagger-router.js. And for further steps, the best choice is to enable full support for async controller.

The link link you point is the error handling we have in place to handle errors that are thrown, which should typically only be unhandled exceptions, so that the error would be logged and sent downstream via next.  (Handled exceptions should be sent downstream using next.)  If your code never throws an error, of course that code won't be used.  Your Promise needs to pass the error it catches to next just like all other Connect middlewares.  I don't see us turning the handlers into promises or supporting them explicitly because Connect middleware has a well-known pattern in place that works with both async and sync code.  Since swagger-tools middleware is connect-based, you need to update your Promise usage to adhere.
Feel free to reopen this if I missed something, and we can always continue the discussion regardless.

Hi @whitlockjc , thanks for reply.
One thing I am not quite understanding is:

Connect middleware has a well-known pattern in place that works with both async and sync code.

In my understanding, both connect and swagger-tools are written in ES5 standard, but in my project, I am writting in ES2016 standard. All my project's code will be translated to ES5 using babel, and keyword async decorated function will turn into a function returning a Promise. If I throw Error in the async decorated function, it cannot be caught.

Is that because I am not in correct way to implement my async controller?
Or do you think it's recommended to resolve it using my walk around above?

Thanks very much!

Using ES6 within the confines of Connect middleware isn't hard but when using it, it doesn't let you change the paradigm that Connect expects.  This means you can't just expect to write or interact with Connect-based middleware and just make these functions whatever you want.  So returning Promises doesn't do anything with respect to Connect middleware as Connect doesn't understand how to use Promises.  Here is a good example of using Promsies, Generators and ES7 within Express (follows the Connect-based middleware paradigm): https://strongloop.com/strongblog/async-error-handling-expressjs-es7-promises-generators/  This link not only shows you how to do this manually but even shows how you can write a solid generator.
I hope this makes sense.  Please let me know if I can help further.

Thanks @whitlockjc , I learnt a lot from you!

Happy to help.


MAINT: Simplify VTK installation

Should work in principle because there are 9.2.0rc2 wheels out

@drammock this one is ready, too


Simplify along doc standards for samples

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


dart: Add ARM64 MacOS Support

Description of changes
Allow Dart to be installed on M1 macbooks. My first nix PR so feel free to (politely) yell at me.
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

It seems like the hash is wrong

It seems like the hash is wrong

I used the wrong format, should (hopefully) be correct now :)

Still failing eval

Closed by #161093.


Wrap the Last Edited Date in single quotes, doesn't work otherwise.

Amendment to my previous pull, didn't notice that it doesn't automatically wrap the data in quotes.

Can you remove the unicode characters from the comments?

Fixed, teaches me to use the GitHub editor...


LP returning undefined when using extra contexts

Using LP 4.2.20
I'm testing the following permission
    {
      "context": {
        "gp_claim": "cbb95907-9fa7-4adc-96c0-ed4b45e0edef",
        "item_used": "minecraft:wool.5"
      },
      "data": {
        "griefprevention.flag.block-break.minecraft.grass": true
      }
    }

First GP checks the user subject's permission by calling the following method

Tristate value = user.getPermissionValue(contexts, permission);

The contexts passed are the following
contexts = [world=world, localport=25565, remoteip=<IP_ADDRESS>, used_item=minecraft:wool.5, localhost=<IP_ADDRESS>, gp_claim=cbb95907-9fa7-4adc-96c0-ed4b45e0edef, Source=minecraft:player, localip=<IP_ADDRESS>, dimension=minecraft.overworld]

The permission checked was griefprevention.flag.block-break.minecraft.grass.0
This ends up returning a result of UNDEFINED

The second GP check is against the default user by calling

Tristate value = GriefPreventionPlugin.GLOBAL_SUBJECT.getPermissionValue(contexts, permission);

The contexts passed are the following
contexts [used_item=minecraft:wool.5, gp_claim=cbb95907-9fa7-4adc-96c0-ed4b45e0edef, Source=minecraft:player]

The permission checked was griefprevention.flag.block-break.minecraft.grass.0
This also returns a result of UNDEFINED.
Is there any reason why LP is not finding a match?
I assume that whatever contexts would only match if a permission contains all of them. So if I pass contexts A/B/C and have a permission with A/B/C/D then this would match but it would not match A/B. If this is so then I understand =) Just want to make sure.
UPDATE
Just tested another

I did another check against default user by calling the following

Tristate value = GriefPreventionPlugin.GLOBAL_SUBJECT.getPermissionValue(contexts, permission);

The contexts passed this time were exactly what I had in LP
contexts [used_item=minecraft:wool.5, gp_claim=cbb95907-9fa7-4adc-96c0-ed4b45e0edef]

The permission checked was griefprevention.flag.block-break.minecraft.grass.0
The result is still UNDEFINED so I'm at a loss here.

In the data, the flag is item_used, but the context you're passing is used_item?

Lol woops. I'll test when I get home but you are absolutely right :)

works now. Twas user error =) thanks!


boot2docker upgrade downloads ISO image everytime, unnecessarily

Just updated to boot2docker v1.4.1 and I love that upgrade checks for updates to the CLI tools. Excellent!
I'm still noticing that upgrade always downloads the latest ISO, even if it has a copy of the latest ISO already. It would be ideal if there was a way to check a hash or signature or something and only download an ISO is the current one is old or corrupted.
Cheers! <3 <3

+1


Tracking issue for shared type library

This is a tracking issue for the goal of creating a shared library that represents Rust types. This library should be used by rustc, chalk, and rust-analyzer, and would permit us to pass data and goals between rustc and chalk without any "bridging" cost. It will also permit one to write type-based analyses (like chalk itself!) that do not depend on rustc internals.
What follows is a list of steps to be taken. Those steps with open issues are actionable and ready to go. Those without open issues may be uncertain or maybe we just didn't write up any notes yet -- feel free to ping on Zulip to inquire after the status.
General work items

[x] Initial design meeting proposal
[ ] Propose renaming "type fold" to "type map" (in both rustc/chalk)
[ ] Propose renaming "type visitor" to "type folder" (in both rustc/chalk, although we don't have a trait like this in chalk yet)
[x] Complete comparison spreadsheet that describes names for things in rustc, chalk and what should go into shared library

Rust work items

[ ] Refactor code in rustc using ty.kind to use a method ty.kind(tcx) (but see bikeshed point above)
[x] Extend rustc's Binder type to contain a list of "kinds" for the bound items (discussion)
[x] return TyKind by value (maybe) as proposed in https://github.com/rust-lang/compiler-team/issues/363
[x] Extend rustc's late-bound types to contain an index
[ ] Start to move types into library to figure out what is missing
[x] Introduce custom derive for Fold trait
[ ] Extend Rustc's folder trait to have a Result associated type
[x] Extend Rustc's visit trait to not hard-code a boolean result?
[ ] Extend Rustc's TyKind variant to collapse the various scalars into one

Chalk work items

[x] Rename TyData to TyKind in Chalk
[x] Count binders, not variables
[x] Extend TypeName with variants representing scalar types (e.g., bool, u32, i32) and other rust "application types" https://github.com/rust-lang/chalk/issues/368
[x]  Introduce Interner associated type for all vectors that appear in chalk_ir types (e.g., Vec<QuantifiedWhereClause>, Vec<ParameterKind>, etc) as well as Arc or Box https://github.com/rust-lang/chalk/issues/369
[x] Convert parameters field of Fn type to use Substitution instead of a Vec
[x]  Introduce a Visit trait in chalk  https://github.com/rust-lang/chalk/issues/333
[x] Refactor Binders API to have private values field -- https://github.com/rust-lang/chalk/issues/375
[x] Add "flags" to the Ty type and friends and integrate some of those flags into folders https://github.com/rust-lang/chalk/issues/627

[x] Add
[x] Integrate -- not really a blocker

[x] Optimize folding over slices to avoid "reinterning" them when not needed
[x] Experiment with removing Apply and TypeName and inlining those as distinct variants in chalk's type

Things to explore

[ ] Align on a single model of canonicalization -- what gets canonicalized? What about universe canonicalization?

XXX hackmd where sketched a plan, need to incorporate above

Michael has made many PRs towards this effort!:
rust-lang/rust#116828
rust-lang/rust#116912
rust-lang/rust#116946
rust-lang/rust#116951
rust-lang/rust#116993
rust-lang/rust#117008
rust-lang/rust#117578
rust-lang/rust#117580
rust-lang/rust#117582
rust-lang/rust#117851


Stuck at boot

Hello,
I've been playing with your image and have trouble running it on my KR260 devkit.
The boot always hangs, the last kernel messages are:
[    3.836592] macb ff0b0000.ethernet: Not enabling partial store and forward
[    3.838795] of_cfs_init: OK
[    3.845701] macb ff0b0000.ethernet: invalid hw address, using random
[    3.848508] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    3.855352] macb ff0b0000.ethernet eth0: Defer probe as mdio producer ff0c0000.ethernet is not probed
[    3.863854] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    3.878297] clk: Not disabling unused clocks
[    3.882817] ALSA device list:
[    3.885775]   #0: DP mon
[    3.888982] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    3.897603] cfg80211: failed to load regulatory.db
[    3.927760] macb ff0c0000.ethernet: Not enabling partial store and forward
[    3.934673] macb ff0c0000.ethernet: invalid hw address, using random
[    3.999594] Waiting for root device /dev/sda2...
[    3.999771] macb ff0b0000.ethernet: Not enabling partial store and forward
[    4.011104] macb ff0b0000.ethernet: invalid hw address, using random
[    4.017955] macb ff0b0000.ethernet eth0: Defer probe as mdio producer ff0c0000.ethernet is not probed
[    4.043550] macb ff0c0000.ethernet: Not enabling partial store and forward
[    4.050447] macb ff0c0000.ethernet: invalid hw address, using random
[    4.409729] zynqmp-display fd4a0000.display: [drm] Cannot find any crtc or sizes
[   14.046087] macb ff0b0000.ethernet: Not enabling partial store and forward
[   14.052996] macb ff0b0000.ethernet: invalid hw address, using random
[   14.059897] macb ff0b0000.ethernet eth0: Defer probe as mdio producer ff0c0000.ethernet is not probed
[   14.083611] macb ff0c0000.ethernet: Not enabling partial store and forward
[   14.090510] macb ff0c0000.ethernet: invalid hw address, using random
[   14.127895] platform ff0b0000.ethernet: deferred probe pending
[   14.133739] platform ff0c0000.ethernet: deferred probe pending
[   14.139564] platform ff9d0000.usb: deferred probe pending
[   14.144954] platform ff9e0000.usb: deferred probe pending
[   14.150344] platform pwm-fan: deferred probe pending

I think the main problem is hinted by waiting for root device /dev/sda2.
For a reference, official Ubuntu image works fine.

Thank you for the issue.
As you guessed, the usb storage does not seem to be working.
If it were working properly, you would get a message like this
[    3.268511] Waiting for root device /dev/sda2...
[    3.277004] cfg80211: failed to load regulatory.db
[    3.363645] usb 1-1: New USB device found, idVendor=0424, idProduct=2744, bcdDevice= 2.21
[    3.371834] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    3.378968] usb 1-1: Product: USB2744
[    3.382625] usb 1-1: Manufacturer: Microchip Tech
[    3.387434] usb 3-1: new high-speed USB device number 2 using xhci-hcd
[    3.442614] hub 1-1:1.0: USB hub found
[    3.446395] hub 1-1:1.0: 4 ports detected
[    3.506492] usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd
[    3.531442] usb 2-1: New USB device found, idVendor=0424, idProduct=5744, bcdDevice= 2.21
[    3.539625] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=0
[    3.546759] usb 2-1: Product: USB5744
[    3.550422] usb 2-1: Manufacturer: Microchip Tech
[    3.555692] usb 3-1: New USB device found, idVendor=0424, idProduct=2744, bcdDevice= 2.21
[    3.563875] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    3.571022] usb 3-1: Product: USB2744
[    3.574680] usb 3-1: Manufacturer: Microchip Tech
[    3.618592] hub 2-1:1.0: USB hub found
[    3.622463] hub 3-1:1.0: USB hub found
[    3.626229] hub 2-1:1.0: 3 ports detected
[    3.630257] hub 3-1:1.0: 3 ports detected
[    3.683235] usb 4-1: new SuperSpeed USB device number 2 using xhci-hcd
[    3.707436] usb 4-1: New USB device found, idVendor=0424, idProduct=5744, bcdDevice= 2.21
[    3.715611] usb 4-1: New USB device strings: Mfr=2, Product=3, SerialNumber=0
[    3.722740] usb 4-1: Product: USB5744
[    3.726398] usb 4-1: Manufacturer: Microchip Tech
[    3.795292] hub 4-1:1.0: USB hub found
[    3.799194] hub 4-1:1.0: 2 ports detected
[    3.803072] usb 1-1.1: new high-speed USB device number 3 using xhci-hcd
[    3.913377] usb 1-1.1: New USB device found, idVendor=0424, idProduct=2240, bcdDevice= 1.98
[    3.921737] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.929042] usb 1-1.1: Product: Ultra Fast Media
[    3.933744] usb 1-1.1: Manufacturer: Generic
[    3.938012] usb 1-1.1: SerialNumber:<PHONE_NUMBER>01
[    3.943229] usb-storage 1-1.1:1.0: USB Mass Storage device detected
[    3.949803] scsi host0: usb-storage 1-1.1:1.0
[    3.971080] usb 3-1.3: new high-speed USB device number 3 using xhci-hcd
[    4.035071] usb 1-1.4: new high-speed USB device number 4 using xhci-hcd
[    4.075764] usb 3-1.3: New USB device found, idVendor=0424, idProduct=2740, bcdDevice= 2.00
[    4.084125] usb 3-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    4.091434] usb 3-1.3: Product: Hub Controller
[    4.095867] usb 3-1.3: Manufacturer: Microchip Tech
[    4.139748] usb 1-1.4: New USB device found, idVendor=0424, idProduct=2740, bcdDevice= 2.00
[    4.148098] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    4.155410] usb 1-1.4: Product: Hub Controller
[    4.159848] usb 1-1.4: Manufacturer: Microchip Tech
[    4.959835] scsi 0:0:0:0: Direct-Access     Generic  Ultra HS-COMBO   1.98 PQ: 0 ANSI: 0
[    4.969189] sd 0:0:0:0: [sda] 62410752 512-byte logical blocks: (32.0 GB/29.8 GiB)
[    4.977351] sd 0:0:0:0: [sda] Write Protect is off
[    4.982727] sd 0:0:0:0: [sda] No Caching mode page found
[    4.988036] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    4.998107]  sda: sda1 sda2
[    5.002738] sd 0:0:0:0: [sda] Attached SCSI removable disk
[    5.024085] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[    5.033425] VFS: Mounted root (ext4 filesystem) on device 8:2.

Sorry, I do not have a KR260 and cannot immediately determine the cause.
I would like to know what kind of message I will get in the official ubuntu image.
If anyone looking at this issue can help me I would be glad.

Thank you for your fast response.
I'm attaching full kernel log outputs for both upstream Ubuntu and your version.
Please let me know if I can do more to help diagnose this.
ours_dmesg.log
upstream_dmesg.log

Thank you very much.
If you have time, could you try ZynqMP-FPGA-Ubuntu22.04-Desktop v1.1.2?
https://github.com/ikwzm/ZynqMP-FPGA-Ubuntu22.04-Desktop/tree/v1.1.2
v1.2.0 uses Linux Kernel 6.1, while v1.1.2 uses Linux Kernel 5.15, the same as the official image.

Sure, I'll try it today or tomorrow.
Can I mix the kernel from v1.1.2 with rootfs v1.2.0?

The linux kernel module included in rootfs is different between v1.2.0 and v1.1.2 due to the different linux kernel versions.
Specifically, the installed linux image package is different.
v1.2.0 has linux-image-6.1.42-zynqmp-fpga-trial_6.1.42-zynqmp-fpga-trial-1_arm64.deb installed.
v1.1.2 has linux-image-5.15.108-zynqmp-fpga-trial_5.15.108-zynqmp-fpga-trial-2_arm64.deb installed.
If these linux image packages are not installed, device drivers built as kernel modules will not work.
But, conversely, if you do not use device drivers built as kernel modules, rootfs without the linux image packages installed may boot.
If you succeeded in booting v1.2.0 rootfs with v1.1.2 linux kernel, you can download the linux kernel image package from the following URL and install it later.
https://github.com/ikwzm/ZynqMP-FPGA-Ubuntu22.04-Desktop/tree/v1.1.2/debian

v3.0.0 has been released.
This includes Linux Kernel 6.1.70 booted with KR260.


TypeError: Found non-callable @@iterator

A way to reproduce:
import { $ } from 'dom7'; $('div').map(element => console.log(element));
dom7 version 4.0.2

Your issue is closed because it is not filled correctly. Before you open an issue please review the contributing guideline.
Please fill the issue template correctly and:

Clearly describe the issue including steps to reproduce when it is a bug.
Make sure you fill in the earliest version that you know has the issue.
Provide live link or JSFiddle/Codepen or website with isssue

It will save a lot of time for other contributors to check your issue and fix it.


Laravel 5/4/27 not work

1)Require the barryvdh/laravel-cors package in your composer.json
2)Add the Cors\ServiceProvider to your config/app.php providers array (Barryvdh\Cors\ServiceProvider::class,)
3)To allow CORS for all your routes, add the HandleCors middleware in the $middleware property of app/Http/Kernel.php class:
protected $middleware = [
// ...
\Barryvdh\Cors\HandleCors::class,
];
Why dont work?
and i try add to Group middleware / route middleware but cors not work.
Help pls!

The same here.

protected $middlewareGroups = [
'cors' =>[
\Barryvdh\Cors\HandleCors::class,
]
]
hope this helps XD

The problem was solved for me by setting the HandleCors class as below in your kernel.php
'api' => [
            'throttle:60,1',
            'bindings',
            'cors' =>[
                \Barryvdh\Cors\HandleCors::class,
            ]
        ],

Hope this solved the problem
and also, make sure all your endpoint are grouped with middleware. unsecure endpoint can have an empty array as middleware, I was able to solve the problem that way
Hope it help someone

Can you try again with https://github.com/barryvdh/laravel-cors/releases/tag/v0.10.1 ?
Please re-open this issue when the problem still persists.


Create MOM-2023-10-25.md

What type of PR is this?

documentation
subproject management

What this PR does / why we need it:
Meeting Minutes, 25th October
Please review

thanks Ludovic!,
I will wait some days, and will merge next week (in case any comment)

thanks Rafal!


Difference between gulp.src and path option?

What is the difference between gulp.src and the path option?
It is stated that multiple directories can be passed to gulp.src. If this is true, my assumption is that the web server is an empty directory filled with whatever is in gulp.src. However, if this is true, why is there a path option as there would be no path in this case.
Please clarify this for me and if not too much bother, it would be helpful if this information was provided in the README.md file.
Regards.

src

path


"Template fragment" component in Htmxor

[UPDATED: combined a bunch of comments below into a general description/issue].
Htmxor needs a good way to do "template fragments". The library currently have a very rough first attempt, <HtmxPartial>. It may need a better name and certainly more features.
Let me start by explaining how <HtmxPartial> works right now.
Lets use this as the example:
@page "/counter"
<PageTitle>Counter</PageTitle>

    <HtmxPartial>

            Current count: @CurrentCount

        <button class="btn btn-primary"
                hx-put="/counter"
                hx-vals='{ "CurrentCount": @(CurrentCount) }'
                hx-target="#counter"
                @onput="IncrementCount">
            Click me
        </button>
    </HtmxPartial>

@code {
    [SupplyParameterFromForm]
    private int CurrentCount { get; set; } = 0;

    private void IncrementCount(HtmxContextEventArgs args)
    {
        CurrentCount++;
    }
}

Normal request or hx-boosted request
During a normal request or hx-boosted request, the full component tree is rendered, i.e. starting with App.razor, all the way down to the Counter.razor page.
Here the full component tree is rendered out, including <HtmxPartial> and its child content.
hx-request to /counter
When a hx-request is received that targets the  component, that component's component-tree is searched, and since a  component is found whose [Parameter] public bool Condition { get; set; } = true; returns true, only that <HtmxPartial> component and its children is rendered.
Normal request or htmx request
During rendering, if a  component is reached, its Condition parameter is checked, and if it returns false, the component and its children is not rendered.
This happens during both normal and htmx requests.
A more detailed discussion of the proposed improvements is in the comment https://github.com/egil/Htmxor/issues/25#issuecomment-2088498304 below.

What exactly is the purpose of HxPartial?

The purpose is to have parts of a component that only render conditionally, or more generally, they are an implementation of https://htmx.org/essays/template-fragments/.
For example:
https://github.com/egil/Htmxor/blob/fba91392cf8d13c598896406484da9efbe795698/samples/MinimalHtmxorApp/Components/Pages/Counter.razor#L1-L25)
Here, on a full-page request, the entire markup is rendered. On htmx requests, only the child content of the HxPartial is rendered.

This section is really worth thinking about a bit regarding some of the various angles you could approach.  The idea of "full page request" needs to be carefully considered, because I could see nested partials being used frequently.
This actually was the core idea I originally wanted with the HxSwappable component, because typically the areas that you would do this with align with either standard swaps or out-of-bound swaps. To make them work you always need a container with an id and then if the request is HTMX you can add the OOB hx-swap-oob="true" attribute to the response without any bad effects even if the swap isn't oob.
A typical use case on a page might have more than one "HxSwappable" section akin to your HtmxPartial, so the rendered result just needs to be:

If htmx then consecutive renders of the swappable containers with each having hx-swap-oob="true" added so they each neatly swap into the right places
If not htmx, render the whole page inline

The other thing I would have done would be to make sure that each HxSwappable/HtmxPartial can be directly routable somehow (by it's container id?).
If the page is: /news/ then this routes to /news/weather or /news/?hxs=weather or something.  I'm not sure about the easiest solution to this problem.
<HxSwappable Id="weather"></HxSwappable>

The other major factor to consider is the flow of data to these sections.  Typically you need to compose these swappable sections because they enclose components that will experience state changes. I've most typically made use of them when I have a section of page that may take longer to render than the rest of the page because there is some higher level of latency when loading data and you want to present something to the user (like a skeleton).
React has a component called Suspense that has similar effects to what I'd love out of a Swappable section.
Perhaps something like this:
<HxSwappable Id="videos"<EMAIL_ADDRESS>   <Fallback>Video skeleton page here</Fallback>
   <ChildContent>Long loading content</ChildContent>
</HxSwappable>

This is spitballing here but when rendering HxSwappable components if the render mode is Lazy then render Fallback only (ignoring ChildContent rendering completely) and use the htmx lazy loading pattern to load in content.  When rendering that swappable from htmx then render the content directly, ignoring fallback.
The other idea which is a more htmx friendly alternative to streaming, would be:
When the render mode is RenderModes.Lazy (or whatever) and the current route isn't directly to this component, then you immediately render fallback and begin rendering ChildContent out-of-band, making the result available on a cached basis via some unique url.  That way the user gets the response
e.g.
On first load the above HxSwappable component renders as:

    Video skeleton page here

Then the page loads, a request is made by htmx to /special/deferred/render/url/8c691763-21b2-4c78-b0e4-5f7236fab91d and retrieves the result of rendering the ChildContent.
If this isn't feasible then at least having the Swappable component directly routable would work.

I like your ideas suggested in https://github.com/egil/Htmxor/issues/25#issuecomment-2088376473. Good stuff!
But, I want to see if we can figure out a "generalized fragment/partial/naming is hard" component (I'll keep calling this HtmxPartial until we figure out a better name), that e.g. a <HxSwappable> component can inherit from, or another 3rd party custom component can inherit from, that enables all your good ideas.
Because it would be great if <HtmxPartial> is the only component type the HtmxRenderer needs to know about.
So, let's establish some rules for <HtmxPartial>. Here are my current suggestions:
During normal/boosted requests:

<HtmxPartial Condition=true> is the default, e.g. the same as <HtmxPartial>

<HtmxPartial> is only rendered if its Condition returns true.

Multiple <HtmxPartial> component can render during the same request. For example:
<HtmxPartial Condition=true>Foo</HtmxPartial>
<HtmxPartial Condition=false>Bar</HtmxPartial>
<HtmxPartial Condition=true>Baz</HtmxPartial>

This will result in Foo Baz being returned.

A <HtmxPartial> does not render if it is a child of inside another <HtmxPartial Condition=false>, independent of what its Condition parameter returns. For example:
<HtmxPartial Condition=false>Foo
  <HtmxPartial Condition=true>Bar</HtmxPartial>
</HtmxPartial>
<HtmxPartial Condition=true>Baz</HtmxPartial>

This will result in Baz being returned. Equally:
<HtmxPartial Condition=true>Foo
  <HtmxPartial Condition=false>Bar</HtmxPartial>
</HtmxPartial>
<HtmxPartial Condition=true>Baz</HtmxPartial>

This will result in Foo Baz being returned.

Specifically during HX requests:

If the target component's component tree does NOT contain any <HtmxPartial> components, the full component tree is rendered out, e.g. a request to /component-without-partials:
@page "/component-without-partials"

hello world

<ChildComponent Message="hi" />

Will result in both <ComponentWithoutPartials> and all its children being rendered.

If the target component's component tree contains one or more <HtmxPartial> whose returns on return true, then ONLY these <HtmxPartial> components are rendered. E.g. a request to /component-partials:
@page "/component-partials"

hello world

<HtmxPartial>
  <ChildComponent Message="hi" />
</HtmxPartial>

This will result in both <ChildComponent > being rendered.

If the target component defines a HxLayout, then that layout is always rendered, independent of whether there exists <HtmxPartial> components in the render tree or not. For example:
@page "/component-without-partials"
@attribute [HxLayout(typeof(HtmxorLayout)]

hello world

<ChildComponent Message="hi" />

@page "/component-partials"
@attribute [HxLayout(typeof(HtmxorLayout)]

hello world

<HtmxPartial>
  <ChildComponent Message="hi" />
</HtmxPartial>

will both render any target component as a child of the HtmxorLayout component.

This should enable all your ideas through custom components that inherit from <HtmxPartial>.
Currently, the Htmxor does these things:

1 = OK
2 = OK
3 = Missing
4 = Partially, only for the first
5 = Partially, only for the first
6 = OK
7 = Partially, only for the first
8 = Partially, only for normal requests

What is the mechanism for targeting that HtmxPartial component?

Normal request or hx-boosted request
During a normal request or hx-boosted request, the full component tree is rendered, i.e. starting with App.razor, all the way down to the Counter.razor page.

This is incorrect.  On an hx-boosted request the rendered output can still target a particular selector.  The documentation doesn't give you much to indicate it but hx-target is still adhered to along with hx-swap as well.  Even if hx-target is body then hx-boosted requests only replace the body of the current page without changing the url (used for non-GET requests).  If hx-target is "window" or empty (?) then it's a full page request.
For example:
Home

This would load the content at url /home as boosted, swapping it into #main_content with a transition, immediately setting the scrollbar to the top of main without any animation, and overriding any default show scroll animations.  This would allow you to load content into a particular div just as you would with hx-get.
I see you added something more so I'm going to read that before adding anything further.

Let's keep how to handle hx-boost out of this discussion. Moved to issue #26.

With the rules above in mind, lets try to implement HtmxSwappable (completely untested):
@using Htmxor.Http
@inherits PartialBase
@inject HtmxContext Context
@code {
    [Parameter, EditorRequired]
    public required RenderFragment Loading { get; set; }

    [Parameter, EditorRequired]
    public required RenderFragment ChildContent { get; set; }

    [Parameter, EditorRequired]
    public required string Id { get; set; }

    [Parameter]
    public bool Lazy { get; set; }

    // Render both during normal and htmx requests
    protected internal override bool ShouldRender() => true;
}
@if (Lazy)
{
    if (Context.Request.IsHtmxRequest)
    {

            @ChildContent

    }
    else
    {
        <div id="@Id" hx-target="#@Id" <EMAIL_ADDRESS>hx-trigger="load">
            @Loading

    }
}
else
{

        @ChildContent

}

The base component idea works.  I'm going to parse through your ideas and see if anything jumps out that is missing.
Quick question, if I nest a component inside of a partial with Condition=false, no lifecycle methods for that component are ever called correct?

Quick question, if I nest a component inside of a partial with Condition=false, no lifecycle methods for that component are ever called correct?

This is an interesting discussion.
We could go with no, meaning that SetParameterAsync (which kicks off all other life cycle methods, if any) is never called on child components, meaning no render tree is created, thus, the child components and markup/elements are never instantiated and never exist.
However, it could be that the element that was the trigger for the hx-request, e.g. <button hx-get="/url" @onget=(() => some logic here)>BTN</button>, is the child of a partial with Condition=false. In this case, the event handler would never be recreated and Htmxor will not be able to call it.
An alternative is to go with an approach similar to Blazor's [ComponentBase.ShouldRender()](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.components.componentbase.shouldrender?view=aspnetcore-8.0). It will allow a single render and any number of invocations of life cycle methods. This could be useful if "condition" is determined dynamically based on async operations.
Ultimately, when it comes time to produce markup that will be sent to client, the renderer will not generate markup from components inside partials with condition false, but any child components and their render trees will be created.

The condition value is cascading in a sense that if a parent component is true, then all children will inherit that render condition unless they override.

That makes sense. I like that approach.
Should the xmldoc param doc say implements IConditionalOutput?.
    /// <param name="hasConditionalChildren">Whether this component has any children that implements <paramref name="hasConditionalChildren"/>.</param>

Ok, the core functionality has been merged in. @tanczosm, I would love to get your take on useful components like HtmxSwappable mentioned earlier. But lets create an individual issue for those.


MountVolume.SetUp failed for volume for Livy driver pod

Hello
when I install Livy helm chart and create a Livy driver pod, it failed in most volume set up.
I am getting this error even if ConfigMap already there
"MountVolume.SetUp failed for volume "spark-conf-volume" : configmap "livy-session-0-ee5a9e78150bb674-driver-conf-map" not found"
Thanks

Hi, it is a known bug and it happens periodically. To fix it we need to fix Spark code or upgrade Livy to use the latest Spark version (haven't yet checked whether Spark maintainers have already fixed it). I hope to get to the upgrading somewhere this year, but unfortunately doesn't have enough time to maintain this project at the moment.


Error at line 55 of */framework/model/connect/DBConnector.php

Hi tractorcow,
once again I need your support. I've found out that I got this error if I have too much characters in my field. I mean I have some custom HTMLText fields and when I put for example 1000 characters I can save & publish page without any problem but when I want to add a few more let's say 50 more I got this "line 55" error. Without fluent module everthing's good I can add as many characters as I need without any error.
Did you saw something like this? I don't even know where to start looking what's actually going on.
Cheers,
D.

Hi @cheatus can you please post the full error? Not just the line and file thanks. :)

Hi @tractorcow, thanks for response.
In my console I have something like this:

Failed to load resource: the server responded with a status of 500 (Error at line 55 of /Applications/AMPPS/www/[projectFolder]/framework/model/connect/DBConnector.php)

in file:

localhost/[projectFolder]/admin/pages/edit/EditForm

and inside this "EditForm" I'got something like this:
ERROR [User Error]: Uncaught SS_DatabaseException: Couldn't run query:
UPDATE "HomePage"

SET "Content_pl_PL" = ?, "Content_en_US" = ?, "Content" = ?, "ID" = ?, // ... long list of custom field names

WHERE ("ID" = ?)

Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
IN POST /Alpinus/admin/pages/edit/EditForm
Line 55 in /Applications/AMPPS/www/Alpinus/framework/model/connect/DBConnector.php

Source
======
  46:  		if (!empty($sql)) {
  47:  			$formatter = new SQLFormatter();
  48:  			$formattedSQL = $formatter->formatPlain($sql);
  49:  			$msg = "Couldn't run query:\n\n{$formattedSQL}\n\n{$msg}";
  50:  		}
  51:
  52:  		if($errorLevel === E_USER_ERROR) {
  53:  			// Treating errors as exceptions better allows for responding to errors
  54:  			// in code, such as credential checking during installation
* 55:  			throw new SS_DatabaseException($msg, 0, null, $sql, $parameters);
  56:  		} else {
  57:  			user_error($msg, $errorLevel);
  58:  		}
  59:  	}
  60:
  61:  	/**

Trace
=====
DBConnector->databaseError(Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.,256,UPDATE "HomePage"

SET "Content_pl_PL" = ?, "Content_en_US" = ?, "Content" = ?, "ID" = ?, // ... long list of custom field names
 WHERE ("ID" = ?),Array)
MySQLiConnector.php:238

// ...

Hope it helps, I'll happily provide you more info if needed :)
I'm using the Silverstripe 3.4.0 and Fluent 3.7.0.
Cheers,
D.

Ah, it's the same issue as https://github.com/tractorcow/silverstripe-fluent/issues/145. :)
You can try the following:

Remove some fields from translation that may not need to be via the translate config
Simplify your model with additional subclasses to store extra fields.
You can also use https://addons.silverstripe.org/add-ons/internetrix/silverstripe-fluent-extra-table, although I haven't yet tried it out myself.

Closing as duplicate in any case, but I'll still help you fix it if you need.
Please send me the long list of columns, even though it's long. I really do need to see the full output, thanks!

Hi @tractorcow,
thank you for comment and sorry for the delay. Of course I'll check your potential solutions and read more about this issue in other posts and get back to you if you don't mind.

WHERE ("ID" = ?)

Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
IN POST /Alpinus/admin/pages/edit/EditForm
Line 55 in /Applications/AMPPS/www/Alpinus/framework/model/connect/DBConnector.php

Source
======
  46:  		if (!empty($sql)) {
  47:  			$formatter = new SQLFormatter();
  48:  			$formattedSQL = $formatter->formatPlain($sql);
  49:  			$msg = "Couldn't run query:\n\n{$formattedSQL}\n\n{$msg}";
  50:  		}
  51:
  52:  		if($errorLevel === E_USER_ERROR) {
  53:  			// Treating errors as exceptions better allows for responding to errors
  54:  			// in code, such as credential checking during installation
* 55:  			throw new SS_DatabaseException($msg, 0, null, $sql, $parameters);
  56:  		} else {
  57:  			user_error($msg, $errorLevel);
  58:  		}
  59:  	}
  60:
  61:  	/**

Trace
=====
DBConnector->databaseError(Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help.

 WHERE ("ID" = ?),Array)
MySQLiConnector.php:238

// ...

Cheers,
D.

Well, the best solution I have here is to move away from the First/Second/.../SliderItem model you have, and introduce a SliderItem dataobject. Then creat a has_one / has_many relation between your page and these items. That will cut down on a LOT of additional column width.

Also please look at https://github.com/silverstripe-australia/silverstripe-gridfieldextensions, which will allow you to do inline-editing on a gridfield for ease of data-entry. :)

Hi @tractorcow ,
yeah I'm aware of that denormalisation issues but can't do it differently atm. "SliderItem" was my first idea but I couldn't make it to work because of pagination elements. These elements are in different HTML block than Slider and I don't know how to connect them in/with DataObject without breaking the layout and then limit those items to only four.
It's something like this:

      [SliderItems]

    [PaginationItems]

As for https://github.com/silverstripe-australia/silverstripe-gridfieldextensions I'll check that out, thanks :)

Hi @tractorcow ,
ok, I've tested https://addons.silverstripe.org/add-ons/internetrix/silverstripe-fluent-extra-table module and it seems to work fine, but then I've noiced url segment translation issue. Actual translation of that segment returns 404.
After that I've dediced to split some classes into smaller ones like you've wrote:
class MyPageBase extends Page {
    private static $db = // 12 fields
}

class MyPage extends MyPageBase {
    private static $db = // other 12 fields
}

But after adding some content it doesn't save in my database. What I'm doing wrong?
// About.php
class About extends Page {

private static $db = array(
  'SomeTitle' => 'Text',
  'SomeContent' => 'Text'
  // ...
);

private static $translate = array(
  'SomeTitle',
  'SomeContent'
  // ...
}

public function getCMSfields() {
$this->beforeUpdateCMSFields(function($fields) {
  $fields->addFieldToTab('Root.Main', TextField::create('SomeTitle', 'MyTitle'));
  $fields->addFieldToTab('Root.Main', TextField::create('SomeContent', 'MyContent'));
  //...
});

$fields = parent::getCMSfields();
return $fields;
}

and then:
class AboutOutro extends About {
  private static $db = array(
    'Outro__Title' => 'Text',
    'Outro__Text' => 'Text'
  );
  private static $translate = array(
    'Outro__Title',
    'Outro__Text'
  );
  public function getCMSfields() {
    $this->beforeUpdateCMSFields(function($fields) {
        $fields->addFieldToTab('Root.Outro', TextField::create('Outro__Title', 'Title'));
        $fields->addFieldToTab('Root.Outro', TextareaField::create('Outro__Text', 'Text'));
      });

        $fields = parent::getCMSfields();
        return $fields;
    }
}

I've tried both in same file "About.php" as well as in separate ones (but then I get new page type in page settings). Also some other variations like getCMSfields from Title, Content and Outro__Title, Outro__Text in base page and "array's" in second class. Still can't make this to work.
Could you provide some help with this?
Cheers,
D.

At a glance I can't see anything obviously wrong... I do highly recommend de-normalising your SliderItem models though, before trying to split your model into separate classes.
One thing I can guess is, shouldn't this line:
class About extends Page {

be
class About extends MyPage {

Ah @tractorcow you beat me to it....noticed that too

Hi @tractorcow ,
about that SliderItem thing, I've made DataObject so this isn't an issue anymore :) But now, that About page is, thanks for your feedback I'll check that later.
Cheers,
D.

I'm having this issue when moving my version on my localhost (which DOES WORK) to the production environment. On my mamp stack everything works as expected, but on the live site i'm getting this error.

Hi @guyvanbael ,
first of all check if you have proper config.yml file. If you're using Fluent Extra Table module make sure you load it after Fluent adds new fields. Just move Fluent Extra Table module somewhere else, run dev/build and then restore Fluent Extra Table. Other issue could be "Row size too large (> 8126)" which is unfortunately common with Fluent - when you have lots of custom fields. If so, you can change your row format to compressed (in phpmyadmin) and this is pretty much a solution. If you can't do it (settings blocked) you could try dividing fields or nesting them or experiment with gridfield (more Data Objects) - it's not the best solution but it works, more less. Or use Fluent Extra Table I mentioned before but you may encounter an issue with URLs.

hi @cheatus
I also found this about this issue:
The problem seems to occur on MySQL ~5.7 (A colleague's Docker setup uses
5.7
whereas I use 5.5 and I do not see the problem). I'm not sure when this
constraint was introduced - it kinda seems like it's always been there, but
again, I'm running 5.5 and I do not see the issue.
MySQL has a row size limit of 64Kb But BLOB and TEXT types do not count
towards
this limit.
My localhost uses mysql 5.6. and has no problem at all On the live server theres mysql 5.7 so i asked our hosting partner to install 5.6 (or 5.5p). I hope this resolves my issue. I'll keep you posted.

hi @cheatus
Changing mysql to version 5.6 solves the problem.

Hi @guyvanbael
Great, good to know :)

It would be nice though that the translations would be stored in a seperatetable
Yea, it would. Maybe @tractorcow will think about it :)

Have a good one,
Darek.

Hi @guyvanbael , do you think you could please show me the end of the error message? I can only see the failing SQl query. Thank you :)

@tractorcow Damn...I only have that screenshot left. Our hostingpartner changed the mysql version and now everything loads as it should.

@tractorcow I was hoping to be able to recreate the problem and make a screenshot of the end of error message. But i'm using mamp for my local development and this version uses mysql 5.6. I did a bit of research and apparantly it's not possible to switch between mysql versions like switching between php versions on mamp. I hope the issue can be resolved in another way.


br: remove metrics after task stopped

What is changed and how it works?

What's Changed:
remove checkpoint ts metric and task status metric after task stopped
Related changes

PR to update pingcap/docs/pingcap/docs-cn:
Need to cherry-pick to the release branch

Check List
Tests

Manual test (add detailed scripts or steps below)

start log backup
there are metrics appearing in grafana
stop log backup
metrics disappeared after stop operation

Side effects

Performance regression

Consumes more CPU
Consumes more MEM

Breaking backward compatibility

Release note
None

/cc @Yujuncen

link a issue or relative cherry-pick PR


Unauthenticated Request error when loading the Runtime Configurations - Publisher

Description:
When loading the Runtime Configuration section of the API by the publisher user, getting the Unauthenticated request error in UI
Steps to reproduce:

Create a user with the Internal/publisher user role.

Log into the publisher portal and select an API.

When navigating to the Runtime Configurations section of the selected API, we were able to see the unauthenticated Request error in the UI as below.

Furthermore, we were able to see the below warnings in the carbon logs.

[2021-07-13 21:11:00,287] ERROR - WebAppAuthenticatorImpl You cannot access API as scope validation failed
Affected Product Version:
3.2.0
Similar Issues
https://github.com/wso2/product-apim/issues/9177

Closing this issue since the public fix has been added via https://github.com/wso2/apim-apps/pull/60


converted 'vw' value should be conditional on "overflow" value for root element

Spec says:

The viewport-percentage lengths are relative to the size of the initial containing block. When the height or width of the initial containing block is changed, they are scaled accordingly. However, when the value of overflow on the root element is auto, any scroll bars are assumed not to exist. Note that the initial containing block’s size is affected by the presence of scrollbars on the viewport.

Scrollbars affecting viewport width is a serious gotcha. I don't see this logic currently implemented. Need to match spec here.

+1

I don't really understand the effect of the scrollbars of viewport to the initial containing block's size? Anyone could understand it for me? Appreciate your time.

@aFarkas Correct me if I'm wrong, but this looks like it's probably in 3.0 now?

Ping @aFarkas To see if this got into 2.3/2.4/3.0.

@aFarkas Correct me if I'm wrong, but this looks like it's probably in 3.0 now?

Bump; just double-checking this.

Yes, it is in 3.0


GuiProgressBar bug

I notice the progress bar was not working. The int to float help make it work.
raygui.h
if (state != GUI_STATE_DISABLED) progress.width = ((int)(value/(maxValue - minValue))*(float)(bounds.width - 2*GuiGetStyle(PROGRESSBAR, BORDER_WIDTH)));
if (state != GUI_STATE_DISABLED) progress.width = ((float)(value/(maxValue - minValue))*(float)(bounds.width - 2*GuiGetStyle(PROGRESSBAR, BORDER_WIDTH)));

@Lightnet Thanks! Reviewed!


Goto definition on other file

Hello,
Is it possible to have the goto definition feature (CTRL + click) available through file ? (Function is declared in other file).
Thank you ! :)

It is, you just need an extension that supports the language you're using. If it's JS/TS it should be built in.

That's the problem, i'm using Javascript. It works well in the same file but not if function is declared outside. I'm not alone in my team so we thought it was not implemented.

Please provide some example code or small example project that demonstrates this problem

Hello,
i found i know why it does not work. I try with direct import and it works. My code is this following :
class ApiController {
  constructor({
    apiService,
  }) {
    super();
    this.apiService = apiService;
  }

  async somthinng() {
    const response = await this.apiService.myAwesomeFunction();
  }
}

apiService parameter is an object from class ApiService and passed to ApiController at its initialization. I would like when i CTRL + click on myAwesomeFunction it opens ApiService file and focus the function but it can't because it "does not know" about which type is apiService, does know even what it is.
Is it a way to explain which class is it or add a feature to VSCode to detect this way and find the function in the good file ?
Thank you for your time,
Regards,

Yes, you need to add a jsdoc annotation that tells vs code what the type of apiService is. This could be something like:
class ApiController {
    /**
     * @param {{ apiService: MyOtherClass }} param0
     */
    constructor({
        apiService,
    }) {
        super();
        this.apiService = apiService;
    }

    async somthinng() {
        const response = await this.apiService.myAwesomeFunction();
    }
}


Preserve data

For this milestone we implemented :

On exit from your app save all the data (books, people, and rentals) into JSON files.
On startup of your app load all data from files.

Thank you and looking forward to your review!

Suspended until further additions.


LinearRegressor with OrdinaryLeastSquares

I see we can only choose between Gradient and Coordinate. I believe this is why the data I'm getting back isn't what I expect. If that's not the reason, please let me know, thanks!
For example, if I have the data
Grind, RoastLevel, Time
5.5, 5, 20
5.25, 5, 22

And I make RoastLevel and Time independent variables, and Grind dependent, I can get an expected prediction with Python using Sklearn out of the box.
data_minus_grind = []
grind_data = []
for row in floats:
    data_minus_grind.append(row[1:3])
    grind_data.append(row[0])

model = LinearRegression().fit(data_minus_grind, grind_data)
prediction_data = [[5,25]]
prediction = model.predict(prediction_data)

This prediction, trying to predict the Grind for the Time 25, I receive 4.875, which sounds about right. Grind should go down while Time goes up.
However, if I try to use this library, my slope is always in the wrong direction, with the two variables moving in the same direction for some reason.
If I try
final samples = DataFrame.fromRawCsv(rawCsvContent, headerExists: true);
const targetColName = "Grind";
final defaultRegressor = LinearRegressor(
    samples,
    targetColName
);
final dataToPredict = [
    // Roast level, time
    [ 5, 25.0 ]
];
final dataframeToPredict = DataFrame(dataToPredict, headerExists: false);
final prediction = regressor.predict(dataframeToPredict);

Then the result for Grind with a Time of 25.0 is 6.79. As I move up the time, Grind should decrease, but instead it increases. I've tried tweaking many of the parameters but haven't found a fix.
Thanks!

@WaylonBrown Thank you for creating the issue!
Yes, the problem is in the method which is used by LinearRegressor. As far as I understand, the ordinary least squares algorithm in sklearn is based on singular value decomposition, which gives different results. Apparently, I should consider adding something similar to the library :)

Awesome, thanks! I take it that implementation would take a while, in the meantime are there any parameters I can tweak with this library to get what I want? I'd like to use it if possible.

@WaylonBrown I'm afraid, there are no such parameters. Yes, it takes some time to implement something similar to sklearn, unfortunately.

@WaylonBrown Hi!
If it's still relevant for you - I added the closed-form solution of the linear regression problem (ml_algo version 16.3.0), now linear regression performs as it does in sklearn.
You can try the same code as you tried before:
final samples = DataFrame.fromRawCsv(rawCsvContent, headerExists: true);
const targetColName = "Grind";
final defaultRegressor = LinearRegressor(
    samples,
    targetColName
);
final dataToPredict = [
    // Roast level, time
    [ 5, 25.0 ]
];
final dataframeToPredict = DataFrame(dataToPredict, headerExists: false);
final prediction = regressor.predict(dataframeToPredict);

The prediction will be approzimately 5

That is very awesome of you to add the quick update, thank you gyrdym! I'll use it ASAP :)

@WaylonBrown you're welcome)!


Top nav search box returns nothing

Steps to reproduce:
Go to CC Search
Go to Lists or About
Use the search in the top right hand side to search for something
It goes to the search results page but there's nothing there
Not even a "this search returned 0 results message"
The thing I originally typed in the search is lot populated in the top search either.
So I fully quit my browser (firefox) and opened a new session.
Same results as above.

Hi I want to work on this issue can anyone please guide me in which file or section I should look for this.

I solved this bug, can I submit a PR?

@SingularReza absolutely!

@brenoferreira the test is failing and I couldn't get a solution for it. I think it has something to do with the action being in a mounted hook. Please check my PR

Fixed in #234